Mit ffmpeg ist dies sehr einfach und es kann alle N Sekunden ein Bild ohne zusätzliches Scripting ausgegeben werden . Zum Exportieren als Bildsequenz verwenden Sie einfach myimage_%04d.png
oder ähnliches als Ausgabe. Das %0xd
Bit wird in eine mit Nullen aufgefüllte Ganzzahl umgewandelt x
- das Beispiel, das ich gegeben habe, wird ausgegeben als
myimage_0000.png
,
myimage_0001.png
,
myimage_0002.png
usw..
Sie können eine Vielzahl von Standbildformaten (PNG, JPEG, TGA usw.) verwenden ( ffmpeg -formats
eine vollständige Liste finden Sie hier).
Ok, jetzt wissen wir, wie man den Film als Folge von Bildern exportiert, aber sagen wir, wir wollen nicht jedes einzelne Bild exportieren?
Der Trick besteht darin, die Framerate der Ausgabe mithilfe der -r n
Option, bei der n
die Anzahl der Frames pro Sekunde angegeben ist, einfach auf das zu ändern, was wir möchten . 1 Bild pro Sekunde wäre -r 1
, ein Bild alle vier Sekunden wäre -r 0.25
, ein Bild alle zehn Sekunden wäre -r 0.1
und so weiter.
Also um es alle zusammen, das ist , wie es aussehen würde , einen Rahmen von speichern input.mov
alle vier Sekunden output_0000.png
, output_0001.png
etc .:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Beachten Sie, dass die -r 0.25
Option hinter dem -i input.mov
Teil steht, da sie die Bildrate der Ausgabe steuert . Wenn Sie es vor die Eingabe stellen, wird die Eingabedatei so behandelt, als ob sie die angegebene Bildrate hätte.
Ändern Sie% xd auf die Anzahl der benötigten Stellen, z. B. wenn der Befehl mehr als 10.000 Frames erstellen würde, ändern Sie den Wert %04d
auf %05d
. Dies funktioniert auch für Eingabedateien mit Bildsequenz. Lesen Sie hier mehr .
Windows-Benutzer : In der Befehlszeile verwenden%
Beispiel: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
In CMD- und BAT-Skripten verwenden %%
Beispiel: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
Also doppelt %%
in Skripten und einfach %
in der interaktiven Befehlszeile. Wenn Sie es in beiden Situationen falsch machen, wird ein Fehler generiert.