Ist es möglich, aus einer bestimmten Anzahl zu zählen, wenn Sie Bilder mit FFmpeg aus einem Video extrahieren?

421
Konstantin

Ich verwende ffmpeg, um Standbilder aus einem Video zu extrahieren. Zuerst vom Anfang des Videos zu einer bestimmten Zeit und dann vom Ende des Videos aus einer bestimmten Zeit. Daher verwende ich zwei ffmpeg-Befehlszeilen, um mein Ziel zu erreichen. Mein Problem ist, wenn ich die Bilder speichere, beginnen beide Sequenzen mit 1 oder 00000001, und ich möchte die zweite Sequenz mit einer anderen (aber größeren) Nummer als die erste Sequenz beginnen. Mein Befehl ist:

wine avs2yuv.exe input1.avs - | ffmpeg -y -f yuv4mpegpipe -i - -f image2 -vf fps=fps=0.1 -q:v 2 ./thumb001/%09d.jpg"  wine avs2yuv.exe input2.avs - | ffmpeg -y -f yuv4mpegpipe -i - -f image2 -vf fps=fps=15 -q:v 2 ./thumb002/%09d.jpg" 

Ich habe meine Avisynth-Dateien erstellt, um die passenden Teile des Videos zu erhalten, die ich brauche. Wenn der erste Befehl beispielsweise 1500 Bilder enthält, ist der Name der letzten Datei 000001500.jpg. Ich möchte, dass der zweite Befehl die Zählung von 1501 oder mehr startet, um Dateinamen von 000001501.jpg, 000001502.jpg usw. zu erhalten.

0

1 Antwort auf die Frage

1
LordNeckbeard

Verwenden Sie die -start_numberOption für den image2-Muxer. Aus der Dokumentation :

-start_number

Starten Sie die Sequenz von der angegebenen Nummer. Der Standardwert ist 1. Muss eine nicht negative Zahl sein.

Ihr Befehl würde dann so aussehen:

wine avs2yuv.exe input2.avs - | ffmpeg -y -f yuv4mpegpipe -i - \ -vf fps=fps=15 -q:v 2 -start_number 1501 ./thumb002/%09d.jpg