Video Surveillance

RTMP: История протокола, который построил стриминг

2025-12-06 19:00 Новости видеонаблюдения Облачные технологии
В начале 90-х смотреть видео онлайн было занятием для людей с железной выдержкой и нервами как у телеграфного столба. Домашний интернет скрипел, рвался и медленно тянул по модемным проводам первые мегабайты, а слово буферизация звучало чаще, чем любимый трек на кассетном плеере. Видеосервисы тогда скорее напоминали набор слайдов, чем настоящие ролики: задержки, обрывы, постоянные стоп-кадры.
И вдруг на сцену выходит Flash. Вместе с ним - Real-Time Messaging Protocol, или просто RTMP. Он оказался именно тем костылем, который превратился в несущую балку: позволил передавать видео в реальном времени там, где интернет едва ползал.
RTMP стал фундаментом для зарождающейся культуры онлайн-видео, стриминга и первых интерактивных сервисов. И хотя эпоха Flash давно ушла, RTMP до сих пор живёт - тихо, скромно, но уверенно, продолжая обеспечивать значительную часть прямых трансляций.

От Macromedia к Adobe: рождение RTMP

Истоки RTMP уходят в 1996 год, когда компания Macromedia решила дать Flash Player-у не просто анимации и мини-игры, а возможность работать с медиапотоками в реальном времени. Задача была простой на бумаге, но революционной по сути: передавать аудио, видео и вспомогательные данные по TCP так, чтобы всё это приходило стабильно и синхронно.
Поскольку Flash стоял почти в каждом браузере на планете, RTMP моментально стал де-факто стандартом стриминга начала 2000-х. Ролики играли без перезагрузки страницы, а веб становился мультимедийным.
Позже Macromedia поглотила Adobe, и RTMP стал её наследием — пережил взлеты Flash, его падение и блокировку в 2020 году. Но сам протокол не умер: многие сервисы продолжают использовать его для приёма видеопотока от энкодеров и камер.

Почему RTMP сработал?

На фоне хаотичных и сильно различающихся реализаций потоковой передачи тех лет RTMP оказался аккуратно продуманной системой:
  • Работа поверх TCP давала контроль доставки, что было критично при медленных каналах.
  • Чанки позволяли разбивать медиа на мелкие части и держать поток «живым».
  • AMF-сообщения обеспечивали удобную передачу команд, метаданных и параметров кодеков.
  • FLV-контейнер с точными таймстампами давал предсказуемый тайминг и синхронность.
RTMP был достаточно быстрым, достаточно стабильным и достаточно универсальным. И этим он взял рынок.

Как RTMP устроен внутри

Чтобы понять его магию, нужно взглянуть на ключевые механизмы.

1. Handshake — ритуал знакомства

RTMP начинает работу с тройного рукопожатия: клиент и сервер обмениваются служебными блоками, сверяют версию, проверяют тайминги, синхронизируются. Всё это нужно, чтобы дальнейшая передача шла как по рельсам.

2. Соединение через AMF

После handshake клиент отправляет AMF-команду connect с указанием:
  • URL,
  • кодеков,
  • параметров потока,
  • настроек воспроизведения или публикации.
RTMP-сервер отвечает подтверждением, и соединение переходит в рабочее состояние.

3. Потоки и чанки

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

4. FLV-контейнер: плюс ровно столько же, сколько минус

FLV поддерживает точные временные метки и прост, как кирпич, но его набор кодеков ограничен:
  • H.264 для видео,
  • AAC или PCMA для аудио.
Никаких AV1, VP9 или Opus — эпоха Flash не требовала подобных изысков.

5. Запутанная структура URL

Строка вида:
rtmp://server/live/tvchannels/cnn
может трактоваться:
  • как приложение live и стрим tvchannels/cnn,
  • или как приложение live/tvchannels и стрим cnn.
Отсюда типичная головная боль инженеров стриминга и администраторов CDN.

Где RTMP живёт сегодня

Даже после заката Flash Player RTMP не исчез — он просто сменил роль.

1. Публикация в соцсети

Facebook Live, YouTube Live, TikTok — почти все принимают RTMP или его вариации как основной протокол для отправки потока от OBS, XSplit, камер и энкодеров.

2. Игровые трансляции

OBS по умолчанию использует RTMP. Весь Twitch-мир вырос именно на нём.

3. Корпоративные трансляции и вебинары

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

RTMP vs HLS vs DASH: почему эра изменилась

RTMP был идеальным решением для своего времени, но не смог шагнуть в новую эпоху:
  • пользователи стали требовать адаптивных битрейтов,
  • кодеки стали тяжелее и разнообразнее,
  • сети стали подвижнее, а аудитория — глобальнее.
HLS и DASH сделали то, чего RTMP не умел:
  • подстраивать качество к скорости интернета,
  • работать поверх обычного HTTP (что упрощает CDN),
  • поддерживать современные кодеки,
  • передавать несколько аудиодорожек,
  • встроить субтитры и метаданные.
Да, задержка у HLS и DASH выше, но современные low-latency-версии активно закрывают эту дыру.
RTMP же остался удобным канальным протоколом для доставки потока от энкодера до сервера, но не для воспроизведения конечному пользователю.

Ограничения, которые стали судьбоносными

  • Одна видеодорожка, один аудиоканал.
  • Никаких мультиязычных потоков.
  • Нет адаптивного битрейта.
  • При просадке сети пользователю просто «плохо».
  • TCP-зависимость.
  • Потеря пакета = мини-катастрофа.
  • Устаревшие кодеки.
  • Ни HEVC, ни AV1, ни современных аудиоформатов.
  • Нет стандартизированных субтитров или расширенных метаданных.
И всё это стало критично в эпоху, где стриминг конкурирует сам с собой за каждый миллисекундный аптайм.

Enhanced RTMP и забытые альтернативы

Индустрия пыталась спасти RTMP от устаревания:
  • Enhanced RTMP добавил поддержку H.265 и улучшенную структуру.
  • Распространение получило, но фрагментарно.
  • RTMFP — попытка делать стриминг поверх UDP.
  • Красивая идея, но так и не взлетела.
  • RTMPT — RTMP в туннеле HTTP.
  • Работало медленно, но проходило через корпоративные файрволы.
В итоге все эти варианты стали скорее историческими сносками.

RTMP в XXI веке: не умер, а ушёл в тень

Сегодня RTMP — это рабочая лошадка, которую зритель не видит, но без которой видеосервисы не будут работать гладко.
Он используется:
  • в продакшене стриминга,
  • в ingest-точках (приёме потока),
  • в энкодерах, веб-камерах и мобильных приложениях,
  • в OBS и аналогах.
RTMP прошёл путь от революционного прорыва до тихого профессионального инструмента. Он пережил Flash, пережил браузеры, пережил несколько технологических эпох — и всё ещё выполняет свою работу.
Современная индустрия стриминга построена на HLS, DASH, WebRTC и новых кодеках, но сердце прямых трансляций бьётся во многом благодаря RTMP, который и сегодня остаётся надёжным «рабочим конём» для ingest-потоков.
RTMP - это мост между ранним веб-видео и сегодняшним миром стриминга, где миллиарды пользователей ежедневно смотрят прямые эфиры. И мост этот всё ещё крепок, хотя построен был почти тридцать лет назад.