-pattern_type glob
concrete voorbeelden met audio
Deze optie werd genoemd op: https://superuser.com/a/782520/128124 maar hier zijn een paar concrete voorbeelden van het gebruik ervan, inclusief van het toevoegen van audio aan de output video.
Slideshow video met één beeld per seconde
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Voeg er wat muziek aan toe, en zet de audio uit als de beelden afgelopen zijn:
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 zijn twee demo’s op YouTube:
Wees een hippie en gebruik het Theora patent-ongelimiteerde video formaat :
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
Uw beelden moeten natuurlijk alfabetisch gesorteerd worden, typisch als:
0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
enzovoort.
Zie ook: http://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps/339399#339399
Normale snelheid video met één beeld per frame bij 30 FPS
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
Zo ziet het er uit:
GIF gegenereerd met: https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line/837574#837574
Voeg er wat audio aan toe:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Resultaat: https://www.youtube.com/watch?v=HG7c7lldhM4
Een muziekbestand omzetten naar een video met een vaste afbeelding voor YouTube upload
Beantwoord op: Hoe converteer ik MP3 naar een videoformaat dat door Youtube is toegestaan? ](https://superuser.com/questions/700419/how-to-convert-mp3-to-youtube-allowed-video-format/1472572#1472572)
Krijg enkele synthetische test-invoerbeelden
Dit zijn de testbeelden die ik in dit antwoord heb gebruikt:
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
Beelden gegenereerd met: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Het is cool om te zien hoeveel de video de beeldsequentie veel beter comprimeert dan ZIP, omdat het in staat is om frames te comprimeren met gespecialiseerde algoritmen:
opengl-rotating-triangle.mp4
: 340K
opengl-rotating-triangle.zip
: 7.3M
Over de CLI opties
Merk echter op dat ondanks de naam, -glob
dit niet zo algemeen is als shell Glob patters, bijv: -i '*'
mislukt: https://trac.ffmpeg.org/ticket/3620 (blijkbaar omdat filetype wordt afgeleid uit extensie).
-r 30
maakt de -framerate 1
video 30 FPS om bugs in spelers als VLC voor lage framerates te ondervangen: https://stackoverflow.com/questions/19267443/playback-issues-in-vlc-with-low-fps-video-from-images-using-ffmpeg/41797724#41797724 Daarom herhaalt het elk frame 30 keer om het gewenste 1 beeld per seconde effect te behouden.
Volgende stappen
Je zult ook willen:
TODO: leer om meerdere audiobestanden in de video te knippen en samen te voegen vanaf de opdrachtregel:
ffmpeg 3.4.4, vlc 3.0.3, Ubuntu 18.04.
Bibliografie