Skip to content

RTMP

media.ingest.rtmp

Описание

Sapsan умеет забирать RTMP-поток с другого сервера в режиме клиента (pull). Про прием входящих RTMP-публикаций (push в Sapsan) читайте на странице прием публикаций.

Настройка

Настройка выполняется через API central. Фрагмент конфигурации стрима:

streams:
  - name: relay
    inputs:
    - rtmp:
        url: rtmp://origin.example.com/live/streamkey
        peer_timeout_ms: 5000

Параметры

Параметр Описание
url адрес удалённого RTMP-стрима.
peer_timeout_ms таймаут отсутствия данных.

Аутентификация

Учётные данные указываются в URL: rtmp://user:password@origin.example.com/live/streamkey. Поддерживается Adobe/FMS-аутентификация authmod=adobe.

Варианты транспорта

RTMP поверх TCP. Поддерживается приём стримов только со звуком.

Поддерживаемые кодеки

  • H.264
  • HEVC (Enhanced RTMP, hvc1)
  • AV1 (Enhanced RTMP, av01)
  • AAC
  • MP3

RTMP переносит сообщения FLV; Enhanced RTMP задаёт FourCC видеокодека. Списки относятся к приёму и передаче сжатых кадров в тракт. AV1 требует Enhanced RTMP с av01; одной настройки AV1 в отправителе без этой упаковки недостаточно. MP3 принимается как аудио FLV, отдельно от AAC.

Поведение при ошибках

Коды отказа сервера различаются и видны в статусе входа: поток не найден, доступ запрещен, поток остановлен, ошибка протокола. Обрыв соединения и молчание сервера (peer_timeout_ms) тоже различаются. LSI переключается на резервный вход по любой из этих причин.

Применение изменений

Смена url перезапускает источник; смена только peer_timeout_ms применяется на лету.

Счётчики

Ниже — точные имена полей протокольной статистики. counter накапливает события, gauge показывает текущее значение; список включает оба вида. Нулевые поля могут отсутствовать в ответе. API и Prometheus используют разные проекции: весь список не следует ожидать в одном ответе Admin API. Доступ к детализации зависит от лицензии на счётчики.

Общие показатели входа: bytes, frames, errors, warnings. Они суммируют данные протокола, поэтому складывать их с протокольными счётчиками повторно не нужно.

Rtmp

Поле Тип
bytes counter
outgoing_bytes counter
frames counter
rtmp_script_data counter
memory_bytes gauge

Прочее

Метаданные onMetaData сопровождают медиапоток. Повреждение необязательных метаданных не прекращает приём видео и звука.

Что дальше