FFmpeg mehrere Videoausgänge von Bildserien

305
Vincent Bavaro

Ich habe ein Programm, das unendliche Bitmap-Bilder in einem Ordner generiert (00001,00002 usw.), und ich brauche ffmpeg, um aus allen 5 Sekunden MPEG-4-Videos mit festgelegter Auflösung zu erstellen und all diese Videos nacheinander in einen Ordner zu legen ( Ich muss es für einen möglichen HTML5-Stream testen, aber dies wird wahrscheinlich eine andere Frage sein. Bisher habe ich mit versucht

ffmpeg -r 2 -s 1920x1200 -i C:\Desktop\input\%05d.bmp -vcodec libx264 -pix_fmt yuv420p -vframes 10 C:\Desktop\output\%05d.mp4 

Ich denke, dass es mehrere Videos produzieren wird, aber ich habe mich geirrt. Gibt es einen möglichen Weg (vielleicht mit etwas -map-Code)?

0
Verwenden Sie den "Segment" -Muxer, siehe den verknüpften Beitrag. Für HTML5-Segmente möchten Sie möglicherweise den Muxer `dash 'oder` hls` verwenden, je nachdem, wie Sie das Streaming verwenden, und möglicherweise weitere Optionen festlegen. Abhängig von Ihrem Anwendungsfall. slhck vor 5 Jahren 0
Ich habe es mit dem Befehl -segment versucht, aber obwohl der Name des Videos korrekt ist, stoppt ffmpeg beim ersten Video. Ich habe mit 30 Bildern versucht, die 3 Videos produzieren sollen. Segmente sollten die Videoausgabe aufteilen, aber ich brauche eigentlich, dass das Programm ständig läuft und Videos aus meiner ständig erzeugten Serie von Bitmaps erzeugt. Vincent Bavaro vor 5 Jahren 0
Sie verwenden `-vframes 10`, wodurch die Ausgabe von ffmpeg nach 10 Frames beendet wird. Entfernen Sie einfach diese Option. slhck vor 5 Jahren 0
Ok das war das Problem, danke. Mir ist aufgefallen, dass ffmpeg während des Generierens von Bildern vorzeitig stoppt, da es schneller als das Skript ist. Gibt es eine Möglichkeit, den Betrieb aufrechtzuerhalten, bis die Bilder nicht mehr erzeugt werden? Vincent Bavaro vor 5 Jahren 0
Sie sollten in der Lage sein, `-re -r 2… -i input` zu verwenden, damit die Eingabe in Echtzeit verbraucht wird. slhck vor 5 Jahren 0
Ich habe es versucht, es funktioniert nicht. ffmpeg wird immer noch nicht mehr ausgeführt, sobald die ersten möglichen Bilder verarbeitet wurden. Mein Skript erzeugt danach ständig Bilder, aber ffmpeg wird angehalten. Hier ist mein Code ffmpeg -re -r 2 -s 1920x1200 -i C: \ Desktop \ input \% 05d.bmp -vcodec libx264 -pix_fmt yuv420p -map 0 -segment_time 5 -g 5 -sc_threshold 0 -force_key_frames "expr: gte ( t, n_forced * 5) "-f Segment C: \ Desktop \ Ausgabe \% 05d.mp4 Vincent Bavaro vor 5 Jahren 0
Sie müssen dem Puffer wahrscheinlich etwas Zeit geben. Wenn Sie Ihre Frage mit dem aktuellen Code und der vollständigen Befehlszeilenausgabe aktualisieren können, kann ich sie erneut öffnen. slhck vor 5 Jahren 0
Wie Sie sehen, haben Sie bereits eine neue Frage gestellt (https://superuser.com/questions/1375257/keep-ffmpeg-running), also werde ich diese geschlossen halten. slhck vor 5 Jahren 0
Ja, da der Segment-Muxer mein Ausgabeproblem gelöst hat, war die neue Frage bezüglich des Live-Effekts von ffmpeg. Es ist in Ordnung, dies geschlossen zu halten. Vincent Bavaro vor 5 Jahren 0

0 Antworten auf die Frage