Перейти в хранилище документации
Обратиться в техническую поддержку
Для получения событий от видеокамер через WebSocket необходимо:
Подключиться к ws://[имя_пользователя]:[пароль]@[IP-адрес]:[порт]/[префикс]/events.
Отправить команду на подписку об оповещении о событиях с указанных видеокамер (см. Получение списка устройств телеметрии для источника видео) в формате JSON. Данная подписка позволяет получать все события, приведенные ниже в таблице.
{ "include": ["hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", "hosts/Server1/DeviceIpint.6/SourceEndpoint.video:0:0"], "exclude":[] }
include – оформить подписку;
exclude – исключить из оповещения.
В ответе будет JSON следующего вида:
{ objecs: [ {type: "devicestatechanged", name: "hosts/Server1/DeviceIpint.1", state: "signal restored"} ] }
Список типов событий и состояний видеокамеры:
Тип события | Описание | Состояния |
---|---|---|
devicestatechanged | Состояние видеокамеры | signal restored – подключен, сигнал восстановлен signal lost – сигнал потерян |
alert | Тревога | Нет состояний |
alert_state | Состояние тревоги | processing – тревога взята в обработку |
detector_event | Сработка детектора | Нет состояний |
camera_record_state | Состояние записи в архив | on – по видеокамере идет запись в архив off – видеокамера не привязана к архиву gray – видеокамера привязана к архиву, но запись не ведется |
Примечание
Если видеокамера отключена в ПК Интеллект X, то события через WebSocket от нее не поступают, в том числе событие signal lost.
Пример сообщения:
objects: [{name: "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", state: "signal restored",…},…] 0: {name: "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", state: "signal restored",…} name: "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0" state: "signal restored" type: "devicestatechanged"
Пример запроса получения событий через Web-Socket:
ws://root:root@localhost/events?schema=proto
Параметр | Описание |
---|---|
schema | schema=proto – получение развернутого ответа |
Пример полного ответа:
{ "objects": [ { "body": { "@type": "type.googleapis.com/axxonsoft.bl.events.DetectorEvent", "details": [ { "autoRecognitionResultEx": { "direction": { "value": "Outgoing" }, "headlightsStatus": { "value": "Disabled" }, "hypotheses": [ { "country": "Denmark", "ocrQuality": 99, "plateFull": "CJ97139", "plateRectangle": { "h": 0.03703703703703709, "w": 0.067708333333333315, "x": 0.31302083333333336, "y": 0.96296296296296291 }, "plateState": "NA", "timeBest": "20230623T124816.295000" } ], "plateType": { "value": "EUnitedNations" }, "timeBegin": "2023-06-23T12:48:16.295Z", "timeEnd": "2023-06-23T12:48:16.295Z", "vehicleBrand": { "value": "Mercedes Benz" }, "vehicleClass": { "value": "Car" }, "vehicleColor": { "value": "Gray" }, "vehicleModel": { "value": "GLS Klasse" } } }, { "autoRecognitionResult": { "direction": "Outgoing", "headlightsStatus": "Disabled", "hypotheses": [ { "country": "Denmark", "ocrQuality": 99, "plateFull": "CJ97139", "plateRectangle": { "h": 0.03703703703703709, "w": 0.067708333333333315, "x": 0.31302083333333336, "y": 0.96296296296296291 }, "plateState": "NA", "timeBest": "20230623T124816.295000" } ], "plateType": "EUnitedNations", "timeBegin": "20230623T124816.295000", "timeEnd": "20230623T124816.295000", "vehicleBrand": "Mercedes Benz", "vehicleClass": "Car", "vehicleColor": "Gray", "vehicleModel": "GLS Klasse" } } ], "detectorDeprecated": "hosts/TEST/AVDetector.1/EventSupplier", "detectorExt": { "accessPoint": "hosts/TEST/AVDetector.1/EventSupplier", "friendlyName": "1.\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 (RR)" }, "detectorsGroup": [ "DG_LPR_DETECTOR" ], "eventType": "plateRecognized", "guid": "d6650759-e89b-43dd-a610-459a6e421ccc", "nodeInfo": { "friendlyName": "TEST", "name": "TEST" }, "originDeprecated": "hosts/TEST/DeviceIpint.1/SourceEndpoint.video:0:0", "originExt": { "accessPoint": "hosts/TEST/DeviceIpint.1/SourceEndpoint.video:0:0", "friendlyName": "1.\u041a\u0430\u043c\u0435\u0440\u0430" }, "timestamp": "20230623T124816.295000" }, "eventName": "axxonsoft.bl.events.DetectorEvent", "eventType": "ET_DetectorEvent", "localization": { "text": "\u041a\u0430\u043c\u0435\u0440\u0430 \"1.\u041a\u0430\u043c\u0435\u0440\u0430\". \u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \"1.\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 (RR)\", \u041d\u043e\u043c\u0435\u0440 \"CJ97139\", \u0441\u0442\u0440\u0430\u043d\u0430 \"Denmark\", \u043a\u043b\u0430\u0441\u0441 \"\u0410\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\", \u0446\u0432\u0435\u0442 \"Gray\", \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \"Mercedes Benz\", \u043c\u043e\u0434\u0435\u043b\u044c \"GLS Klasse\", \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0444\u0430\u0440 \"\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b\" \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f: \u0422\u0438\u043f \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 = \"\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440\"" }, "requiredPermissions": { "requiredObjectPermissions": [ { "accessPoint": "hosts/TEST/DeviceIpint.1/SourceEndpoint.video:0:0", "cameraAccess": "CAMERA_ACCESS_ONLY_ARCHIVE" } ] }, "subjects": [ "hosts/TEST/DeviceIpint.1/SourceEndpoint.video:0:0", "hosts/TEST/AVDetector.1/EventSupplier" ] } ] }
Параметр | Описание |
---|---|
vehicleBrand | Производитель транспортного средства |
vehicleClass | Класс транспортного средства |
vehicleColor | Цвет транспортного средства |
vehicleModel | Модель транспортного средства |
Через WebSocket можно подписываться и отписываться на события об изменении конфигурации видеокамер с помощью команд track и untrack.
{ "track": ["hosts/Server/DeviceIpint.1"] }
{ "objects" : [ { "name" : "hosts/Server/DeviceIpint.1", "type" : "itemstatuschanged" } ] } { "objects" : [ { "source" : "hosts/Server/DeviceIpint.1/SourceEndpoint.video:0:0", "state" : "off", "type" : "camera_record_state" } ] } { "objects" : [ { "name" : "hosts/Server/DeviceIpint.1", "type" : "itemstatuschanged" } ] } { "objects" : [ { "source" : "hosts/Server/DeviceIpint.1/SourceEndpoint.video:0:0", "state" : "off", "type" : "camera_record_state" } ] }
{ "untrack": ["hosts/Server/DeviceIpint.1"] }
{ "objects" : [ { "source" : "hosts/Server/DeviceIpint.1/SourceEndpoint.video:0:0", "state" : "off", "type" : "camera_record_state" } ] } { "objects" : [ { "source" : "hosts/Server/DeviceIpint.1/SourceEndpoint.video:0:0", "state" : "off", "type" : "camera_record_state" } ] }