Sequenzmuster

Sequenzmuster

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.jpgerwartet img1.jpg, img2.jpg, usw. Bei Verwendung werden , , usw. img%04d.jpgerwartet .img0001.jpgimg0002.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.

  • DerscaleFilterIn 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 ffmpegwird 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.formatFilterstellt 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

verwandte Informationen