FFmpeg est un puissant outil en ligne de commande qui permet de manipuler et de convertir des fichiers multimédias. Parmi ses nombreuses fonctionnalités, l’une des plus utiles est la possibilité d’extraire une séquence d’images à partir d’une vidéo.
Pour extraire une séquence d’images de votre vidéo, vous pouvez utiliser la commande suivante :
ffmpeg -i votrevideo.mp4 -vf "fps=10" images-%03d.png
Explications :
ffmpeg
est le nom de la commande FFmpeg.-i votrevideo.mp4
spécifie le nom de votre vidéo d’entrée (assurez-vous de remplacer « votrevideo.mp4 » par le nom de votre fichier).-vf "fps=10"
définit la fréquence d’images à laquelle vous souhaitez extraire les images. Dans cet exemple, une image par seconde est extraite. Vous pouvez ajuster cette valeur en fonction de vos besoins. Vous pouvez aussi ne pas utiliser cette option, dans ce cas FFmpeg s’adaptera à la fréquence d’affichage de votre vidéo. images-%03d.png
est le nom que vous donnez aux images extraites. FFmpeg ajoutera des nombres séquentiels pour chaque image. Le « %03d » indique que les nombres seront formatés avec trois chiffres (par exemple, « 001 », « 002 », « 003 », …).Après avoir exécuté cette commande, FFmpeg commencera à extraire les images de la vidéo et les enregistrera dans le même répertoire où se trouve la vidéo.
FFmpeg offre de nombreuses options avancées pour personnaliser l’extraction d’images à partir d’une vidéo. Voici quelques-unes des options.
Supposons que vous ayez deux vidéos, « video1.mp4 » et « video2.mp4 », que vous souhaitez utiliser pour extraire des images. Vous pouvez utiliser la commande suivante pour extraire des images de ces deux vidéos simultanément :
ffmpeg -i video1.mp4 -vf "fps=1" -q:v 2 video1_images-%03d.png -i video2.mp4 -vf "fps=1" -q:v 2 video2_images-%03d.png
pour extraire une image toutes les 5 secondes, utilisez « fps=1/5 »:
ffmpeg -i votrevideo.mp4 -vf "fps=1/5" images-%03d.png
Si vous souhaitez extraire des images d’une portion spécifique de la vidéo, vous pouvez utiliser l’option -ss
pour définir le moment de départ (en secondes) et l’option -t
pour définir la durée de l’extraction. Par exemple, pour extraire des images de la 30e à la 60e seconde de la vidéo, utilisez -ss 30 -t 30
.
Dans cette démonstration, on extrait une image par seconde à partir de 00:30 et ce pendant 30 secondes, nous obtiendront ainsi 30images pendant la période 00:30 à 01:00 de la vidéo.
ffmpeg -i votrevideo.mp4 -vf "fps=1" -ss 30 -t 30 images-%03d.png
Vous pouvez spécifier la résolution des images extraites à l’aide de l’option -s
. Par exemple, pour des images de 800×600 pixels, utilisez -s 800x600
.
ffmpeg -i votrevideo.mp4 -vf "fps=1" -s 800x600 images-%03d.png
Si vous choisissez le format JPEG, vous pouvez spécifier la qualité de compression en utilisant l’option -q:v
. Par exemple, -q:v 2
pour une qualité élevée et -q:v 10
pour une qualité moindre. La valeur par défaut est généralement 2.
ffmpeg -i votrevideo.mp4 -vf "fps=1" -q:v 10 images-%03d.jpg
Le %03d
dans le nom de fichier contrôle la numérotation des images. Vous pouvez modifier ce format selon vos préférences. Par exemple, %04d
générera des noms de fichier avec quatre chiffres (par exemple, « 0001 », « 0002 », …).
Vous pouvez également personnaliser davantage les noms de fichiers en utilisant des variables telles que %t
pour le temps de la vidéo, %s
pour le numéro de l’image, etc.
N’hésitez pas à expérimenter avec ces options pour répondre précisément à vos besoins d’extraction d’images à partir de vidéos à l’aide de FFmpeg.