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

Архитектура ONVIF — службы и протоколы

Используемые протоколы: SOAP, HTTP, WS-Discovery

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

Рассмотрим, из каких ключевых компонентов состоит технологический стек ONVIF.

1. Транспортный уровень: HTTP и HTTPS

Все управляющие команды в ONVIF передаются по протоколу HTTP или, в защищённом варианте, HTTPS. Это означает, что общение между клиентом (например, видеосервером или программой управления) и ONVIF-устройством (камерой) происходит так же, как и при открытии веб-страниц в браузере.

Пример:

  • Клиент отправляет HTTP-запрос на адрес камеры, например:
    http://192.168.1.50/onvif/device_service
  • Камера обрабатывает запрос и возвращает ответ в виде структурированного сообщения.

Использование HTTP/HTTPS даёт несколько важных преимуществ:

  • Универсальность: HTTP — один из самых распространённых протоколов, поддерживаемый всеми современными сетевыми устройствами.
  • Прозрачность: трафик легко перехватывать и анализировать с помощью таких инструментов, как Wireshark, Fiddler или Postman.
  • Интеграция с инфраструктурой: HTTP-трафик проходит через большинство брандмауэров и прокси-серверов, что упрощает развертывание систем в корпоративных сетях.

⚠️ Примечание: хотя HTTP используется для передачи управляющих команд, он не передаёт видеопотоки. Видео доставляется отдельно — через RTSP/RTP, как это было описано ранее. ONVIF лишь помогает получить параметры для подключения к этим потокам.


2. Прикладной уровень: веб-сервисы на основе SOAP

ONVIF строится на архитектуре веб-сервисов, где каждый тип функциональности (например, управление камерой или получение видео) реализуется как отдельный сервис. Эти сервисы общаются с помощью протокола SOAP (Simple Object Access Protocol).

Что такое SOAP?

SOAP — это протокол обмена структурированными сообщениями в формате XML. Он определяет, как клиент и сервер должны форматировать запросы и ответы, чтобы понимать друг друга.

Пример SOAP-запроса (упрощённо):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<GetSystemDateAndTime xmlns="http://www.onvif.org/ver10/device/wsdl"/>
</soap:Body>
</soap:Envelope>

Камера, получив такой запрос, вернёт ответ:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<GetSystemDateAndTimeResponse>
<DateTime>
<UTCDateTime>
<Time><Hour>12</Hour><Minute>30</Minute><Second>45</Second></Time>
<Date><Year>2025</Year><Month>4</Month><Day>5</Day></Date>
</UTCDateTime>
</DateTime>
</GetSystemDateAndTimeResponse>
</soap:Body>
</soap:Envelope>

Почему именно SOAP?

Несмотря на то что сегодня популярны более лёгкие форматы, такие как JSON и REST, ONVIF использует SOAP по нескольким причинам:

  • Строгая типизация: SOAP-сообщения описываются с помощью WSDL (Web Services Description Language), что позволяет точно определить, какие команды доступны и какие параметры они принимают.
  • Надёжность и проверяемость: структура сообщений строго стандартизирована, что снижает вероятность ошибок при интеграции.
  • Поддержка сложных операций: SOAP хорошо подходит для задач управления оборудованием, где важны точность и согласованность.

💡 Представьте, что SOAP — это «формализованный бланк заявления»: каждый раздел строго определён, и его нельзя заполнить неправильно. Это удобно для автоматизации и проверки.


3. Сетевое обнаружение: WS-Discovery

Одна из первых задач при подключении к ONVIF-камере — найти её в сети. Для этого используется протокол WS-Discovery (Web Services Dynamic Discovery).

Как работает WS-Discovery?

Этот протокол позволяет устройствам автоматически находить друг друга в локальной сети без предварительной настройки. Процесс выглядит так:

  1. Клиент (например, программа видеонаблюдения) рассылает многоадресный (multicast) запрос по локальной сети:
    "Есть ли здесь ONVIF-устройства?"
  2. ONVIF-камеры, включённые в сеть, получают этот запрос и отправляют ответ с информацией о себе:
    • IP-адрес
    • тип устройства (камера, регистратор и т.д.)
    • поддерживаемые сервисы
    • ссылки на свои веб-сервисы

Такой механизм аналогичен тому, как принтеры обнаруживаются в сети через протокол mDNS или SSDP, но WS-Discovery ориентирован именно на веб-сервисы и используется в промышленных системах.

Особенности WS-Discovery:

  • Работает только в локальной сети (broadcast-домене).
  • Использует UDP-порт 3702.
  • Не требует центрального сервера обнаружения.
  • Поддерживается большинством ONVIF-устройств по умолчанию.

⚠️ Важно: если обнаружение не работает, проверьте:

  • Включена ли поддержка WS-Discovery на камере.
  • Разрешён ли multicast-трафик на коммутаторах.
  • Не блокирует ли брандмауэр UDP-порт 3702.

Сводная таблица технологий ONVIF

КомпонентПротокол / технологияНазначение
ТранспортHTTP / HTTPSПередача управляющих сообщений между клиентом и устройством
Прикладной обменSOAP + XMLФормат запросов и ответов; строгая структура команд
Описание сервисовWSDLОписание доступных методов и параметров каждого сервиса
ОбнаружениеWS-DiscoveryАвтоматическое нахождение устройств в локальной сети
БезопасностьHTTPS, аутентификацияЗащита управляющего трафика и авторизация пользователей

Почему это важно для инженера?

Понимание технологического стека ONVIF позволяет:

  • Диагностировать проблемы на нужном уровне: например, отличить сбой в сети от ошибки в SOAP-запросе.
  • Анализировать трафик с помощью стандартных инструментов: Wireshark покажет HTTP-запросы, а Fiddler — содержимое SOAP-сообщений.
  • Интегрировать устройства даже без готового ПО: зная структуру запросов, можно написать простой скрипт для получения данных с камеры.
  • Объяснять поведение системы: например, почему камера не отображается в списке — возможно, WS-Discovery отключён или мешает настройка сети.

Заключение

ONVIF не изобретает новые протоколы, а использует проверенные стандарты для построения надёжной и совместимой системы управления IP-видеоустройствами. Его архитектура построена на трёх ключевых компонентах:

  • HTTP/HTTPS — как транспорт для управляющих команд,
  • SOAP — как формат обмена структурированными сообщениями,
  • WS-Discovery — как механизм автоматического поиска устройств в сети.

Этот подход делает ONVIF прозрачным, предсказуемым и удобным для анализа — что особенно важно при проектировании, настройке и диагностике систем видеонаблюдения. В следующих разделах мы рассмотрим, какие именно сервисы предоставляют ONVIF-устройства и как они организованы.

Вложения