Ich habe Videoframes im PNG-Format mit 1 FPS und versuche, sie mit ffmpeg in ein Video zu konvertieren.
Wenn ich so etwas mache:
ffmpeg -i data/input-%4d.png data/output.mp4
Ich erhalte ein Video mit 25 Bildern pro Sekunde, was im Grunde genommen ein sehr schneller Vorlauf des Eingangs ist (der mit 1 Bildern pro Sekunde aufgenommen wird).
Wenn ich es versuche:
ffmpeg -i data/input-%4d.png -r 1 data/output.mp4
Ich bekomme etwas, das VLC nicht spielen möchte :)
Wenn ich jetzt das erste Video (das FF-Video) nehme und einen Filter anwende, um es zu verlangsamen (z. B. -filter:v 'setpts=24.0*PTS'
), kann ich es wie ein 1-fps-Video wiedergeben, aber der Preis ist natürlich die Dateigröße. Es generiert eine Reihe von wiederholten Frames, denke ich.
Die Frage ist also, wie erstelle ich ein Video, das genau 1 FPS hat und tatsächlich mit dieser Geschwindigkeit abgespielt wird? Das Ausgabeformat ist übrigens für mich nicht so wichtig.
-r 1
.
ffmpeg
schlau genug bin , den Videocodec nur anhand der Dateierweiterung im Containerformat herauszufinden.mp4
. Versuchen Sie-vcodec libx264 -vpre hq
, der Befehlszeile den Codec und die Codierungsparameter hinzuzufügen .