-pattern_type glob
sesli somut örnekler
Bu seçenek şu adreste belirtilmiştir: https://superuser.com/a/782520/128124, ancak burada videoya ses eklemek de dahil olmak üzere kullanımına dair birkaç somut örnek bulunmaktadır.
Saniyede bir görüntü içeren slayt gösterisi videosu
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Buna biraz müzik ekleyin, görüntüler sona erdiğinde ses kesildiğinde:
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
İşte YouTube'da iki demo:
Bir hippi olun ve Theora patentsiz numaralandırılmış video formatını kullanın :
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
Resimleriniz elbette sırayla alfabetik olarak sıralanmalıdır:
0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
ve bunun gibi.
Ayrıca bakınız: http://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps/339399#339399
Her kare için bir görüntü ile 30 FPS'de normal hızda video
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
İşte göründüğü gibi:
GIF ile oluşturulan: https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line/837574#837574
Buna biraz ses ekle:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Sonuç: https://www.youtube.com/watch?v=HG7c7lldhM4
YouTube yüklemesi için bir müzik dosyasını videoya sabit bir görüntüyle dönüştürün
Yanıtlandığı yer: MP3’ü Youtube’nun izin verdiği video
Bazı sentetik test girişi görüntüleri elde edin
Bunlar, bu cevapta kullandığım test görüntüleri:
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
İle oluşturulan görüntüler: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Özel algoritmalar ile kareler arasında sıkıştırabildiğinden, videonun görüntü dizisini ZIP'den daha iyi sıkıştırdığını gözlemlemek harika bir şey:
opengl-rotating-triangle.mp4
: 340K
opengl-rotating-triangle.zip
: 7,3 milyon
CLI seçenekleri hakkında
Ancak, ismine rağmen, -glob
bunun kabuk Glob patters kadar genel olmadığını unutmayın, örneğin: -i '*'
başarısız: https://trac.ffmpeg.org/ticket/3620 (görünüşe göre filetype uzantıdan çıkarılıyor).
-r 30
-framerate 1
Videoyu 30 FPS'yi düşük kare hızları için VLC gibi oyuncuların hatalarının üstesinden gelmesi için yapar : https://stackoverflow.com/questions/19267443/playback-issues-in-vlc-with-low-fps-video-from-images-using- ffmpeg / 41797724 # 41797724 Bu nedenle, saniye başına istenen 1 görüntüyü tutmak için her kareyi 30 kez tekrarlar.
Sonraki adımlar
Ayrıca isteyeceksiniz:
TODO: Birden fazla ses dosyasını videonun içine komut satırından kesip birleştirmeyi öğrenin:
Üzerinde test edildi
ffmpeg 3.4.4, sürüm 3.0.3, Ubuntu 18.04.
Kaynakça