Ce face -f flv (RTMP Live Streaming)
Muxerul -f flv împachetează fluxul multimedia în formatul Flash Video cerut de protocolul RTMP (Real-Time Messaging Protocol), standardul universal de ingestie folosit de toate marile platforme de streaming.
Pentru a emite un stream stabil fără erori de conexiune, se folosește întotdeauna codare H.264 cu profil main sau high, sunet AAC la 44.1 sau 48 kHz, GOP fix de 2 secunde (-g 60 la 30 fps) și parametrul -re dacă sursa este un fișier local.
Este comanda aflată în spatele multor unelte precum OBS Studio pentru broadcast automatizat.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-f flv |
Formatul de container cerut de protocolul RTMP. |
rtmp://adresa/live/cheie |
URL-ul serverului de ingestie furnizat de platforma de streaming. |
Ce returnează
Conectarea socket-ului TCP și trimiterea continuă de cadre în timp real.
Exemple
Exemplul 1: Transmisie live pe YouTube cu rată fixă de 5 Mbps
Configurează parametrii VBV pentru o transmisie fără sacadări.
ffmpeg -re -i emisiune.mp4 -c:v libx264 -preset veryfast -b:v 5000k -maxrate 5000k -bufsize 10000k -g 60 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/XXXX-XXXX-XXXX-XXXX"
Ieșire în terminal
Output #0, flv, to 'rtmp://a.rtmp.youtube.com/live2/XXXX-XXXX-XXXX-XXXX':
frame= 450 fps= 30 q=21.0 size= 9210kB time=00:00:15.00 bitrate=5028.1kbits/s speed=1.0x
Greșeli frecvente
- Omiterea ghilimelelor în jurul adresei RTMP când cheia conține caractere speciale sau ampersand (&).
- Încercarea de a trimite codecuri incompatibile cu containerul FLV (cum ar fi video VP9 sau subtitrări text).
Comenzi înrudite
-re (Rulare la framerate nativ): Citește fișierul de intrare la viteza sa nativă de cadre pe secundă, esențial pentru live streaming.-b:v (Bitrate video și constrângeri): Setează rata țintă de biți pentru fluxul video, plafonul maxim și memoria tampon a decodorului.-g și -keyint_min (Interval GOP / Cadre cheie): Stabilește distanța maximă și minimă dintre cadrele cheie I-Frames (Group of Pictures).