История протоколов RTSP и ONVIF

История протоколов RTSP и ONVIF

Наступает прекрасный 1996 год.

Именно в этом году на свет появилась первая в мире IP-камера видеонаблюдения, ее создателем была компания Axis Communications. Новинка получила название Axis NetEye 200. Спустя 10 лет IP-видеонаблюдение займет свое место под солнцем, активно вытесняя аналоговые системы.

Разумеется, из такого сложного устройства как сетевая камера, нельзя так просто взять и вытащить картинку в реальном времени. Да, можно подключиться к камере через браузер и вытаскивать условный кадр, но это, все-таки, не трансляция в реальном времени.

Для решения данной задачи стали использовать протокол RTSP — Real Time Streaming Protocol. Изначально он должен был использоваться для передачи телевизионного контента, но, судьба сложилась иначе.

До его разработки в 1998 году не существовало единых и стандартизированных протоколов для управления мультимедийными потоками в реальном времени и доставки их по сети. Разумеется, это приводило к тому, что между устройствами отсутствовало какое-либо вменяемое взаимодействие, а протоколы у каждого из производителей были несовместимыми.

Как было сказано выше, в 1998 году был опубликован RTSP 1.0, который выполнял базовый функционал: протокол мог запускать, приостанавливать мультимедийные потоки, управлять скоростью воспроизведения. Состоит он из протоколов RTCP и RTP, изобретенных в 1996 году.

Кстати говоря, RTSP не передает видео и аудио поток. За это отвечают вышеописанные протоколы RTP и RTCP. Если привести пример из жизни, то RTSP можно сравнить либо с выключателем освещения, либо с краном водоснабжения. Алгоритм крайне прост: нажимаем на кнопку — и светодиоды на потолке зажигаются. Выключатель не генерирует электричество, а кран на кухне — не создает давление для подачи воды.

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

Инструментарий полезный, хоть и все еще недостаточный.

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

Кроме этого, на рынке стремительно и массово начали появляться китайские производители оборудования, подкупая своей низкой ценой. Разумеется, это привело к закономерной проблеме: отсутствие какой-либо внятной взаимосвязи между устройствами, когда камера вместо передачи изображения говорит регистратору: “Кто здесь???”

Для решения данной проблемы совместными усилиями таких компаний как, Axis Communications, Bosch Security Systems и Sony Corporation, в 2008 году был организован форум — Open Network Video Interface Forum. Да-да, тот самый ONVIF. Целью проведения форума являлась разработка и распространение единого стандарта интерфейсов для систем сетевого оборудования.

Для реализации поставленных целей также была создана одноименная организация. Членство в организации открыто, хоть для полноценного участия следует внести членский взнос. На январь 2025 года в организации состоит почти 500 участников!

Для чего создавался ONVIF?

Основные задачи, для которых создавался ONVIF:

  • Стандартизация взаимосвязи между продуктами различных производителей;
  • Совместимость (хоть и базовая) без привязки к одному бренду;
  • Открытость для компаний и организаций — любой желающий может стать полноценным членом организации и стандартизировать свое оборудование.

В организации состоит порядка 500 участников. Не видели? Прочитайте чуть-чуть повыше.

Так вот! Именно эти участники разработали API-спецификации (Application Programming Interface) как раз таки для интеграции продуктов, после чего объединили их в различные профили того самого ONVIF, при этом каждый профиль содержит свои функции.

API производителей оборудования и ПО почти всегда имеют значительно больший функционал (dewarping от камер “рыбий глаз”, продвинутая аналитика и передача мета-информации и так далее, можно продолжать бесконечно), нежели может предложить ONVIF. Но в этом и заключается вся суть данного протокола.

Смысл ONVIF — стандартизация лишь базовых функций устройств видеонаблюдения и СКУД.

Таким образом, конечный пользователь может быть уверен в том, что оборудование Производителя_1 будет работать с оборудованием Производителя_2, хоть и на примитивном уровне. Для того, чтобы на данном оборудовании вменяемо работали аналитики и прочий функционал, производители обычно используют приватный протокол, в котором описаны и согласованы между все API-методы.

Профили ONVIF

Мы определились, что из себя представляет ONVIF как протокол. Но ранее я озвучил, что он делится на различные профили.

Профиль — это неизменяемый набор функций, характерный для конкретного стандарта ONVIF. У устройства или клиента ONVIF может быть набор из нескольких профилей, а также условные функции.

Внесу немного ясности:

ONVIF Устройство — сетевое устройство или программное обеспечение, которое предоставляет одну или несколько функций.

ONVIF Клиент — сетевое устройство или программное обеспечение, которое использует одну или несколько функций. Зачастую, это программное обеспечение, либо регистраторы.

Функция — это API, которая запускает выполнение процесса на устройстве, либо клиенте.

Кроме того, не следует забывать о стандартах шифрования, которыми должны быть оснащены устройства. Благо, это ложится на плечи разработчиков и производителей оборудования и программного обеспечения, а не на конечного клиента.

Вплоть до 2016 года ONVIF имел следующие версии:

  • ONVIF 1.0 — Первый протокол 2008 года
  • ONVIF 2.0 — 2010 год
  • ONVIF 2.2 — 2012 год
  • ONVIF 2.4 — 2013 год
  • ONVIF 2.5 — 2014 год

