Перейти к основному содержимому

Управление через ONVIF и web-интерфейсы

В предыдущем слайде мы рассмотрели традиционные протоколы управления PTZ-камерами, такие как VISCA и Pelco, в том числе их реализации через последовательные интерфейсы и по IP-сети. Теперь перейдём к более современным и стандартизированным подходам к управлению видеокамерами и другими видеоустройствами — через ONVIF и веб-интерфейсы (включая CGI и API). Эти методы становятся основой управления в сетевых видеосистемах, особенно в профессиональных и масштабируемых средах. Поскольку ONVIF мы посвятили целую лекцию, здесь -- кратко.

Пример использования ONVIF PTZ

Представим, что вы управляете телевизионной студией с несколькими камерами от разных производителей: одна — от Axis, другая — от Hikvision, третья — от Sony. Без стандартизации каждая камера потребовала бы отдельного протокола и интерфейса. С ONVIF вы можете использовать одно и то же ПО, например, vMix или QLab, чтобы управлять всеми камерами через единый API, не зная деталей внутренней реализации.

Например, команда на вызов пресета 3 для камеры выглядит как SOAP-запрос:

<wsdl:Operation Name="GotoPreset">
<wsdl:Input>
<tt:ProfileToken>Profile1</tt:ProfileToken>
<tt:PresetToken>Preset3</tt:PresetToken>
</wsdl:Input>
</wsdl:Operation>

Такой подход упрощает разработку систем централизованного управления и снижает порог входа для интеграторов.

Управление через веб-интерфейсы: CGI и REST API

Помимо ONVIF, большинство сетевых камер и видеоустройств предоставляют встроенные веб-интерфейсы для настройки и управления. Эти интерфейсы реализованы на базе веб-сервера, встроенного в устройство, и доступны через браузер по IP-адресу.

Однако для автоматизации и интеграции в сложные системы используются не визуальные интерфейсы, а программные интерфейсы: CGI (Common Gateway Interface) и REST API.

CGI-команды

CGI — устаревший, но до сих пор распространённый способ отправки команд устройству через HTTP-запросы. Команды передаются в виде URL с параметрами.

Пример CGI-команды для поворота камеры вправо:

http://192.168.1.100/cgi-bin/ptzctrl.cgi?ptzcmd&right&1&1

Где:

  • 192.168.1.100 — IP камеры
  • ptzcmd — команда управления PTZ
  • right — направление
  • 1 — скорость
  • 1 — номер канала (если поддерживается)

Такие команды легко интегрируются в скрипты на Python, Bash или JavaScript, что позволяет создавать простые системы автоматизации.

REST API

Современные устройства всё чаще используют RESTful API — более гибкий и структурированный подход к управлению. REST API использует стандартные HTTP-методы (GET, POST, PUT, DELETE) и возвращает данные в формате JSON или XML.

Пример REST-запроса для вызова пресета:

POST /api/v1/cameras/1/ptz/presets/recall
Content-Type: application/json
Authorization: Bearer <токен>

{
"presetId": 5
}

REST API предпочтительнее CGI, потому что:

  • Поддерживает аутентификацию (OAuth, JWT)
  • Легко документируется (например, через OpenAPI)
  • Интегрируется с современными фреймворками и системами мониторинга
  • Позволяет получать статус устройств, а не только отправлять команды

Сравнение ONVIF и VISCA: где и когда что использовать

Хотя и VISCA, и ONVIF решают задачу управления PTZ-камерами, их применение зависит от контекста, оборудования и требований к системе. Рассмотрим ключевые различия.

ХарактеристикаVISCA (over IP или Serial)ONVIF PTZ
ПроизводительSony (изначально), поддерживается многимиОткрытый стандарт, мультивендорный
ИнтерфейсRS-232/RS-485 или UDP/IPHTTP/SOAP или HTTP/REST
СовместимостьОграничена устройствами, поддерживающими VISCAПоддерживается большинством IP-камер
ФункциональностьТолько PTZ и пресетыPTZ, пресеты, метаданные, события
ИнтеграцияТребует специализированных контроллеров или драйверовПоддерживается в vMix, OBS, QLab, Bitfocus Companion
МасштабируемостьОграничена топологией (например, шина RS-485)Полностью сетевая, поддерживает сотни камер
БезопасностьМинимальная (нет шифрования)Поддержка HTTPS, аутентификации, токенов

Когда использовать VISCA?

