Что такое RTMP (протокол обмена сообщениями в реальном времени)?

RTMP обеспечивает плавную потоковую передачу аудио- и видеоконтента. Этот сетевой протокол необходим для передачи закодированных сигналов в сеть доставки контента, или сокращенно CDN.

История протокола обмена сообщениями в реальном времени

Протокол RTMP был разработан компанией Adobe Inc. Изначально он использовался для передачи данных между серверами и Adobe Flash Player. Это было широко распространено, поэтому протокол Real Time Messaging Protocol также получил широкое распространение. Хотя Adobe Flash Player был снят с производства в конце 2020 года, RTMP по-прежнему очень популярен и является сетевым протоколом, используемым в основном для потоковой передачи данных. Однако для доставки потока на современные устройства, которые часто уже не поддерживают RTMP из-за использования HTML5, часто используется комбинация RTMP и HLS.

Как работает протокол обмена сообщениями в реальном времени

Сначала сигнал должен быть закодирован, чтобы обеспечить передачу аудио- или видеоконтента в потоковом режиме через Интернет. Для этого используются потоковые кодировщики. Затем закодированный сигнал передается на сервер RTMP с помощью протокола RTMP. В задачу протокола также входит передача закодированных сигналов в сеть доставки контента или онлайн-видеоплатформу. То, как именно происходит эта передача, зависит от используемого варианта RTMP.

Стандартный вариант сетевого протокола использует TCP через порт 1935 в качестве транспортного протокола. Сначала происходит обмен блоками данных между клиентом и сервером. Этот процесс также называется рукопожатием. Таким образом, серверу сообщается, какая версия протокола используется. Кроме того, на сервер отправляется метка времени. Соединение может быть установлено, как только сервер сообщит, что он получил эти два блока данных и когда.

Для этого клиент посылает серверу запрос на соединение в формате сообщения action, а затем ждет подтверждения от сервера. Получив подтверждение, клиент может начать потоковую передачу данных в реальном времени.

При этом устанавливается постоянное соединение, которое может использоваться для передачи данных в реальном времени. Потоковые данные передаются блоками разного размера. Для видеоданных размер блока составляет 128 байт, для аудиоданных — 64 байта. Латентность RTMP относительно низкая благодаря использованию TCP.

Другой вариант протокола обмена сообщениями в реальном времени — RTMPT, основанный на HTTP. Здесь используется техника туннелирования для обхода брандмауэров. RTMPS на основе HTTPS работает аналогично.

С сервера RTMP поток также может быть передан непосредственно на конечные устройства с помощью HLS.

Области применения RTMP

В целом, протокол обмена сообщениями в реальном времени используется в двух областях. Первая область применения RTMP — это передача данных между кодером и сервером. Этот вариант использования также называют «доставкой первой мили».

Поскольку Flash Player больше не существует, RTMP больше не может использоваться для передачи данных непосредственно конечным пользователям. Поэтому во втором случае необходимо использовать сеть доставки контента или онлайн-видеоплатформу. С помощью RTMP данные с сервера пересылаются им.

Совет

Если вы хотите создать свой собственный RTMP-сервер, сначала необходимо определиться с операционной системой сервера. Вы можете выбрать Windows или различные серверные дистрибутивы Linux.

Оцените статью
cdelat.ru
Добавить комментарий