Импорт камер по API¶
Импорт камер выполняется через POST запрос на URL http(s)://URL_ВАШЕГО_ВОТЧЕРА/watcher/client-api/v3/streams/import
Импорт через команду в консоли:
curl 'http://localhost/watcher/client-api/v3/streams/import' \
-X POST \
--data-binary @mydata.csv \
-H 'Content-Type: text/csv' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1'
Пример файла mydata.csv:
name,title,comment,static,disabled,inputs_0_url,inputs_1_url,dvr_expiration,dvr_episodes_expiration,dvr_storage_limit,dvr_redundancy_factor,vision_alg,vision_areas,organization_id,coordinates_latitude,coordinates_longitude,is_test,onvif_ptz
cam-e7fee73458,Primary camera title,,true,false,rtsp://127.0.0.1/stream/main,rtsp://127.0.0.1/stream/sub,86400,259200,32212254720,3,faces,x1 y1,1,55.71182944518981,37.7775426954031,false,false
,Secondary camera title,Camera comment,true,false,rtsp://127.0.0.1/stream2/main,rtsp://127.0.0.1/stream2/sub,172800,432000,,0,plates,x2 y2,1,51.711667039488155,35.77733281254769,true,true
Ответ:
{"created":2,"updated":0}
Пример одной строкой:
echo -e "name,title,comment,static,disabled,inputs_0_url,inputs_1_url,dvr_expiration,dvr_episodes_expiration,dvr_storage_limit,dvr_redundancy_factor,vision_alg,vision_areas,organization_id,coordinates_latitude,coordinates_longitude,is_test,onvif_ptz\ncam-e7fee73458,Primary camera title,,true,false,rtsp://127.0.0.1/stream/main,rtsp://127.0.0.1/stream/sub,86400,259200,32212254720,3,faces,x1 y1,1,55.71182944518981,37.7775426954031,false,false\n,Secondary camera title,Camera comment,true,false,rtsp://127.0.0.1/stream2/main,rtsp://127.0.0.1/stream2/sub,172800,432000,,0,plates,x2 y2,1,51.711667039488155,35.77733281254769,true,true" | curl 'http://localhost/watcher/client-api/v3/streams/import' -X POST --data-binary @- -H 'Content-Type: text/csv' -H 'Authorization: Bearer eyJ0eXAiOiJKV1'
Ответ:
{"created":2,"updated":0}
Надо передать CSV или список JSON-объектов со следующими полями:
- title: название камеры.
- name: название потока. По умолчанию — title плюс случайный суффикс.
- comment: комментарий.
- static:
true— постоянно работающий поток,false— поток по запросу. - disabled:
true— камера выключена. - inputs_0_url: RTSP URL основного потока.
- inputs_1_url: RTSP URL субпотока (для мультибитрейта). По умолчанию нет.
- dvr_expiration: глубина архива в секундах. По умолчанию нет.
- dvr_episodes_expiration: глубина хранения эпизодов в секундах. По умолчанию нет.
- dvr_storage_limit: лимит хранилища в байтах. По умолчанию нет.
- dvr_redundancy_factor: фактор избыточности архива.
- vision_alg: алгоритм аналитики:
faces,plates. - vision_areas: зона аналитики — нормализованные координаты вершин полигона через пробел:
x1 y1 x2 y2 ...(значения 0.0–1.0). - organization_id: ID организации.
- coordinates_latitude: широта.
- coordinates_longitude: долгота.
- is_test:
true— камера провижнится только на тестовых стримерах. - onvif_ptz:
true/false— управление PTZ через ONVIF.