-pattern_type glob
exemples concrets avec audio
Cette option a été mentionnée à l' adresse : https://superuser.com/a/782520/128124, mais voici quelques exemples concrets de son utilisation, notamment pour l'ajout d'audio à la sortie vidéo.
Diaporama vidéo avec une image par seconde
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \
-c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
Ajoutez de la musique, coupez quand le son quand les images se terminent:
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
Voici deux démos sur YouTube:
Soyez un hippie et utilisez le format vidéo non-breveté de Theora :
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
Vos images doivent bien sûr être triées par ordre alphabétique, généralement comme suit:
0001-first-thing.jpg
0002-second-thing.jpg
0003-and-third.jpg
etc.
Voir aussi: http://unix.stackexchange.com/questions/68770/converting-png-frames-to-video-at-1-fps/339399#339399
Vidéo à vitesse normale avec une image par image à 30 ips
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-c:v libx264 -pix_fmt yuv420p out.mp4
Voici à quoi ça ressemble:
GIF généré avec: https://askubuntu.com/questions/648603/how-to-create-an-animated-gif-from-mp4-video-via-command-line/837574#837574
Ajoutez de l'audio à cela:
ffmpeg -framerate 30 -pattern_type glob -i '*.png' \
-i audio.ogg -c:a copy -shortest -c:v libx264 -pix_fmt yuv420p out.mp4
Résultat: https://www.youtube.com/watch?v=HG7c7lldhM4
Convertir un fichier de musique en vidéo avec une image fixe pour le téléchargement sur YouTube
Réponse de: Comment convertir des MP3 au format vidéo autorisé par Youtube?
Obtenir des images d’entrée de test synthétiques
Voici les images de test que j'ai utilisées dans cette réponse:
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
Images générées avec: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Il est intéressant d'observer à quel point la vidéo compresse mieux la séquence d'images que ZIP, car elle est capable de compresser des images à l'aide d'algorithmes spécialisés:
opengl-rotating-triangle.mp4
: 340K
opengl-rotating-triangle.zip
: 7,3M
À propos des options de l'interface de ligne de commande
Notez cependant que, malgré le nom, -glob
cela n’est pas aussi général que les modèles de Glob de shell, par exemple: -i '*'
échoue: https://trac.ffmpeg.org/ticket/3620 (apparemment parce que le type de fichier est déduit de l’extension).
-r 30
rend la -framerate 1
vidéo 30 FPS pour surmonter les bugs dans les joueurs comme VLC pour low framerates: https://stackoverflow.com/questions/19267443/playback-issues-in-vlc-with-low-fps-video-from-images-using- ffmpeg / 41797724 # 41797724 Par conséquent, il répète chaque image 30 fois pour conserver l’effet souhaité d’une image par seconde.
Prochaines étapes
Vous voudrez aussi:
TODO: apprendre à couper et concaténer plusieurs fichiers audio dans la vidéo à partir de la ligne de commande:
Testé sur
ffmpeg 3.4.4, vlc 3.0.3, Ubuntu 18.04.
Bibliographie