ffmpeg - Erstellt ein Video aus einem Bilderrahmen mit einem Start und einem Cout

18

Ich erstelle ein Video aus einem Bilderrahmen und es funktioniert großartig. Das Problem ist, dass ich nicht alle Bilder in meinem Ordner verwenden möchte. Ich habe 200 Bilder in meinem Ordner, aber ich möchte ein Video von 1 bis 100

Wie kann ich die Frame-Anzahl oder das Frame-Ende festlegen?

ffmpeg -start_number n -i test_% d.jpg -vcodec mpeg4 test.avi

Ich kann nicht finden wie

Vielen Dank!

DarkPixel
quelle
Ich weiß nicht viel über dieses Programm, aber wenn es jedes Bild in einem bestimmten Ordner verwendet, warum nicht einen neuen Ordner erstellen und nur die 100 gewünschten Frames einfügen?
Philipthegreat
2
Das wird meine "Hack-Lösung" sein, wenn es mit ffmpeg nicht geht :)
DarkPixel

Antworten:

29

Dazu geben Sie die Anzahl der gewünschten Frames an:

-vframes 100  

So effektiv ist es in Ihrem Fall:

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi

pix_fmtAbhängig von anderen Faktoren müssen Sie möglicherweise andere Parameter wie z. B. etc angeben .

Normalerweise verwendet man auch so etwas wie eine test_%05d.jpgnummerierte Folge mit vorangestellten Nullen und 5 Ziffern. Wenn Sie es nicht in diesem Format haben, müssen Sie möglicherweise ein Globbing-Muster verwenden. Sieh das .

Rajib
quelle
3

Dies ist Code, der für mich immer gut funktioniert.

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time

Zeit ist nur in Sekunden. Wenn es 2 Minuten vor der Rolle liegt, sind es 120. Eine Bilddatei ist immer eine Sekunde wert. Berechnen Sie also Ihr Wunschbild auf diese Weise.

yourfile.mp4 = Ihr Movieclip

snapshot.jpg = Ihre neue Bilddatei

WICHTIG: Lassen Sie image2 in Ruhe. Es ist nur ein Weg, um das zu bekommen, was ich wollte.

Faron
quelle
4
Ich schätze diesen Befehl, weil er mit alten Befehlen funktioniert, ffmpegdie ich gerade verwenden muss. Das einzige, was ist, -tist nicht "Endzeit", man ffmpegsondern "Dauer". Die Endzeit wäre also Start + Dauer. Prost!
Sdaau