-pattern_type glob
konkrete Beispiele mit Audio
Diese Option wurde unter https://superuser.com/a/782520/128124 erwähnt. Hier sind jedoch einige konkrete Beispiele für ihre Verwendung, einschließlich des Hinzufügens von Audio zum ausgegebenen Video.
Diashow-Video mit einem Bild pro Sekunde
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Fügen Sie etwas Musik hinzu und unterbrechen Sie die Audiowiedergabe, wenn die Bilder enden:
ffmpeg -framerate 1 -pattern_type glob -i '*.png' -i audio.ogg \
-c:a copy -shortest -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Hier sind zwei Demos auf YouTube:
Sei ein Hippie und nutze das von Theora patentfreie Videoformat :
ffmpeg -framerate 1 -pattern_type glob -i '*.png' -i audio.ogg \
-c:a copy -shortest -c:v libtheora -r 30 -pix_fmt yuv420p out.ogg
Ihre Bilder sollten natürlich alphabetisch sortiert sein, normalerweise wie folgt:
0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
und so weiter.
Siehe auch: http://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps/339399#339399
Normalgeschwindigkeitsvideo mit einem Bild pro Bild bei 30 Bildern pro Sekunde
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
So sieht es aus:
GIF generiert mit: https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line/837574#837574
Fügen Sie etwas Audio hinzu:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Ergebnis: https://www.youtube.com/watch?v=HG7c7lldhM4
Konvertieren Sie eine Musikdatei in ein Video mit einem festen Bild für den YouTube-Upload
Beantwortet bei: Wie konvertiere ich MP3 in das von YouTube zugelassene Videoformat?
Erhalten Sie einige synthetische Testeingabebilder
Dies sind die Testbilder, die ich in dieser Antwort verwendet habe:
wget -O opengl-rotating-triangle.zip https://github.com/cirosantilli/media/blob/master/opengl-rotating-triangle.zip?raw=true
unzip opengl-rotating-triangle.zip
cd opengl-rotating-triangle
wget -O audio.ogg https://upload.wikimedia.org/wikipedia/commons/7/74/Alnitaque_%26_Moon_Shot_-_EURO_%28Extended_Mix%29.ogg
Bilder generiert mit: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Es ist cool zu beobachten, wie stark das Video die Bildsequenz besser komprimiert als ZIP, da es mit speziellen Algorithmen über Frames hinweg komprimiert werden kann:
opengl-rotating-triangle.mp4
: 340K
opengl-rotating-triangle.zip
: 7,3M
Über die CLI-Optionen
Beachten Sie jedoch, dass dies trotz des Namens -glob
nicht so allgemein ist wie Shell-Glob-Muster, z. B .: failed -i '*'
: https://trac.ffmpeg.org/ticket/3620 (anscheinend, weil der Dateityp von der Erweiterung abgeleitet wird).
-r 30
macht das -framerate 1
Video 30 FPS, um Fehler in Playern wie VLC für niedrige Frameraten zu überwinden: https://stackoverflow.com/questions/19267443/playback-issues-in-vlc-with-low-fps-video-from-images-using- ffmpeg / 41797724 # 41797724 Daher wird jeder Frame 30-mal wiederholt, um den gewünschten Effekt von 1 Bild pro Sekunde beizubehalten .
Nächste Schritte
Sie möchten auch:
TODO: Erfahren Sie, wie Sie mehrere Audiodateien über die Befehlszeile ausschneiden und in das Video verketten können:
Getestet am
ffmpeg 3.4.4, vlc 3.0.3, Ubuntu 18.04.
Literaturverzeichnis