Архитектура 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?
Этот протокол позволяет устройствам автоматически находить друг друга в локальной сети без предварительной настройки. Процесс выглядит так:
- Клиент (например, программа видеонаблюдения) рассылает многоадресный (multicast) запрос по локальной сети:
"Есть ли здесь ONVIF-устройства?" - 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-устройства и как они организованы.