ИнтернетСофт

RTP, RTSP, RTMP и ONVIF: вся правда о протоколах, которые держат весь видеостриминг

Видеонаблюдение
Если вы когда-нибудь подключали IP-камеру, вы знаете, что мир потокового видео - это не стройная архитектура и не изящная инженерия.
Нет. Это цифровой ритуал шаманизма, смесь старых стандартов, узкогорлых костылей, маркетинга и отчаянных попыток системы «как-то жить дальше».
Парадокс в том, что вся планета — от городских камер до стриминговых гигантов — работает на четырёх несовместимых, капризных и местами просто хламовых протоколах:
  • RTP — старик, который всё тащит.
  • RTSP — командир, который ничего не делает сам.
  • RTMP — ходячий труп, который упорно продолжает работать.
  • ONVIF — полицейский, пытающийся усмирить камеру, которая считает себя Богом.
И давайте честно: если бы эти протоколы были людьми, никого из них вы бы не пригласили на вечеринку.
Но без них весь видеомир бы рухнул через три минуты.

RTP: старый дед, который делает ВСЮ работу

RTP — это человек, которого вы нашли бы сидящим в гараже, сварившим самодельную печку из тормозных дисков и говорящим: «Да я и так всё таскаю. Чего вы там со своими новыми технологиями?»
Он был создан в 90-х, когда:
  • интернет скрипел,
  • видеоконференции выглядели как анимированные пиксельные иконы,
  • а инженеры считали, что «видеопотоки по IP» — это смелое будущее.
С тех пор RTP:
  • возит видеопакеты,
  • не жужжит,
  • не обещает лишнего,
  • не защищает ваши данные,
  • ничего не спрашивает,
  • просто работает.
И да, он делает это на UDP, то есть: «Если пакет потерялся — я его не знаю. Он сам виноват.»
Короче, RTP — единственный работяга в этой семье. Все остальные — менеджеры.

RTSP: протокол, который ничего не делает, но командует всеми

RTSP — это как начальник, который:
  • сам ничего не носит,
  • ничего не доставляет,
  • ничего не обрабатывает,
  • НО УМЕЕТ РАСПОРЯЖАТЬСЯ.
RTSP — это цифровой пульт управления:
  • PLAY!
  • PAUSE!
  • TEARDOWN! (любимая команда любого администратора)
  • DESCRIBE! (а ну расскажи о себе, поток)
При этом видео передаёт RTP, но RTSP всегда рядом, делая вид, что всё держится на нём.
В видеонаблюдении RTSP стал стандартом просто потому, что остальное было ещё хуже.
Если бы камеры могли передавать поток через голубей — некоторые производители бы выбрали голубей.

RTMP: зомби-протокол, которого нельзя убить

RTMP — это Flash.
Flash умер. RTMP — НЕТ.
Если бы этот протокол был человеком, он выглядел бы как офисный сотрудник, которого уволили три года назад, но он продолжает приходить на работу, пить ваш кофе и выполнять задачи лучше, чем новые сотрудники.
Ингест-сервера?
→ RTMP.
OBS?
→ RTMP.
YouTube, Twitch, VK?
→ RTMP живее всех.
Почему?
  • работает через TCP
  • не рассыпается при плохом интернете
  • стабилен как бетонный блок
  • и плевать хотел на вашу современность
Его должны были отправить в музей, но он продолжает тянуть стриминг на своих немолодых плечах.
Зомби. Но полезный.

ONVIF: единственный из этой компании, кто пытается навести порядок (что делает его самым несчастным)

ONVIF — это чиновник, которого назначили «навести порядок» среди IP-камер.
А камеры — это существа, которые:
  • живут по своим правилам,
  • говорят на разных языках,
  • передают видеопотоки как хотят,
  • любят проприетарщину,
  • и считают, что стандарты — это оскорбление их творческой свободы.
ONVIF приходит и говорит: «Так, сейчас у всех будет единая схема. SOAP, XML, профили, события. Без анархии!»
Камеры тихо рычат, но подчиняются. ONVIF не передаёт видео — он просто даёт вам RTSP-URL, показывает настройки, управляет PTZ и иногда ругается на пароль.
Без ONVIF индустрия видеонаблюдения была бы похожа на рынок 90-х: каждый продавец орёт на своём языке и продаёт свой формат, который никто потом не сможет открыть.

Почему эти протоколы не заменили чем-то нормальным? Потому что интернет — это хаос

Если вы думаете: «Ну, можно же было сделать один нормальный протокол?»
То вы явно никогда не:
  • настраивали камеры от 5 разных производителей,
  • пытались протащить UDP через корпоративный фаервол,
  • отправляли видеопотоки через LTE-модем на даче,
  • делали веб-трансляции с задержкой <1 секунды,
  • смотрели, как браузеры реагируют на нестандартный стрим.
Видеопередача — это не инженерия. то выживание.
В каждой нише — свои правила:

Нужно «быстро» — берём RTP/RTSP.

Задержка маленькая, нервы большие.

Нужно «надёжно» — RTMP или SRT.

Даже если за окном ураган.

Нужно «масштабно» — HLS/DASH.

Да, задержка огромная. Но зато CDN не плачет.

Нужно «настроить камеру» — ONVIF.

Иначе камера будет смотреть на вас как на идиота.

Нужно «супербыстро» — WebRTC.

И вы будете выплёвывать ледяные слёзы, пока настраиваете TURN/STUN.
Один протокол? Единство? Порядок?
Ага, расскажите это инженерам CCTV и стриминговых платформ. Они скорее согласятся на жизнь без кофе, чем на один общий стандарт.

А теперь — короткий список протоколов, которые тоже хотят внимания

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

HLS

Говорит:
«Да, у меня задержка 20 секунд. Но меня любят браузеры. И iPhone. И CDNs. Так что заткнись и ешь сегменты.»

MPEG-DASH

Стандартный, корпоративный, скучный.
Как будто его писали люди, которые не видели живое видео.

WebRTC

Гений с приступами безумия.
Если настроить — работает идеально.
Если не настроить — уничтожает всю вашу самооценку.

SRT

Протокол для тех, кто считает, что видео — это важнее стабильности брака.

RIST

То же самое, но ещё более корпоративное и дорогое.

MPEG-TS

Дед, который работает с 90-х и будет работать, когда мы все умрём.

Финальный вывод, который вам не понравится

Мир видео построен не на стандартах, не на красоте, не на идеях архитектуры.
Он построен на:
  • старых протоколах, которые не умерли
  • новых костылях, которые пытаются жить
  • и инженерах, которые каждый день думают «ну хоть работает — и ладно»
И знаете что?
Это работает. Плохо, криво, местами стыдно — но работает.
RTP таскает, RTSP командует, RTMP живёт вопреки здравому смыслу, ONVIF всех строит.
А мы — пользуемся этим зоопарком, радостно подключаем камеры и делаем вид, что всё «стандартизировано».