ffmpeg - genauen Zeitabstand für Bilder festlegen

ffmpeg - genauen Zeitabstand für Bilder festlegen

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=1wä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.

verwandte Informationen