Если вы когда-нибудь подключали 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 всех строит.
А мы — пользуемся этим зоопарком, радостно подключаем камеры и делаем вид, что всё «стандартизировано».