Go to documentation repository
Previous page Next page
고유 식별자는 아카이브된 비디오에서 마지막 프레임 정보를 가져오거나 아카이브된 스트림을 제어하는 데 사용됩니다.
응답 예시:
{ "uuid": "2736652d-af5f-4107-a772-a9d78dfaa27e" }
GET http://IP-address:port/prefix/hosts/
요청 예시:
GET http://127.0.0.1:80/hosts/
응답 예시:
[ "SERVER1", "SERVER2" ]
GET http://IP-address:port/prefix/hosts/{NODENAME}
{NODENAME} − Server or node name on which you need to get the information.
요청 예시:
GET http://127.0.0.1:80/hosts/NODE2
응답 예시:
{ "nodeName": "NODE2", "domainInfo": { "domainName": "c79912ff-bb42-431c-9b2e-3adb14966f43", "domainFriendlyName": "Default" }, "platformInfo": { "hostName": "SERVER2", "machine": "x64 6", "os": "Win32" }, "licenseStatus": "OK", "timeZone": 240, "nodes": [ "NODE1", "NODE2" ] }
파라미터 | 설명 |
---|---|
nodeName | 서버/노드 이름 |
domainName | Axxon 도메인 ID |
domainFriendlyName | Axxon 도메인 이름 |
hostName | 호스트 이름 |
machine | 서버 아키텍처 |
os | OS |
licenseStatus | 라이선스 유형 |
timeZone | 시간대(분 단위) (이 예시에서는 GMT+4) |
nodes | Axxon 도메인 노드 목록 |
GET http://IP-address:port/prefix/statistics/hardware – 특정 서버의 네트워크 및 CPU 사용 정보 가져오기
GET http://IP-address:port/prefix/statistics/hardware/domain – Axxon 도메인 내 모든 서버의 네트워크 및 CPU 사용 정보 가져오기
요청 예시:
GET http://127.0.0.1:80/statistics/hardware
응답 예시:
[ { "drives": [ { "capacity": 523920994304, "freeSpace": 203887943680, "name": "C:\\" }, { "capacity": 475912990720, "freeSpace": 148696813568, "name": "D:\\" }, { "capacity": 0, "freeSpace": 0, "name": "E:\\" } ], "name": "SERVER1", "netMaxUsage": "0,0062719999999999998", "totalCPU": "16,978111368301985" } ]
요청 예시:
GET http://127.0.0.1:80/product/version
응답 예시:
{ "version": "Axxon One 1.0.2.25" }
요청 예시:
GET http://127.0.0.1:80/statistics/webserver
응답 예시:
{ "now": "20200601T115707.888290", "requests": 3, "requestsPerSecond": 0, "bytesOut": 134, "bytesOutPerSecond": 0, "streams": 0, "uptime": 349290 }
반환된 VIDEOSOURCEID 식별자는 다음과 같은 형식으로 제공됩니다: "HOSTNAME/ObjectType.Id/Endpoint.Name". 또한 친숙한 이름 및 관련된 다른 메타데이터도 함께 반환됩니다.
파라미터 | 필수 | 설명 |
---|---|---|
limit | No | 반환되는 결과의 최대 수를 결정합니다. 기본값은 1000입니다. |
next_page | No | 요청이 모든 결과를 반환하지 않을 경우 응답에 포함되는 nextPageToken 파라미터의 값입니다. 이는 다음 값을 가져오는 데 사용됩니다. |
filter | No | 필터에 따라 결과의 하위 집합을 가져올 수 있습니다. 현재, 필터 값으로는 HOSTNAME 또는 VIDEOSOURCEID를 사용할 수 있습니다. Attention! 서버 이름으로 "Office"가 지정되면 GET http://IP-address:port/prefix/camera/list?filter=Office 요청은 Office 서버의 모든 비디오 카메라를 반환합니다. |
group_ids | No | 카메라가 속해야 하는 그룹 식별자의 목록 (그룹 목록 및 내용 가져오기 참조). 여러 식별자를 구분 기호 "|"를 사용하여 지정할 수 있습니다. 예를 들어: http://localhost:80/camera/list?group_ids=6af92229-43ff-0347-9dae-081bf9835733|b48111eb-64c5-294c-a69c-4adb07c954d1 이 경우, 응답에는 지정된 그룹 중 적어도 하나에 속하는 모든 카메라가 포함됩니다. |
요청 예시:
GET http://127.0.0.1:80/camera/list?filter=Server1
응답 예시:
{ "cameras" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", "archives" : [], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.audio:0", "isActivated" : false } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [], "displayId" : "1", "displayName" : "Street", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "0", "longitude" : "0", "model" : "TestDevice", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/TelemetryControl.0", "areaZoom" : false, "focus" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "iris" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "is_active" : true, "move" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "pointMove" : false, "zoom" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false } } ], "rays" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:0", "displayId" : "1.0.0", "displayName" : "Ray", "enabled" : true, "isActivated" : true }, { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:1", "displayId" : "1.0.1", "displayName" : "Ray", "enabled" : true, "isActivated" : true } ], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0" } ] }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "archives" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "default" : false, "incomplete" : false, "isEmbedded" : false, "storage" : "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage", "storageDisplayName" : "AliceBlue" } ], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.audio:0", "isActivated" : true } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [ { "accessPoint" : "hosts/Server1/AVDetector.1/EventSupplier", "displayName" : "Face detection", "events" : [ "TargetList", "faceAppeared" ], "isActivated" : false, "parentDetector" : "", "type" : "TvaFaceDetector" } ], "displayId" : "2", "displayName" : "Hall", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "78.2379", "longitude" : "15.4466", "model" : "Virtual several streams", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [], "rays" : [], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0" }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:1" } ] } ], "search_meta_data" : [ { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 }, { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 } ] }
파라미터 | 파라미터 설명 |
---|---|
archives | 카메라가 연결된 아카이브 목록 |
audioStreams | 오디오 스트림 |
comment | 코멘트 |
camera_access | 카메라에 대한 접근 권한, 구체적으로:
|
detectors | 생성된 검출 도구 목록 |
displayId | 친숙한 이름 |
displayName | 이름 |
groups | 카메라가 속한 그룹 목록 |
ipAddress | IP 주소 |
isActivated | True—객체가 활성화됨, False—객체가 비활성화됨 |
azimuth, latitude, longitude | 카메라의 좌표. 서버의 지역화에 따라 파라미터 값은 마침표 또는 쉼표로 구분될 수 있음 |
model | 모델 |
ptzs | PTZ 장치
|
textSources | 이벤트 소스 |
vendor | 벤더 |
videoStreams | 비디오 스트림 |
rays | 레이(Rays) |
일반적인 경우:
RTSP:
HTTP를 통한 RTSP 터널링:
{VIDEOSOURCEID} – 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
파라미터 | 필수 | 설명 |
---|---|---|
w h | No | w – 프레임 너비, h – 프레임 높이 Note 만약 h와 w 값이 원본 프레임의 크기보다 크다면, 프레임은 원본 크기로 수신됩니다. 너비와 높이를 축소하는 것은 2배, 4배, 8배 등으로만 가능합니다. 지정된 크기가 원본 프레임 크기의 1/2, 1/4 등과 일치하지 않으면, 지정된 값에 가까운 원본 프레임 크기로 나누어 떨어지는 크기로 프레임이 수신됩니다. |
crop_x crop_y crop_width crop_height | No | crop_x – 왼쪽 상단 코너로부터의 수평 들여쓰기. 가능한 값은 0에서 1까지이며, 기본값은 0입니다. crop_y – 왼쪽 상단 코너로부터의 수직 들여쓰기. 가능한 값은 0에서 1까지이며 기본값은 0입니다. crop_width – 원본 이미지 너비의 비율. 가능한 값은 0에서 1까지이며 기본값은 1입니다. crop_height – 원본 이미지 높이의 비율. 가능한 값은 0에서 1까지이며 기본값은 1입니다. |
Note
기본적으로 스냅샷 업데이트 주기는 30초입니다. 이 값을 변경하려면 NGP_SNAPSHOT_TIMEOUT 시스템 변수를 생성하고 필요한 값을 밀리초 단위로 설정해야 합니다. (부록 9. 시스템 변수 생성 참조).
요청 예시:
원본 해상도로 스냅샷을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0.
640*480 해상도로 스냅샷을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480.
스냅샷의 오른쪽 하단 부분을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.
640*480 해상도로 스냅샷의 오른쪽 하단 부분을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.
GET http://IP-Address:port/prefix/group
요청 예시:
GET http://127.0.0.1:80/group
응답 예시:
{ "groups" : [ { "Brief" : "Group1", "Description" : "", "Id" : "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "groups" : [ { "Brief" : "Group2", "Description" : "", "Id" : "dac24803-313c-43ab-aa9a-276922a55cb6", "groups" : [] }, { "Brief" : "Group3", "Description" : "", "Id" : "13764152-6910-44b6-99b5-f74641ad4a14", "groups" : [ { "Brief" : "Group4", "Description" : "Group4", "Id" : "9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f", "groups" : [] } ] } ] } ] }
GET http://IP-Address:port/prefix/group/{GROUPID}.
GROUPID – 이전 요청을 사용하여 받은 Id 필드의 값입니다.
요청 예시:
GET http://127.0.0.1:80/group/9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f
응답 예시:
{ "members" : [ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0" ] }
GET http://IP-Address:port/prefix/group/contains/{VIDEOSOURCEID}
{VIDEOSOURCEID} – 세 부분으로 이루어진 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
요청 예시:
GET http://127.0.0.1:80/group/contains/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0
응답 예시:
{ "groups" : [ "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "13764152-6910-44b6-99b5-f74641ad4a14", "dac24803-313c-43ab-aa9a-276922a55cb6" ] }
{VIDEOSOURCEID} − 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
여러 카메라에 대한 통계: POST http://IP-Address:port/prefix/statistics/ + 요청 본문은 다음 형식으로 작성됩니다.
[ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0", "hosts/SERVER1/DeviceIpint.2/SourceEndpoint.video:0:0" ]
파라미터 | 필수 | 설명 |
---|---|---|
waterlevel | No | waterlevel = 1 − 응답에는 카메라에 대해 수위 감지가 설정된 경우 현재 수위 값이 포함됩니다 (수위 검출 설정 참조). |
요청 예시:
GET http://127.0.0.1:80/statistics/Server1/DeviceIpint.1/SourceEndpoint.video:0:0
응답 예시:
{ "bitrate": 592831, "fps": 2.278942490e+01, "width": 1280, "height": 720, "mediaType": 2, "streamType": 877088845 }
GET http://IPaddress:port/prefix/archive/list/{VIDEOSOURCEID}
{VIDEOSOURCEID} − 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
요청 예시:
GET http://127.0.0.1:80/archive/list/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0
응답 예시:
{ "archives" : [ { "default" : true, "name" : "hosts/SERVER1/MultimediaStorage.AliceBlue/MultimediaStorage" }, { "default" : false, "name" : "hosts/SERVER1/MultimediaStorage.AntiqueWhite/MultimediaStorage" } ] }
파라미터 | 설명 |
---|---|
default | true − 기본 아카이브입니다. false – 기본 아카이브가 아닙니다. |
name | 아카이브 이름 |
GET http://IPaddress:port/prefix/archive/contents/intervals/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME} – BEGINTIME에서 시작하여 ENDTIME에서 끝나는 아카이브 내용 가져오기
{VIDEOSOURCEID} – 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
BEGINTIME이 지정되지 않으면 무한 미래로 간주됩니다. ENDTIME이 지정되지 않으면 무한 과거로 간주됩니다. "past"와 "future"라는 단어를 사용하여 무한 과거와 무한 미래를 설정할 수도 있습니다.
간격 시퀀스는 지정된 BEGINTIME과 ENDTIME 사이의 비율에 해당합니다 (BEGINTIME<ENDTIME이면 오름차순, ENDTIME<BEGINTIME이면 내림차순). 간격의 시작과 끝 지점은 일반적인 순서로 반환됩니다. 즉, 간격 시작 시간이 간격 끝 시간보다 작거나 같아야 합니다.
시간은 YYYYMMDDTHHMMSS 형식으로 설정되며 UTC+0 시간대에 맞추어야 합니다.
파라미터 | 필수 | 설명 |
---|---|---|
limit | No | 응답에 포함될 간격의 수. 기본값은 100입니다. |
scale | No | 두 간격이 서로 다른 간격으로 처리되기 위한 최소 시간 간격(병합되지 않음), 기본값은 0입니다. |
archive | No | 간격을 가져올 아카이브의 이름입니다. 지정하지 않으면 기본 아카이브에서 간격이 가져옵니다. |
요청 예시:
GET http://127.0.0.1:80/archive/contents/intervals/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0/past/future
응답 예시:
{ "intervals": [ { "begin": "20200512T105111.089000", "end": "20200521T121106.032000" }, { "begin": "20200430T052909.842000", "end": "20200430T063733.242000" } ], "more": true }
파라미터 | 설명 |
---|---|
intervals | 간격을 포함하는 배열 Note 시간은 UTC 형식으로 반환됩니다. |
more | true – 서버가 제한(limit 매개변수)을 초과하여 모든 간격을 반환하지 않았습니다. false – 서버가 지정된 시간 간격에서 모든 간격을 반환했습니다. |
GET http://IP address:port/prefix/archive/statistics/depth/{VIDEOSOURCEID}—아카이브 깊이에 대한 정보를 가져옵니다.
{VIDEOSOURCEID}—세 가지 구성 요소로 된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
파라미터 | 필수 | 설명 |
---|---|---|
archive | No | 요청에서 아카이브 목록을 가져오는 데 사용된 아카이브의 이름 (아카이브 내용 가져오기 참조). 지정되지 않으면 기본 아카이브가 사용됩니다. |
threshold | No | 아카이브에 기록된 레코드 간의 최대 간격 기간. 레코드 간의 간격이 임계값(threshold) 파라미터 값을 초과하면 레코드는 분리된 것으로 간주되며 새 간격이 형성됩니다. 임계값(threshold) 파라미터는 일(day) 단위로 설정되며, 기본값은 1일입니다. |
샘플 요청 1:
GET http://127.0.0.1:80/archive/statistics/depth/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0
샘플 응답:
{ "start": "20160823T141333.778000" ,"end": "20160824T065142" }
샘플 요청 2:
GET http://127.0.0.1:80/archive/statistics/depth/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0?archive=hosts/SERVER1/MultimediaStorage.AliceBlue/MultimediaStorage
샘플 응답:
{ "start": "20210910T070448.179000" ,"end": "20210910T072838" }
파라미터 | 설명 |
---|---|
start | 간격 의 시작 시간 |
end | 간격의 끝 시간 |
샘플 요청 3:
{ "start": "20230506T125443.056000" ,"end": "20230804T065741.643000" }
GET http://IP address:port/prefix/archive/statistics/capacity/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME}—BEGINTIME에서 ENDTIME까지 특정 카메라 아카이브의 녹화 용량에 대한 정보를 가져옵니다.
Note
ENDTIME과 BEGINTIME 구문은 아카이브 내용 가져오기에서 설명된 대로입니다.
파라미터 | 필수 | 설명 |
---|---|---|
archive | No | GET 요청을 통해 아카이브 목록을 가져올 때 사용된 아카이브 이름 (아카이브 내용 가져오기 참조). 지정하지 않으면 기본 아카이브가 사용됩니다. |
샘플 요청:
GET http://127.0.0.1:80/archive/statistics/capacity/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0/past/future?archive=hosts/SERVER1/MultimediaStorage.AntiqueWhite/MultimediaStorage
샘플 응답:
{ "size": 520093696 ,"duration": 32345 }
파라미터 | 설명 |
---|---|
size | 지정된 기간 내 아카이브 크기 (바이트 단위) |
duration | 지정된 기간 내 아카이브 지속 시간 (초 단위) Attention! 정확한 값을 계산하는 것이 고성능 프로세스이므로 값은 대략적으로 계산되며 오차 범위는 몇 퍼센트일 수 있습니다. |
{HOSTNAME} − 서버 이름
Note
NDTIME과 BEGINTIME 구문은 Get MM archive contents 섹션에 설명되어 있습니다.
파라미터 | 필수 | 설명 |
---|---|---|
archive | No | 아카이브 목록을 가져오기 위한 요청에서 아카이브 이름 (아카이브 내용 가져오기 참조). |
health | No | 0 − 아카이브 손상 있음, 1 − 아카이브 손상 없음 |
Important!
요청에 아카이브 또는 상태 파라미터가 포함되지 않은 경우, 응답에는 이들 파라미터의 모든 값이 포함됩니다.
샘플 요청:
GET http://127.0.0.1:80/archive/health/SERVER/past/future?archive=hosts/SERVER/MultimediaStorage.AliceBlue/MultimediaStorage&health=0
샘플 응답:
{ "events" : [ { "data" : { "archive" : "D:/archiveAliceBlue.afs", "health" : 0 }, "timestamp" : "20180907T101637.361014" }, { "data" : { "archive" : "D:/archiveAliceBlue.afs", "health" : 0 }, "timestamp" : "20180907T102726.750134" } ] }
여기서,
timestamp − 아카이브 손상 탐지 시간 (UTC +0)