Wie kann man mit ffmpeg die Framerate eines Videos einstellen?

Melden
  1. Grundlagen der Framerate bei ffmpeg
  2. Framerate beim Einlesen gegenüber Framerate beim Ausgeben
  3. Praktische Beispiele zum Einstellen der Framerate
  4. Weitere Optionen zur Framerate-Steuerung
  5. Fazit

Die Einstellung der Framerate eines Videos mit ffmpeg ist ein häufiges Anliegen bei der Videobearbeitung, sei es zur Anpassung an eine gewünschte Bildrate oder zur Optimierung für bestimmte Abspielgeräte. ffmpeg bietet mehrere Möglichkeiten, die Framerate eines Videos zu verändern, abhängig davon, ob die Bildrate nur beim Ausgabedatei ausgewiesen oder tatsächlich die Anzahl der Einzelbilder im Video angepasst werden soll.

Grundlagen der Framerate bei ffmpeg

Die Framerate, oft in Bildern pro Sekunde (fps) angegeben, bestimmt, wie viele Einzelbilder pro Sekunde im Video angezeigt werden. ffmpeg erlaubt es, sowohl die Quellframerate beim Einlesen des Videos zu berücksichtigen als auch die Ausgabeframerate gezielt festzulegen. Dabei gibt es wichtige Optionen wie -r, die je nach Position im Befehl unterschiedliche Wirkungen haben können.

Framerate beim Einlesen gegenüber Framerate beim Ausgeben

Wird die Option -r vor dem Eingabedateinamen platziert, interpretiert ffmpeg das Quellvideo so, als hätte es die angegebene Framerate. Dies kann zur Veränderung der Dauer und Geschwindigkeit des Videos führen, da ffmpeg die Bilder mit der neuen Rate einliest.

Steht die Option -r dagegen nach der Eingabedatei und vor der Ausgabedatei, erzwingt ffmpeg, dass das Ausgabematerial mit der angegebenen Framerate codiert wird. Das bedeutet, dass ffmpeg entweder Frames dupliziert oder entfernt, um die gewünschte Ausgabeframerate zu erreichen, ohne die Wiedergabegeschwindigkeit zu verändern.

Praktische Beispiele zum Einstellen der Framerate

Ein Beispiel zum einfachen Setzen der Framerate für die Ausgabedatei wäre:

ffmpeg -i eingabe.mp4 -r 30 ausgabe.mp4

Hier wird das Video eingelesen mit der originalen Framerate, aber die Ausgabedatei auf 30 fps gesetzt. Frames werden hinzugefügt oder entfernt, um diesen Wert exakt zu erreichen.

Wird hingegen die Framerate beim Einlesen geändert, kann dies so aussehen:

ffmpeg -r 24 -i eingabe.mp4 ausgabe.mp4

In diesem Fall interpretiert ffmpeg das Quellmaterial so, als hätte es 24 fps und passt entsprechend die Dauer an.

Weitere Optionen zur Framerate-Steuerung

Neben -r kann die Verwendung von -vf fps= im Videofilter-Teil hilfreich sein, um sehr präzise mit der Framerate zu arbeiten. Hiermit lässt sich die Anzahl der ausgegebenen Frames ebenfalls steuern, zum Beispiel:

ffmpeg -i eingabe.mp4 -vf fps=25 ausgabe.mp4

Dies verwendet das fps-Filter, das Frames gegebenenfalls neu berechnet und so ein präziseres Ergebnis liefern kann als das einfache -r.

Fazit

Das Setzen der Framerate mit ffmpeg ist flexibel und hängt stark davon ab, ob die Abspielgeschwindigkeit verändert oder nur die Ausgabe angepasst werden soll. Die Positionierung der Option -r im Befehl hat entscheidenden Einfluss auf das Ergebnis. Um die Framerate nur für die Ausgabedatei zu setzen, sollte -r nach dem Eingabebefehl stehen. Für eine Uminterpretation der Quellframerate ist die Platzierung vor der Eingabedatei notwendig. Alternative Filter wie -vf fps= bieten zusätzliche Möglichkeiten, die Framerate zu steuern.

0

Kommentare