Skip to content

Поиск камер

device.onvif.discovery

Sapsan умеет находить ONVIF-камеры в сети, принимать их события (движение, детекция людей и машин) и проверять камеру на совместимость.

Поиск камер

Sapsan обнаруживает камеры по WS-Discovery (мультикаст-запрос Probe и ответы ProbeMatch) и дополнительно понимает проприетарный протокол обнаружения Hikvision. Для каждой найденной камеры собираются адреса (XAddrs), имя и модель; повторные наблюдения одной камеры объединяются.

При работе через NAT адреса, которые камера сообщает о себе (snapshot-URL, RTSP-URL), автоматически переписываются на реально достижимый адрес устройства.

Настройка камеры через ONVIF

После обнаружения камеры Sapsan позволяет не только получить RTSP-адрес, но и настраивать саму камеру через ONVIF. Доступные параметры определяются моделью камеры и правами её учётной записи.

  1. Получите профили камеры методом media/GetProfiles и найдите токен нужной конфигурации кодера.
  2. Прочитайте media/GetVideoEncoderConfigurations и допустимые значения через media/GetVideoEncoderConfigurationOptions.
  3. Измените нужные поля полной конфигурации и передайте её через media/SetVideoEncoderConfiguration. Так задаются разрешение и частота кадров, параметры битрейта и GOP, а также поддерживаемый камерой кодек.
  4. Повторно прочитайте конфигурацию и проверьте входной RTSP-стрим. Камера может перезапустить кодер при применении изменений.

Для вызова используется POST /flussonic/api/onvif_call/{camera}/{service}/{method} на HTTP-интерфейсе Sapsan. {camera} — имя настроенного стрима, из входа которого берётся адрес камеры; для MBR используется первый вложенный источник. Пример получения профилей:

curl --user admin -X POST \
  'http://sapsan.example.com:5080/flussonic/api/onvif_call/camera1/media/GetProfiles' \
  -H 'Content-Type: application/json' --data '{}'

Авторизация запроса к Sapsan и учётная запись самой камеры независимы. По умолчанию учётные данные камеры берутся из URL её входа, а ONVIF использует порт 80. Заголовок x-onvif-auth: user:password переопределяет учётные данные камеры, x-onvif-port — её ONVIF-порт. Тело JSON передаёт параметры ONVIF-метода; ключи с $ обозначают XML-атрибуты, например $token.

Изменение конфигурации стрима через central управляет приёмом в Sapsan. Вызов SetVideoEncoderConfiguration изменяет настройки непосредственно на камере. Для PTZ и других операций см. управление ONVIF.

Что дальше