Ubuntu-> Ngnix-> ffmpeg -> Streaming to Twitch (1-Pass (CBR) - Ok, 2-Pass <- NICHT funktioniert)

0

(Nginx-Konfigurationsdatei) OBS senden an transcode- & gt;

Anwendungs-Transcoder
{ exec ffmpeg -y -i rtmp: // localhost / transcoder -b: v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -preset medium -s 1920x1080 -sws_flags hal-hrd = cbr: force-cfr = 1: keyint = 120 -pass 1 -an -f flv / dev / null;

exec ffmpeg -i rtmp: // localhost / transcoder -b: v 6000k -minrate 5500k -maxrate 6500k -bufsize 7000k -vcodec libx264 -preset medium -s 1920x1080 -sws_flags bicubic -r 60 -x264-params hal-hrd = cbr: force-cfr = 1: keyint = 120 -pass 2 -acodec aac -ab 160k -strict -2 -f flv rtmp: // localhost / transcoded-1080 /; }

Anwendung transcoded-1080 { push rtmp: // ...

}

Wie schreibe ich, um 2-Pass-Streaming zu bekommen ???

Mikhail
quelle

Antworten:

1

Das kannst du nicht. 2 Durchläufe funktionieren, indem der Stream einmal für "Übung" codiert und diese Informationen verwendet werden, um ein Bitratenbudget zu erstellen, wenn der zweite Durchlauf für echt ausgeführt wird. Damit Pass 1 abgeschlossen werden kann, muss der gesamte Stream beginnen und enden. 2 Pass für Live-Video ist ein Oxymoron.

Die einzige Ausnahme ist nvenc. nvenc hat einen Geschwindigkeitsregelungsmodus nvidia nennt "2 pass", aber es sind nicht die gleichen zwei pass wie x264.

szatmary
quelle