2016 год я выделил не просто так. Начиная с этой даты вводится система профилей (S, G, C, Q, A, T), а представленные ранее версии ONVIF теряют гарантии совместимости.

Далее по пунктам:

S ONVIF Profile S — активно используется в устройствах передачи потокового видео, например, в IP-видеокамерах. Предназначен для отображения и настройки потокового видео, управления (PTZ) камерой, управлением релейных входов и тд.
Помните, ранее я говорил о RTSP? Даже спустя более чем четверть века (!!!) этот старичок все еще используется!
G ONVIF Profile T— Свежий профиль, релизная дата 2018 год. Можно назвать логичным продолжением Profile S, ведь в него добавлен H.265, управление потоком метаданных, настройки изображения и так далее.
G ONVIF Profile G — Данный профиль применяется в устройствах записи и хранения видео и аудиоданных. Позволяет получать аудио, метаданные, производить настройки, а также запрашивать и контролировать запись видео. Камера, кстати, тоже поддерживает данный профиль, если на ней есть слот SD, например.
Q ONVIF Profile Q — Профиль, позволяющий взаимодействовать с ключами доступа и TLS (Transport Layer Security) сертификатами. Предназначен для повышения безопасности. Также, ответственен за перевод устройства из состояния “по умолчанию” в рабочий режим, т.е. за так называемый “quick install”. С 2022 года не используется.
A ONVIF Profile A — Профиль активно применяется в СКУД. Устройство, поддерживающее данный профиль, способно передавать информацию, статус, события от субъектов доступа, а также предоставляет возможность настройки прав доступа, учетных данных и так далее. Клиентская же сторона, наоборот — способна принимать данную информацию и взаимодействовать с ней.
C ONVIF Profile C — базовый профиль для СКУД. Позволяет получить информацию о конфигурации и настройках системы, получить ее статус и так далее.

Плюсы и минусы протоколов

Фууух. Что-то затянулась историческая справка, ну да ладно.
Предлагаю перейти к плюсам и минусам использования протоколов RTSP и ONVIF.

RTSP

Плюсы:

  • Совместимость. Протокол стандартизирован и оборудование разных производителей взаимодействует между собой без каких-либо проблем;
  • Простота использования.

Минусы:

  • Ограниченный функционал. Посредством данного протокола можно лишь получать поток в реальном времени. О настройке детекторов движения, управлением камерой можно забыть.

ONVIF

Плюсы:

  • Единый стандарт. Если оба устройства имеют одинаковые профили ONVIF, то они будут работать без каких-либо проблем;
  • Возможность удаленной настройки оборудования.

Минусы:

  • В случае, если версии ONVIF не совпадают, либо в устройствах отсутствуют необходимые профили, то оборудование может работать лишь частично: не будет работать детекция движения и тд… Либо камеры вообще не смогут взаимодействовать.

Исходя из всего выше описанного, можно прийти к логическому выводу: Если необходимо получить максимальный функционал устройств разных производителей, то следует использовать ONVIF. В случае, если оборудование не может адекватно работать, то можно прибегнуть к “костылю” в виде RTSP.

Большинство камер можно предварительно настроить через веб интерфейс, а изображение получить посредством RTSP.

Правда, даже тут не без подводных камней…

Стандартный порт ONVIF — 80, а RTSP — 554. Но существуют такие производители камер, которые используют для ONVIF порт 8080, или 8899, и так далее.

Бывают и иные решения: на рынке есть камеры, в которых ONVIF и RTSP как таковой отключен, а получить изображение с камер можно только через мобильное приложение, зачастую, с кучей надоедливой рекламы (и это в лучшем случае!), либо вообще только при покупке подписки.

Именно поэтому следует проверять наличие протоколов ONVIF и RTSP на приобретаемом оборудовании.

Отдельно хочется выделить такую технологию, как “приватный протокол”.

У большинства именитых производителей в списке поддерживаемых протоколов можно увидеть классические ONVIF и RTSP, а также их собственные. Названия могут быть любыми, например бренд Dahua называет свой протокол просто: Dahua private protocol.

Сам по себе нативный протокол пишется на основе API документации производителем оборудования. Можно сказать даже больше, это и ЕСТЬ то самое API.

Так как производством оборудования и написанием документации для него занимается одна компания, то логично прийти к выводу, что именно с использованием собственного протокола можно достичь максимальное качество и использовать все функциональные возможности продукции.

Плюсы использования неоспоримы:

  • Оборудование максимально совместимо в рамках одного бренда;
  • Обеспечивается максимальная эффективность используемого железа;
  • Повышенная безопасность;
  • Возможность передачи и взаимодействия с метаданными, видеоаналитиками;
  • У большинства производителей — автоматическое обнаружение и подключение происходит автоматически.

К сожалению, я не просто так выделил фразу “совместимо в рамках одного бренда”. Если у оборудования_1 есть приватный протокол, а у оборудования_2 его нет, то никакой взаимосвязи просто не будет. В данном случае на помощь приходят стандартизированные ONVIF и RTSP.