
Ich habe einen Film mit einer Länge von 3 Minuten und 29 Bildern/Sek. Ich möchte ihn in Bilder im Abstand von 1/Sekunde aufteilen.
Ich verwende diesen Befehl:
ffmpeg.exe -i FILE0014.MOV -r 2 -f image2 -vcodec mjpeg -qscale 2 "%%05d.jpg"
aber das erzeugt mehr als 300 Bilder!
Die Protokolldatei zeigt:
Frame= 3 fps=0,0 q=0,0 Größe=N/A Zeit=00:00:01,00 Bitrate=N/A Dup=0 Drop=13
Frame= 4 fps=3,9 q=0,0 Größe=N/A Zeit=00:00:01,50 Bitrate=N/A Dup=0 Drop=33
Frame= 5 fps=3,2 q=0,0 Größe=N/A Zeit=00:00:02,00 Bitrate=N/A Dup=0 Drop=51
Frame= 7 fps=3,4 q=0,0 Größe=N/A Zeit=00:00:03,00 Bitrate=N/A Dup=0 Drop=67
Frame= 8 fps=3,1 q=0,0 Größe=N/A Zeit=00:00:03,50 Bitrate=N/A Dup=0 Drop=84
Frame= 9 fps=2,9 q=0,0 Größe=N/A Zeit=00:00:04.00 Bitrate=N/A Dup=0 Drop=102
Frame= 10 FPS=2,8 q=0,0 Größe=N/A Zeit=00:00:04.50 Bitrate=N/A Dup=0 Drop=120
Frame= 12 FPS=2,9 q=0,0 Größe=N/A Zeit=00:00:05.50 Bitrate=N/A Dup=0 Drop=137
die Zeitangabe beträgt nicht genau 1 Sekunde.
Kann mir jemand helfen, einen korrekten Befehl einzugeben?
Antwort1
versuchen:
ffmpeg -i file0014.mov -vf fps=1 -q:v 2 %03d.jpg
Im Einzelnen:
-vf fps=1
wählt einen Frame in gleichmäßigen 1-Sekunden-Intervallen aus
-q:v 2
(Abkürzung für Ihr qscale
) ist eine Qualitätsskala für JPEG-Bilder. 1 ist die höchste Qualität, 31 die niedrigste.