Skip to content

Импорт камер по 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.