Go to documentation repository
Previous page Next page
{VIDEOSOURCEID} − 3부 구성 소스 엔드포인트 ID의 첫 번째 두 부분 (비디오 카메라 목록 및 정보 가져오기 참조). 예: "SERVER1/DeviceIpint.1".
샘플 요청:
GET http://127.0.0.1:80/detectors/SERVER1/DeviceIpint.1
샘플 응답:
{
"detectors": [
{
"name": "hosts/SERVER1/AVDetector.1/EventSupplier",
"type": "SceneDescription"
},
{
"name": "hosts/SERVER1/AVDetector.12/EventSupplier",
"type": "NullAudioDetection"
}
]
}
Attention!
type 필드는 더 이상 사용되지 않습니다. 감지 도구에 대한 최신 정보를 얻으려면 /camera/list 요청을 사용하는 것이 좋습니다 (비디오 카메라 목록 및 정보 가져오기 참고).
type 매개변수의 사용 가능한 값:
| type | 검출 도구 |
|---|---|
SceneDescription | 장면 분석 검출 도구 |
| CrossOneLine | 라인 크로싱 |
| moveInZone | 영역 내 움직임 |
| StopInZone | 영역 내 정지 |
| ComeInZone | 영역 내 등장 |
| OutOfZone | 영역 내 사라짐 |
| LongInZone | 배회 |
| lostObject | 다중 객체 |
| LprDetector | 번호판 인식 |
| TvaFaceDetector | 얼굴 인식 |
| PeopleCounter | 방문자 카운터 |
| QueueDetector | 대기열 감지 |
FireDetector | 화재 감지 |
SmokeDetector | 연기 감지 |
| NeuroCounter | 신경망 카운팅 |
SceneChange | 위치 변화 |
QualityDegradation_v2 | 이미지 노이즈 감지 |
QualityDegradation | 품질 저하 |
BlurredDegradation | 흐린 이미지 감지 |
CompressedDegradation | 압축 아티팩트 감지 |
MotionDetection | 움직임 감지 |
NullAudioDetection | 신호 없음 |
SignalAudioDetection | 신호 |
NoiseAudioDetection | 노이즈 |
| PoseDetector | 자세 감지 |
| RecumbentDetector | 넘어짐 감지 |
| SitDownDetector | 앉은 사람 감지 |
| HandsUpDetector | 손 든 사람 감지 |
| WaterLevelDetector | 수위 감지 |
| HandRailDetector | 난간 잡기 감지 |
| PeopleCountDetectorBySkeleton | 사람 카운터 |
| PeopleDistanceDetector | 가까이 서 있는 사람 감지 |
| PoseMaskingDetector | 사람 마스킹 |
Attention!
ENDTIME과 BEGINTIME 구문은 아카이브 내용 가져오기 섹션에 설명되어 있습니다.
요청에서 ENDTIME이 BEGINTIME보다 작으면 응답의 이벤트는 시간이 오름차순으로 정렬됩니다.
ENDTIME이 BEGINTIME보다 크면 이벤트는 내림차순으로 정렬됩니다.
GET http://IP Address:port/prefix/archive/events/detectors/{HOSTNAME}/{ENDTIME}/{BEGINTIME}—특정 서버에서 검출 이벤트 가져오기
{HOSTNAME}—서버 이름 (서버 목록 가져오기 참조).
GET http://IP Address:port/prefix/archive/events/detectors/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME}—특정 카메라에서 검출 이벤트 가져오기
{VIDEOSOURCEID}—3부 구성 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예: "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
| 파라미터터 | 필수 | 설명 |
|---|---|---|
| limit | No | 응답에서 감지의 제한. 지정되지 않으면 기본값은 100입니다. |
| offset | No | 지정된 수만큼 결과가 오프셋됩니다. 예를 들어, offset=0으로 쿼리하여 100개의 결과를 반환했다면 다음 결과를 얻기 위해서는 offset=100으로 쿼리를 실행해야 합니다. 두 번째 쿼리가 250개의 결과를 반환했다면 다음 결과를 얻기 위해서는 offset=350으로 쿼리를 실행해야 합니다. 이와 같은 방식입니다. |
| type | No | 특정 감지 도구에서 감지 이벤트를 가져옵니다. type 매개변수의 값은 아래 표에 나와 있습니다. |
| join | No | join=1이면 응답에서 두 단계 이벤트가 병합되고, duration 매개변수가 이벤트 지속 시간에 해당하는 값으로 반환됩니다. join=0이면 응답에서 두 단계 이벤트가 병합되지 않습니다. |
| limit_to_archive | No | limit_to_archive=1 이면 응답은 접근 가능한 아카이브 부분에서만 이벤트를 반환합니다 (아카이브 접근 제한 구성 참조) |
| archive | No | 아카이브 목록을 가져오기 위한 요청에서 아카이브 이름을 지정해야 합니다(아카이브 내용 가져오기 참조) |
| detector | No | Axxon One 2.0부터 특정 검출 도구에서 감지 이벤트를 가져올 수 있으며 detector 매개변수의 값은 아래 표에 나와 있습니다. |
샘플 요청:
Attention!
첫 번째 요청에서는 past/future 매개변수를 사용하는 것이 좋습니다. 이후에는 가장 최근 기록의 타임스탬프를 얻어 이를 사용하여 후속 기록을 요청해야 합니다. 이후 요청에서 past/future 매개변수와 limit, offset 매개변수를 함께 사용하면 중복된 기록이 반환될 수 있습니다.
샘플 응답:
1) join=1
{
"events": [
{
"duration": "000000.467000",
"id": "09b8729a-a6fc-4ffa-8a83-aebc5c19d171",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.20831976890563964",
"index": "0",
"left": "0.57320795059204099",
"right": "0.6804207420349121",
"top": "0.09125151634216308"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T112815.527000",
"type": "moveInZone"
},
{
"duration": "000004.154000",
"id": "90c5d09e-c0bb-4c49-bf8b-22d3afffe8c1",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.72451157569885249",
"index": "0",
"left": "0.092941055297851571",
"right": "0.24284084320068361",
"top": "0.4965816402435303"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T112814.426000",
"type": "moveInZone"
},
{
"duration": "000005.155000",
"id": "dc953fad-bb08-4bae-bdce-62a09ab2dbd9",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.37916545867919921",
"index": "0",
"left": "0.10621988296508789",
"right": "0.2311831474304199",
"top": "0.11115360260009766"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T112814.293000",
"type": "moveInZone"
},
{
"duration": "000003.170000",
"id": "f00875f0-bad7-4e74-879c-0a564baa9d36",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.2848846626281738",
"index": "0",
"left": "0.11811468601226806",
"right": "0.18662774562835693",
"top": "0.11245393753051756"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T112813.358000",
"type": "moveInZone"
}
],
"more": true
}
2) join=0
{
"events": [
{
"alertState": "ended",
"id": "cd3571bb-73c1-45cb-8965-a01e167836db",
"multiPhaseSyncId": "6d72973d-7188-4fa7-9bf9-e3ba6013f2e3",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125142.417000",
"type": "moveInZone"
},
{
"alertState": "began",
"id": "310ce582-5f0d-4c27-a1d5-b14ccc5a877d",
"multiPhaseSyncId": "6d72973d-7188-4fa7-9bf9-e3ba6013f2e3",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.46943313598632813",
"index": "0",
"left": "0.14642228603363036",
"right": "0.23025640964508054",
"top": "0.027766456604003897"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125142.200000",
"type": "moveInZone"
},
{
"alertState": "began",
"id": "aa193bbc-89e8-4204-8805-ac8c915b323c",
"multiPhaseSyncId": "807248bf-4cee-431e-a29f-18ee0ed911ce",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.36835212707519532",
"index": "0",
"left": "0.072501201629638662",
"right": "0.19335731506347656",
"top": "0.03212909698486327"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125141.966000",
"type": "moveInZone"
},
{
"alertState": "ended",
"id": "5b15234d-2a7f-415f-af57-2ac1ce5aa75a",
"multiPhaseSyncId": "17fca913-f7a3-4f29-997f-d02a575d9fc4",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125136.978000",
"type": "moveInZone"
},
{
"alertState": "ended",
"id": "48882f92-a809-424c-b7a7-55ac56b05061",
"multiPhaseSyncId": "8bb9edbe-4391-4c26-8c7a-7faf620a62eb",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125136.661000",
"type": "moveInZone"
},
{
"alertState": "ended",
"id": "6e98f979-c4f4-4c78-bbf4-6fc268219d79",
"multiPhaseSyncId": "92534e2f-0f88-4698-a1a2-4e70d10cb00a",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125136.477000",
"type": "moveInZone"
},
{
"alertState": "ended",
"id": "c9dff8bc-423b-414b-8dee-0a0b119a43df",
"multiPhaseSyncId": "c8785151-f344-4c21-88de-6c339139afdf",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125135.843000",
"type": "moveInZone"
},
{
"alertState": "ended",
"id": "db1f1147-ed50-46ff-84b7-8f06676d8f8e",
"multiPhaseSyncId": "7eceb0b4-c04d-4e17-a405-3aff419fd94a",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125135.677000",
"type": "moveInZone"
},
{
"alertState": "began",
"id": "f9ccceda-9e16-4832-9f1f-1270fd0be365",
"multiPhaseSyncId": "17fca913-f7a3-4f29-997f-d02a575d9fc4",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.30296741485595702",
"index": "0",
"left": "0.14849423646926879",
"right": "0.21262614011764525",
"top": "0.092105445861816404"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125135.677000",
"type": "moveInZone"
},
{
"alertState": "began",
"id": "87ca4e1e-4a8c-433a-8b67-6e73f65fa0e2",
"multiPhaseSyncId": "7eceb0b4-c04d-4e17-a405-3aff419fd94a",
"origin": "hosts/Server1/AppDataDetector.1/EventSupplier",
"rectangles": [
{
"bottom": "0.22597263336181642",
"index": "0",
"left": "0.080717468261718744",
"right": "0.19577339172363281",
"top": "0.014194698333740235"
}
],
"source": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp": "20190618T125134.909000",
"type": "moveInZone"
}
],
"more": true
}
Attention!
기본적으로 요청 타임아웃은 10초입니다.
서버가 10초 이내에 모든 이벤트(수량은 limit 매개변수에 설정됨)를 반환하지 못하면, 응답은 다음과 같습니다:
{
"events": [],
"more": false
}
이 경우, 요청을 반복하고 limit 매개변수의 값을 줄여야 합니다.
Note
multiPhaseSyncId 매개변수는 alertState 매개변수가 있는 이중 단계 알람에 대해서만 응답에 포함됩니다.
timestamp 필드는 고유하지 않으므로 검색 간격부터 시작하여 이전에 수신한 알람을 건너뛰어야 할 수 있습니다.
대기열 감지 도구 트리거링을 요청할 때, 응답에는 최소값과 최대값으로 표현된 큐 길이 추정값을 포함하는 추가 매개변수가 포함됩니다.
{
"alertState": "happened",
"extra": [
{
"queueMax": "4"
},
{
"queueMin": "4"
}
],
"id": "b17129b2-1588-794b-94f6-d078a226efb2",
"origin": "hosts/Server1/AVDetector.4/EventSupplier",
"rectangles": [],
"source": "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0",
"timestamp": "20181206T075621.621000",
"type": "QueueDetected"
}
}
번호판 인식에서 감지 결과를 요청할 때, 응답에는 인식된 번호판을 유니코드 형식으로 포함하는 추가 plate 매개변수가 포함됩니다.
"alertState" : "happened",
"id" : "f1f334a3-3fb3-4770-80bf-c6519240b5cf",
"origin" : "hosts/Server1/AVDetector.1/EventSupplier",
"plate" : "\u0045\u0041\u0033",
"rectangles" :
[
{
"bottom" : 0.70833333333333337,
"index" : 0,
"left" : 0.4597222222222222,
"right" : 0.67222222222222228,
"top" : 0.64409722222222221
}
],
"source" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
"timestamp" : "20230725T140945.208000",
"type" : "plateRecognized"
}
type 매개변수의 가능한 값들:
| 검출 도구 | type |
|---|---|
| Scene Analytics detection tools | – |
| Line crossing | oneLine |
| Motion in area | moveInZone |
| Stop in area | stopInZone |
| Appearance in area | comeInZone |
| Disappearance in area | outOfZone |
| Loitering | longInZone |
| Multiple objects | lostObject |
| Number Plate Recognition | plateRecognized |
| Number Plate Recognition (from the list) | listed_lpr_detected |
| Face detection | faceAppeared |
| Face detection (from the list) | listed_face_detected |
| Visitors counter | PeopleIn, PeopleOut |
| Queue detection | QueueDetected |
| Fire detection | FireDetected |
| Smoke detection | SmokeDetected |
| Neural counting | lotsObjects |
| Position change | SceneChangeDetected |
| Image Noise Detection | CameraBlindDetected |
| Loss of quality | ImageDegradation |
| Blurred Image Detection | BlurredDegradation |
| Compression Artifacts Detection | CompressedDegradation |
| Motion detection | MotionDetected |
| No signal | NullAudio |
| Signal | SignalAudio |
| Noise | NoiseAudio |
| Pose detection | – |
| Man down detection | recumbent |
| Sitting person detection | sitDown |
| Hands up detection | handsUp |
| Water level detection | LevelOut |
| Handrail holding detection | handRail |
| People counter | lotsObjects |
| Close-standing people detection | peopleDistance |
| People masking | enabledMaskEvents |
detector 매개변수의 가능한 값들:
detector | 검출 도구 |
|---|---|
| SceneDescription | Scene Analytics detection tools |
| CrossOneLine | Line crossing |
| moveInZone | Motion in area |
| StopInZone | Stop in area |
| ComeInZone | Appearance in area |
| OutOfZone | Disappearance in area |
| LongInZone | Loitering |
| lostObject | Multiple objects |
| LprDetector | Number Plate Recognition |
| TvaFaceDetector | Face detection |
| PeopleCounter | Visitors counter |
| QueueDetector | Queue detection |
| FireDetector | Fire detection |
| SmokeDetector | Smoke detection |
| NeuroCounter | Neural counting |
| SceneChange | Position change |
| QualityDegradation | Loss of quality |
| QualityDegradation_v2 | Image Noise Detection |
| BlurredDegradation | Blurred Image Detection |
| CompressedDegradation | Compression Artifacts Detection |
| MotionDetection | Motion detection |
| NullAudioDetection | No signal |
| SignalAudioDetection | Signal |
| NoiseAudioDetection | Noise |
| PoseDetector | Pose detection |
| RecumbentDetector | Man down detection |
| SitDownDetector | Sitting person detection |
| HandsUpDetector | Hands up detection |
| ActiveShooterDetector | Shooter detection |
| WaterLevelDetector | Water level detection |
| HandRailDetector | Handrail holding detection |
| PeopleCountDetectorBySkeleton | People counter |
| PeopleDistanceDetector | Close-standing people detection |
| PoseMaskingDetector | People masking |
Attention!
{HOSTNAME} − 서버 이름
Note
ENDTIME과 BEGINTIME 구문은 Get MM archive contents 섹션에 설명되어 있습니다.
Attention!
요청에서 ENDTIME < BEGINTIME 일 경우, 응답의 이벤트는 시간 순으로 오름차순 정렬됩니다.
ENDTIME > BEGINTIME 일 경우, 이벤트는 내림차순으로 정렬됩니다.
| 파라미터 | 필수 | 설명 |
|---|---|---|
filter | No | 다음은 <-> <:> 로 구분된 범위 또는 간단한 코드로 모두 표현할 수 있는 이벤트 목록입니다. 이벤트 유형 목록: 1 − 이벤트 로그에 표시되지 않음 |
샘플 요청:
GET http://127.0.0.1:80/audit/SERVER1/past/future?filter=17-20,6,1:4
샘플 응답:
{
"events": [
{
"data": {
"component": "Camera3",
"componentType": "camera",
"device": "Camera3",
"host": "SERVER1",
"property": "vstream-virtual/folder",
"setting": "Directory",
"value": "D:/Movies/Spirit"
},
"eventType": 17,
"timestamp": "20161205T120410.698000"
},
{
"data": {
"detector": "Face detection",
"device": "Camera1",
"host": "SERVER1"
},
"eventType": 18,
"timestamp": "20161205T120459.319000"
}
]
}
Note
ENDTIME과 BEGINTIME 구문은 아카이브 내용 가져오기 섹션에 설명되어 있습니다.
Attention!
요청에서 ENDTIME이 BEGINTIME보다 작으면, 응답의 이벤트는 시간 순으로 오름차순 정렬됩니다.
ENDTIME이 BEGINTIME보다 크면, 이벤트는 내림차순으로 정렬됩니다.
GET http://IPaddress:port/prefix/archive/events/alerts/{HOSTNAME}/{ENDTIME}/{BEGINTIME} − 특정 서버에서 알람을 가져오기
{HOSTNAME} − 서버 이름 (서버 목록 가져오기 참조)
GET http://IPaddress:port/prefix/archive/events/alerts/{VIDEOSOURCEID}/{ENDTIME}/{BEGINTIME} − 특정 카메라에서 알람을 가져오기
{VIDEOSOURCEID} − 세 구성 요소 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예: "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
| 파라미터 | 필수 | 설명 |
|---|---|---|
| limit | No | 응답에서 알람의 제한. 지정하지 않으면 기본값은 100입니다. |
| offset | No | 지정된 숫자만큼 결과가 오프셋됩니다. 예를 들어, offset=0인 쿼리가 100개의 결과를 반환했다면, 다음 결과를 얻으려면 offset=100으로 쿼리를 실행해야 합니다. 만약 두 번째 쿼리가 250개의 결과를 반환했다면, 다음 결과를 얻으려면 offset=350으로 쿼리를 실행해야 합니다. 계속해서 같은 방식으로 진행됩니다. |
| limit_to_archive | No | limit_to_archive=1 경우, 응답은 접근 가능한 아카이브 부분에서만 이벤트를 반환합니다 (아카이브 접근 제한 구성 참조). |
| archive | No | 아카이브 목록을 받기 위한 요청에서 아카이브의 이름을 지정합니다 (아카이브 내용 가져오기 참조). |
샘플 요청:
GET http://127.0.0.1:80/archive/events/alerts/Server1/past/future?limit=50&offset=0
샘플 응답:
{
"events": [
{
"type": "alert",
"id": "2bb7f765-eb57-604d-a38c-d1d26d22e4d9",
"raisedAt": "20181219T151437.312808",
"zone": "hosts/DESKTOP-O0P0IBQ/DeviceIpint.1/SourceEndpoint.video:0:0",
"reasons": [
"ruleAlert",
"videoDetector"
],
"initiator": "faceAppeared",
"reaction": {
"user": "",
"reactedAt": "20181219T151937.342036",
"severity": "unclassified"
},
"detectorName": "1.Face detection",
"rectangles": [
{
"index": "47",
"left": "0,85343749999999996",
"top": "0,37958333333333333",
"right": "1",
"bottom": "0,58083333333333331"
}
]
},
{
"type": "alert",
"id": "03c0d49f-5475-684e-a622-2aaeac303508",
"raisedAt": "20181219T151005.933417",
"zone": "hosts/DESKTOP-O0P0IBQ/DeviceIpint.1/SourceEndpoint.video:0:0",
"reasons": [
"ruleAlert",
"videoDetector"
],
"initiator": "faceAppeared",
"reaction": {
"user": "root",
"reactedAt": "20181219T151013.109256",
"severity": "alarm"
},
"detectorName": "1.Face detection",
"rectangles": [
{
"index": "9",
"left": "0,83406249999999993",
"top": "0,36416666666666664",
"right": "1",
"bottom": "0,58583333333333332"
}
]
},
{
"type": "alert",
"id": "6d396f93-4acf-c54b-a26e-c1ab178bdb06",
"raisedAt": "20181219T150911.101417",
"zone": "hosts/DESKTOP-O0P0IBQ/DeviceIpint.1/SourceEndpoint.video:0:0",
"reasons": [
"userAlert"
],
"initiator": "root",
"reaction": {
"user": "root",
"reactedAt": "20181219T150916.264631",
"severity": "alarm"
},
"detectorName": "",
"rectangles": []
}
],
"more": false
}
| 파라미터 | 설명 |
|---|---|
| raisedAt | raisedAt 필드는 고유하지 않으므로 검색 간격부터 이전에 수신한 알람을 건너뛰어야 할 수 있습니다. |
| reasons | reasons 배열의 가능한 값은 다음과 같습니다: armed, disarmed, userAlert, ruleAlert, videoDetector, audioDetector, ray. |
| severity | severity 필드의 가능한 값은 다음과 같습니다: unclassified, false, notice, warning, alarm. |
| initiator | initiator 필드의 가능한 값은 다음과 같습니다:
|