RTMP

RTMP (Real-Time Messaging Protocol) — Adobe/Macromedia (2002). Живёт как ingest-протокол — стример пушит на сервер (YouTube Live, Twitch, VK Play, Kick). Плеер-часть RTMP умерла с Flash.

Транспорт

Handshake

3-way custom handshake: C0/C1/C2 ↔ S0/S1/S2 (по 1537 байт). Не совместим с HTTP или чем-либо ещё — отличительная черта.

Chunk stream

Данные разбиваются на chunks (128 или 4096 байт). Внутри — messages (audio, video, control, metadata). Мультиплексирует несколько streams в одну TCP-сессию.

Стример пушит

ffmpeg -re -i input.mp4 \
  -c:v libx264 -preset veryfast -b:v 4000k \
  -c:a aac -b:a 128k \
  -f flv rtmp://live.twitch.tv/app/<stream_key>

Транспорт кодеков

Enhanced RTMP

2023 — Enhanced RTMP: поддержка HEVC, AV1, Opus. Twitch, YouTube начали принимать. Adobe умер, но сообщество (Veovera Software Organization) обновляет спеку.

Latency

2-5 сек ingest → CDN → HLS плеер = 10-30 сек end-to-end. Для low-latency — WHIP+WHEP или SRT+LL-HLS.

Замены

КтоIngest сегодня
YouTubeRTMP(S) + HLS ingest + WebRTC (beta)
TwitchRTMP + Media Ingest (WHIP-like)
KickRTMP + Media Live
ProAVSRT

См. также

← на главную