Erstellen eines Videos aus einem einzelnen Bild für eine bestimmte Dauer in ffmpeg

89

Wie erstelle ich einen Film mit ffmpeg unter Verwendung eines einzelnen Bildes (image1.png) für eine Dauer von 15 Sekunden mit einer bestimmten Auflösung? Wenn ich das Video abspiele, wird das Bild 15 Sekunden lang auf dem Bildschirm angezeigt.

Dharmesh
quelle

Antworten:

132
ffmpeg -loop 1 -i image.png -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 out.mp4
  • Das -t 15 macht es 15 Sekunden lang.
  • Der -vf-Maßstab = 320: 240 legt die Breite / Höhe fest.

Stellen Sie sicher, dass Sie die neueste ffmpeg-Version verwenden, z. B. http://johnvansickle.com/ffmpeg/

Equanox
quelle
1
Unable to find a suitable output format for 'scale=1280:1024' scale=1280:1024: Invalid argumentIrgendeine Idee warum?
Agey
1
@Equanox Ich hatte das gleiche Problem, aber es wurde durch das "\" - Zeichen beim Kopieren und Einfügen verursacht. Durch Entfernen wird das Problem behoben.
user1319182
3
Es beantwortet die Frage, aber ich mag die Verwendung all dieser redundanten Ergänzungen im Befehl nicht.
Joey
15
@joey Me auch nicht, vor allem, weil OP nicht nach etwas Bestimmtem gefragt hat. Sie möchten ein Video aus einem einzelnen Bild erstellen und interessieren sich überhaupt nicht für Details? ffmpeg -loop 1 -i image.png -t 5 out.mp4
Doe Johnson
4
Das ist großartig, aber ... es dauert ewig und schmilzt meine CPU, um ein 40-minütiges Video basierend auf einem einzelnen 720p-PNG-Bild zu erzeugen. Gibt es eine Möglichkeit, es zu beschleunigen? Die Komprimierung spielt keine Rolle, solange sie unter ein paar GB bleibt.
HunterZ