RTMP¶
media.push.rtmp
Sapsan отправляет стрим по RTMP, самостоятельно устанавливая исходящее соединение. У стрима может быть несколько именованных пушей.
Настройка¶
Передайте настройки стрима через central.
Пуши стрима — это отображение «имя пуша — настройка», а не список. Имя уникально в пределах стрима и служит ключом: по нему пуш находят в конфигурации, в статистике и в метриках. Протокол у пуша ровно один.
streams:
- name: tv1
inputs:
- udp: {host: 239.0.0.1, port: 5000}
pushes:
delivery:
rtmp:
url: rtmp://a.rtmp.youtube.com/live2/xxxx-xxxx
| Протокол | Параметры |
|---|---|
rtmp |
url, connect_timeout_ms |
Имя пуша — это его идентичность. Переименование не переносит ни настройку, ни накопленные счётчики: старый пуш исчезает, новый начинает с нуля.
Возможности и поведение¶
- RTMP-пуш умеет H.264, AAC/MP3, HEVC и AV1 (enhanced RTMP), потоки только с аудио; таймстемпы при пуше начинаются с нуля, как ждут CDN.
- Ошибки пуша различаются и видны в статусе: отказ соединения, таймаут соединения, отказ публикации (
NetStream.Publish.BadName— ключ занят или неверен), зависший сервер (таймаут записи кадров).
Переподключение¶
Собственной политики повторов у пушера нет — его переподнимает стрим. Раз в пять секунд стрим сверяет работающие отправки с конфигурацией и заменяет умершего пушера новым; счётчик reconnects считает именно такие замены. Поэтому отправка на недоступный адресат не «сдаётся» и не требует ручного перезапуска: она будет подниматься, пока пуш включён.
Что реконнектом не считается:
- правка настройки пуша — пушер тоже перезапускается, но это решение оператора, а не отказ канала;
- выключение и включение (
enabled: false) — выключение не удаление: настройка и накопленные счётчики остаются, отправки нет.
Выключение и удаление¶
Выключенный пуш остаётся в конфигурации со своим именем: статистика показывает его со статусом «выключен», счётчики заморожены на последних значениях, включение продолжает счёт с них же. Удаление ключа удаляет и статистику: счётчики привязаны к имени.
Мониторинг¶
У каждого пуша своя статистика — адресат, статус, причина отказа, скорость, байты, ошибки, реконнекты. Разбор полей, серии Prometheus и рецепты алертинга — на странице Статистика.
Транспорт¶
RTMP через TCP; Sapsan устанавливает исходящее соединение с адресом url.
Поддерживаемые кодеки¶
- H.264
- HEVC (Enhanced RTMP)
- AV1 (Enhanced RTMP)
- AAC
- MP3
Пуш упаковывает кодированные дорожки в FLV и не перекодирует их. Для HEVC и AV1 приёмник должен поддерживать Enhanced RTMP; наличие поддержки H.264/AAC этого не гарантирует.