
Ich habe einen Ordner voller Bilder, die von 0 bis zu einer beliebigen Zahl reichen, und ich muss diese Bilder in ein Video umwandeln. Es sind alles PNG-Dateien. Hier ist der Befehl, den ich verwende:
ffmpeg.exe -f image2 -framerate 30 -pattern_type sequence -start_number 1 -r 30 -i "img%%04d.jpg" -s 1280x720 test.avi
Wenn ich dies ausführe, erhalte ich diesen Fehler:
[image2 @ 002be580] Could find no file with path 'img%04d.jpg' and index in the range 1-5
img%04d.jpg: No such file or directory
Was kann ich ändern, damit dies funktioniert?
Antwort1
Sequenzmuster
Der Standardmustertyp. img%d.jpg
erwartet img1.jpg
, img2.jpg
, usw. Bei Verwendung werden , , usw. img%04d.jpg
erwartet .img0001.jpg
img0002.jpg
ffmpeg -framerate 30 -i img%d.jpg -vf scale=1280:-1,format=yuv420p output.mp4
Glob-Muster
Ein Glob-Platzhaltermustertyp ist flexibel. Dieser Mustertyp ist verfügbar, wenn libavformat mit Globbing-Unterstützung kompiliert wurde.
ffmpeg -framerate 30 -pattern_type glob -i "*.png" -vf scale=1280:-1,format=yuv420p output.mp4
Anmerkungen
Sehen Sie sich dieFFmpeg Image2 Demuxer-DokumentationFür mehr Information.
Der
scale
FilterIn diesem Beispiel wird die Breite auf 1280 geändert und die Höhe wird automatisch berechnet, um das Seitenverhältnis beizubehalten.Abhängig von Ihrer Version, dem Eingabetyp (z. B. PNG), dem Encoder (insbesondere libx264) und den Kodierungsoptionen
ffmpeg
wird möglicherweise versucht, die Chroma-Unterabtastung zu vermeiden oder zu minimieren. Die meisten nicht auf FFmpeg basierenden Player können die Ausgabe jedoch nicht richtig dekodieren.format
Filterstellt sicher, dass die Ausgabe ein Chroma-Subsampling-Schema verwendet, das mit diesen Playern kompatibel ist.
Antwort2
Bei mir hat nur dies funktioniert, als ich den Befehl im selben Verzeichnis ausgeführt habe und Folgendes ausgeführt habe:
ffmpeg -framerate 20 -i Animation%3d.jpg -r 5 -y fileout.mp4
Für Dateien mit den Namen Animation000 bis 999.jpg.
Das hat bei mir nicht funktioniert:
ffmpeg -framerate 20 -pattern_type glob -i "*.jpg" -vcodec libx264 out.mp4
Es wurde der folgende Fehler generiert:
Mustertyp „Glob“ wurde ausgewählt, aber Globbing wird von diesem libavformat-Build nicht unterstützt. *.jpg: Funktion nicht implementiert