C'est très simple avec ffmpeg, et il peut produire une image toutes les N secondes sans script supplémentaire. Pour exporter comme une séquence d'images, il suffit d'utiliser myimage_%04d.png
ou similaire en tant que sortie. Le bit %0xd
est converti en un entier avec des zéros x
chiffres de long - l'exemple que j'ai donné produit en sortie
-
myimage_0000.png
,
-
myimage_0001.png
,
-
myimage_0002.png
etc..
Vous pouvez utiliser de nombreux formats d'images fixes, png, jpeg, tga, peu importe (voir ffmpeg -formats
pour une liste complète).
D'accord donc maintenant nous savons comment exporter le film en une séquence d'images, mais disons que nous ne voulons pas exporter chaque image?
La astuce est simplement de changer le débit d'images de la sortie à ce que nous voulons en utilisant l'option -r n
où n
est le nombre d'images par seconde. 1 image par seconde serait -r 1
, une image toutes les quatre secondes serait -r 0.25
, une image toutes les dix secondes serait -r 0.1
et ainsi de suite.
Donc pour mettre tout cela ensemble, voici à quoi cela ressemblerait pour enregistrer une image de input.mov
toutes les quatre secondes en output_0000.png
, output_0001.png
etc.:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Remarquez que l'option -r 0.25
va après la partie -i input.mov
, car elle contrôle le débit d'images de la sortie. Si vous la mettez avant l'entrée, elle traitera le fichier d'entrée comme s'il avait le débit d'images spécifié.
Changez le %xd en fonction du nombre de chiffres dont vous avez besoin, par exemple si la commande crée plus de 10 000 images, changez %04d
en %05d
. Cela fonctionne également pour les fichiers d'entrée qui sont une séquence d'images. Lisez plus ici.
Utilisateurs de Windows: En ligne de commande utilisez %
exemple: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
Dans les scripts CMD et BAT utilisez %%
exemple: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
Donc double %%
dans les scripts, et simple %
sur la ligne de commande interactive. Se tromper dans l'une ou l'autre des situations générera une erreur.
Éditer Il est intéressant de consulter la discussion sur les types de fichiers dans les commentaires ci-dessous. Il y a des avantages et des inconvénients avec chacun:
- jpeg beaucoup plus petits tailles de fichiers, perte de qualité, seulement 8-bit couleur, pas d'alpha.
- png sans perte, fichiers volumineux, lent. 8-bit couleur prend en charge l'alpha.
- tiff sans perte, fichiers encore plus volumineux, rapide, prend en charge jusqu'à 16 couleurs et alpha.
Pour spécifier le format de fichier, utilisez simplement l'extension requise dans le fichier de sortie, par exemple myimage_%04d.jpg
, myimage_%04d.png
ou myimage_%04d.tiff
0 votes
Voir cette question connexe sur le choix de la qualité des images: stackoverflow.com/questions/10225403/…