Real Time Messaging Protocol - протокол потоковой передачи данных. Чаще всего используется для передачи потокового видео и аудиопотоков с веб-камер через интернет.
RTMP (кроме RTMFP) — это протокол TCP , который использует постоянные соединения и обеспечивает связь с малой задержкой (по сравнению с HTTP). Для бесперебойной доставки потока и отправки как можно большего количества информации поток делится на фрагменты, размер которых динамически согласовывается между клиентом и сервером.
Варианты протокола RTMP
Существует несколько вариантов протокола RTMP:
- RTMP (обычный протокол) — работает через TCP с номером порта по умолчанию 1935.
- RTMPS - RTMP через соединение TLS/SSL .
- RTMPE — шифрование RTMP на основе совместного использования ключей Диффи-Хеллмана. Предпочтительнее использовать RTMPS из-за несовершенной конструкции и уязвимости, позволяющей проводить атаки типа «человек посередине».
- RTMPT — завернутый в HTTP. Он может включать RTMP, RTMPS, RTMPE.
- pRTMP - RTMP с Primetime DRM.
- RTMFP — в отличии остальных вариантов, работающих по TCP, работает через UDP. Используется для голосового чата и видеочата.
Метод работы RTMP протокола
Вариант TCP использует постоянное соединение для обеспечения связи в реальном времени. Большие блоки данных передаются для обеспечения плавного воспроизведения. Протокол разбивает данные на блоки по 64 байта для аудио и 128 байт для видео и других типов данных. Фрагменты нескольких потоков чередуются и мультиплексируются в одном соединении. Кусок данных достаточно велик, а заголовок фрагмента составляет всего 1 байт, поэтому накладные расходы невелики. Однако на практике отдельные фрагменты обычно не чередуются. Вместо этого чередование и мультиплексирование выполняются на уровне пакетов, создавая пакеты RTMP для нескольких активных каналов в соответствии с их требованиями к пропускной способности, задержке и качеству обслуживания. Когда пакеты чередуются таким образом, они обрабатываются независимо, а не на уровне фрагментов.
С настройкой публикации по RTMP есть ряд сложностей. Дело в том, что протокол RTMP не имеет как таковых адресов. При подключении к серверу по RTMP клиент указывает имя сервера + имя приложения, а потом уже указывает в какой поток публиковать или какой поток проигрывать.
Как настроить публикацию по RTMP
Бесплатный триал Flussonic Media Server
Пожалуйста, заполните форму для получения бесплатного тестового ключа.
Если вы не получите от нас письмо в течение 30 мин, проверьте в спаме и добавьте наш адрес в избранные контакты.
Email:
support@flussonic.com
Phone:
+7 (495) 481-37-63