transformer une vidéo en série d'images
11/07/06 à 17:21 pratique
Pour obtenir notre séquence d'image, on utilise ffmpeg, le couteau suisse de la conversion audio-video, utilisable en ligne de commande. Un truc bien pratique pour utiliser ce type d'utilitaire est d'installer cmdhere.exe téléchargeable parmi les powertoys du site de microsoft. Une fois installé, le choix "open command window here" est ajouté au menu contextuel des dossiers. Un autre truc à retenir, c'est qu'on peut rappeler les dernières commandes tapées, en utilisant la "fléche haut", ce qui évite de retaper les mêmes lignes ou presque en faisant des essais et même faire un copier-coller avec le bouton droit de la souris (ctrl-v ne marchera pas)
Pour cet exemple, une fois téléchargé et décompressé ffmpeg, on copie les fichiers dans notre répertoire de travail "C:\video", avec la vidéo, c'est la aussi que nous placerons les images extraites. Ensuite on ouvre une fenêtre de commandes dans ce répertoire
ffmpeg est capable de traiter un nombre de formats différents pour en avoir la liste il faut taper :
ffmpeg -formatsPour extraire toutes les images de la vidéo dans le répertoire
ffmpeg -i video.avi -r 25 -f image2 "test-%4d.png"
-i : indique le fichier de départ (input file), le nom du fichier suit
-r : taux d'images par secondes (ici 25)
-f : forcer le format de sortie (sequence d'image)
puis le nom du fichier de sortie, l'expression '%04d' signifie que les fichiers seront enregistrés avec 4 chiffres croissants (sous la forme test-0001.png, test-0002.png, test-0003.png, etc.)
On peut avoir la liste des commandes de ffmpeg en tapant
ffmpeg -h
Pour extraire une image à un moment précis, on utilisera
ffmpeg -i video.avi -an -ss 00:00:03 -r 1 -vframes 1 -s 400×300 -f mjpeg -y image.jpg
Le temps est exprimé sous la forme HH:MM:SS.XXX, ou XXX représente les millisecondes Voila, c'est très rapide (une fois digérée l'utilisation de la ligne de commande!), ici l'export se fait en png car l'export jpeg en série donne des résultats bizarres (la qualité diminue au fur et à mesure), je n'ai pas trouvé pour l'instant d'explication à ce problème. Le poids des fichiers png peut poser problème selon la taille de la vidéo. On peut les traiter tous en lot, en utilisant irfanview par exemple (voir le billet concernant le traitement par lot d'images)
ffmpeg : site officiel de ffmpeg, documentation, on peut télécharger la version précompilée pour windows ici : ffmpeg pour windows
Dans le tutoriel sur chuck, il y a les infos pour débuter avec la ligne de commande, je vous invite à y jeter un oeil, si cela vous paraît obscur... N'hésitez pas à me poser des questions, j'essaierais d'y répondre...
L'inverse est également possible : créer une vidéo à partir d'images
Si cet article vous a été utile, aidez à le faire connaître en deux clics : en lui ajoutant une "mark" sur tutmarks (en cliquant sur le chiffre dans le rond bleu!)



Commentaires
Très bon tuto !
Merci
ara
Merci :-)
Je ne connaissais pas ce blog qui répond aussi bien à mes questions de programmation qu'à mes goûts musicaux... j'adopte ^^
Après www.lastfm.fr, je crois que je vais être musicalement rassasié.
Bonne continuation
Ajouter un commentaire