Ich verwende diesen Befehl in ffmpeg, um ein Video in Bilder umzuwandeln:
ffmpeg -i video.mp4 -q:v 1 -r 1 -f image2 frame-03d%.jpg
Ich möchte die ersten x Sekunden und die letzten y Sekunden des Videos bei der Frame-Konvertierung überspringen, also im Grunde Intro und Schluss. Jedes Video hat eine andere Länge, aber Intro und Schluss sind in jedem Video immer gleich (etwa 30 Sekunden). Gibt es eine Möglichkeit, dies zu tun?
Antwort1
ffmpeg -i BigBuckBunny_320x180.mp4 -ss 00:00:09.000 -t 60 -q:v 1 -r 1 -f image2 image_%05d.jpeg
-ss start time
-t duration from start time
oder verwenden Sie trim
ffmpeg -i BigBuckBunny_320x180.mp4 -vf trim=09:69 -r 1 -f image2 image_%05d.jpeg
So erhalten Sie die Dauer eines Videobeispiels.
ffprobe -v quiet -show_streams -select_streams v:0 -show_entries stream=Dauer BigBuckBunny_320x180.mp4 | grep Dauer | awk -F= '{print $2}'