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 필드의 가능한 값은 다음과 같습니다:
|