so ändern Sie die keyframe-Intervall in ffmpeg
Ich wollte, um das keyframe-Intervall des Eingangs-video für 5 Sekunden. Nur dann Erreiche ich eine Konstante 5 Sekunden HLS Segmentierung mit FFmpeg. Wie setzen Sie den keyframe Intervall auf 5 Sekunden mit FFmpeg? (FFmpeg prompt Zeile code geschätzt)
InformationsquelleAutor Samarth Misra | 2015-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie neu codieren. Set x264 - keyint-parameter 5*fps und deaktivieren scenecut. Wenn deine fps ist 24 zum Beispiel :
Dies ist natürlich nicht optimal für die Qualität, aber es wird passen Ihre Nachfrage.
Geändert
no-scenecut
zuscenecut=0
je seufz-boy Vorschlag.Haben Sie eine Quelle, die sagt, "wenn wir festlegen, keyframe-Intervall, passiert etwas schlimmes an Qualität" ?!
Es tut weh, entweder die Qualität oder die bitrate. Smart encorders platzieren von keyframes wenn es einen scenecut, so dass zukünftige frames kann eine saubere Referenz. Wenn Sie erzwingen, dass das Intervall, keyframes nicht optimal, für zukünftige frames und das wird weh tun die stream insgesamt.
InformationsquelleAutor Ely
Seufzer.
Den Fehlinformationen bezüglich der no-scenecut option schon länger als ich denken kann. Nie geben Sie einen Wert für nicht-scenecut.
Einen link zur Dokumentation finden Sie hier.
Für FFmpeg, die Sie verwenden müssen die folgenden zwei Optionen:
-g 120 definieren einen GOP von 120 frames zum erstellen einer fünf-Sekunden-GOP für 23,976 fps-Inhalte. Dies funktioniert in Verbindung mit dem no-scenecut option..
-x264opts no-scenecut zwingen keyframes erstellt werden, gemäß der GOP-Wert, der FFmpeg verwendet. Die Standardeinstellung für libx264 ist um ein Schlüsselbild zu erstellen, wenn es erkennt einen Szene ändern. Wenn Sie untersuchen eine Ausgabe-Datei mit MediInfo ohne diese option finden Sie unter "scenecut=40". Wenn es richtig gemacht wird "scenecut=0". Wenn diese option nicht verwendet, dann keyframes ausgerichtet sein, die für ABR-Inhalte und segment-Größen werden unberechenbar.
Nehmen Sie nicht mein Wort für Sie, führen Sie bitte die folgenden unter einer bash-shell, wo $inputfile ist der name der Datei, die Sie analysieren möchten. Wenn Sie die beiden Schalter oben gezeigt wird, dann werden Sie sehen, eine sehr gleichmäßige Trittfrequenz von keyframes dump ein, um die Eingabeaufforderung.
Können Sie auch auf einen Artikel, die ich schrieb über, wie man erstellen Sie die richtige ABR-Rahmen ausgerichtet Inhalte hier.
frame=key_frame
. Ist es möglich I-frames, die nicht von keyframes.InformationsquelleAutor Navilor