Протокол RTMP / RTMPS¶
RTMP (Real-Time Messaging Protocol) доступен в «Perfect Streamer» и на приём (input), и на передачу (output) на базе FFmpeg avformat. Типовые сценарии — публикация телеканала на внешние площадки (YouTube, Facebook и любые RTMP-приёмники) и приём потока с RTMP-сервера. Защищённый вариант RTMPS (RTMP поверх TLS) поддерживается для обоих направлений; в этом случае «Perfect Streamer» выступает TLS-клиентом.
RTMP — single-program-протокол, поэтому input и output RTMP доступны только для SPTS-стримов.
RTMP input (приём)
«Perfect Streamer» подключается как RTMP-клиент к указанному источнику rtmp:// или rtmps:// и забирает поток (режим pull). Принятые элементарные потоки (видео H.264 или HEVC, звук AAC) ремультиплексируются во встроенный MPEG-TS и подаются в pipeline стрима. Режима ожидания входящей публикации (listen / push) нет — приём всегда инициирует сам «Perfect Streamer».
Настройки RTMP input:
URL — полный адрес RTMP-сессии, например
rtmp://origin.example/live/streamkey. Допускаются схемыrtmpиrtmps.Bind Interface — локальный интерфейс или IP-адрес, с которого устанавливается исходящее соединение. По умолчанию выбирается маршрутом операционной системы.
Timeout — таймаут подключения и чтения, от 1 до 120 секунд. По умолчанию 10.
TLS Verify — для
rtmpsпроверять сертификат сервера. По умолчанию выключено.Trace — подробный лог для диагностики подключения.
RTMP output (публикация)
«Perfect Streamer» публикует SPTS-поток на внешний RTMP-приёмник: подключается как RTMP-клиент к адресу публикации площадки и передаёт поток (режим publish). RTMP — single-program-формат: публикуется одно видео (H.264 или HEVC) и не более одной звуковой дорожки AAC. Если в источнике несколько дорожек, выбирается по одной видео- и аудиодорожке; лишние и несовместимые (например, не-AAC звук) не передаются. Сузить многодорожечный источник заранее можно фильтрами PID Accept / PID Reject (см. «Фильтрация и модификация MPEG-TS»).
Видео HEVC публикуется через Enhanced RTMP — включено опцией Allow HEVC. Если приёмная площадка не поддерживает HEVC, отключите опцию: тогда публикуется только H.264.
Перед началом публикации поток анализируется. Если совместимого видео нет, публикация не выполняется. Результат анализа доступен в статистике потока: признак возможности публикации, выбранные кодеки видео и звука, перечень отброшенных дорожек и состояние соединения.
Настройки RTMP output:
URL — адрес публикации площадки, например
rtmp://a.rtmp.youtube.com/live2/<stream-key>. Допускаются схемыrtmpиrtmps.Bind Interface — локальный интерфейс или IP-адрес исходящего соединения. По умолчанию — маршрут операционной системы.
Timeout — таймаут подключения и передачи, от 1 до 120 секунд. По умолчанию 10.
Allow HEVC — разрешить публикацию видео HEVC через Enhanced RTMP. По умолчанию включено; при выключении передаётся только H.264.
TLS Verify — для
rtmpsпроверять сертификат сервера. По умолчанию выключено.Trace — подробный лог для диагностики публикации.
Примеры адресов публикации:
YouTube —
rtmp://a.rtmp.youtube.com/live2/<stream-key>Facebook —
rtmps://live-api-s.facebook.com:443/rtmp/<stream-key>