VISCA остаётся актуальным в специализированных студийных средах, особенно там, где:

  • Используются аппаратные джойстики (например, Sony RM-IP10)
  • Требуется максимально низкая задержка при управлении камерой
  • Система уже построена на базе оборудования Sony и не требует интеграции с другими брендами
  • Необходима прямая, надёжная связь без зависимости от сложных сетевых настроек

Пример: телевизионная студия с 4 камерами Sony BRC-X400, управляемыми через один пульт RM-IP10 по протоколу VISCA over IP. Такая система проста в настройке и стабильна в работе, но не поддерживает камеры других брендов.

Когда использовать ONVIF?

ONVIF предпочтителен, когда:

  • Используются камеры разных производителей
  • Требуется централизованное управление через ПО (например, vMix, OBS Studio, NewBlueFX)
  • Нужна интеграция с системами мониторинга, логирования или автоматизации
  • Планируется масштабирование системы (добавление камер, микшеров, аудиоустройств)

Пример: конференц-зал с камерами Axis, видеомикшером Blackmagic ATEM и системой управления на базе Bitfocus Companion. ONVIF позволяет вызывать пресеты с разных устройств, синхронизировать действия и отображать статус камер на сенсорной панели.

Где не пересекаются возможности VISCA и ONVIF?

Важно понимать, что ONVIF не заменяет VISCA во всех аспектах. Некоторые функции остаются привилегией проприетарных протоколов.

Функции, доступные только через VISCA (или проприетарные API):

  • Тонкая настройка скорости панорамирования и ускорения
  • Режимы «режиссёрской съёмки» (например, плавные треки движения)
  • Управление дополнительными функциями камеры (например, установка фокуса вручную по протоколу)

ONVIF и VISCA в целом схожи по управлению PTZ (именно поворотом, наклоном и зумом). Формально у VISCA больше точность позиционирования, но на практике отличия возникают в способе реализации: TCP соединение, SOAP -- такой способ управления не подразумевает слишком частую отправку команд. Когда вам надо просто повернуть камеру или вызвать пресет, это одинаково хорошо отработает по любому протоколу. А вот когда вы подключаете трекер движения, который посылает десятки команд в секунду, оказывается, что web-сервер камеры (чтобы обработать HTTP SOAP запросы, нужен веб-сервер) просто не успевает обрабатывать запросы с такой частотой. А если вы еще и запрашиваете статус (положение камеры), то камера и вовсе начинает "тормозить". Это еще и может сказаться на RTSP/SRT потоке.

Функции, доступные только через ONVIF:

  • Получение списка поддерживаемых пресетов
  • Проверка текущего состояния камеры (например, активный пресет)
  • Подписка на события (например, сработка датчика движения)
  • Интеграция с системами безопасности и видеонаблюдения

Таким образом, ONVIF обеспечивает стандартный «нижний уровень» совместимости, но не гарантирует доступ ко всем возможностям камеры. Для полного контроля в профессиональных съёмках часто приходится использовать гибридный подход: ONVIF для базового управления и проприетарные API (включая VISCA) для тонкой настройки.

Выбор метода управления: критерии и рекомендации

При проектировании системы управления видеоустройствами важно учитывать следующие факторы:

  1. Однородность оборудования
    Если все камеры от одного производителя — VISCA может быть проще и быстрее в настройке.
    Если оборудование гетерогенное — ONVIF обязателен.

  2. Требования к задержке
    В прямых трансляциях с динамичными движениями камеры VISCA over IP может обеспечить более предсказуемую реакцию.

  3. Уровень автоматизации
    Если требуется сценарное управление, интеграция с MIDI/OSC или веб-панелями — ONVIF и REST API предпочтительнее.

  4. Поддержка ПО
    Проверьте, поддерживает ли ваш видеомикшер (vMix, OBS, ATEM) ONVIF PTZ и какие функции доступны.

  5. Будущее масштабирование
    ONVIF — выбор для систем, которые будут расти. Он позволяет добавлять новые устройства без перепроектирования системы управления.


Вывод: ONVIF и веб-интерфейсы (CGI/REST API) — это основа современных сетевых видеосистем. Они обеспечивают стандартизацию, совместимость и масштабируемость. Однако в профессиональной среде важно понимать границы их возможностей и при необходимости комбинировать с проприетарными протоколами, такими как VISCA, для достижения полного контроля над оборудованием.