Je cherche une option en ligne de commande.
Par exemple, si j'ai la vidéo sample-video.mp4
et que je souhaite générer un fichier image sample-image.jpg
à partir de la vidéo à l'heure 00:00:26, quelle commande dois-je donner?
En outre, il serait très utile que vous puissiez expliquer en détail la fonction de chaque argument de la commande.
Vous pouvez utiliser mplayer
(du paquetage mplayer
, non installé par défaut):
mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4
Cela créera le fichier 00000001.jpg
et vous devrez donc le renommer. Autant que je sache, il n'y a aucun moyen de spécifier un nom de fichier.
-vo jpeg
signifie que vous voulez une sortie JPEG, -ss 00:00:26
cherche à la position donnée, -frames 1
signifie traiter une image puis quitter.
Vous pouvez utiliser ffmpeg
ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg
Vous pouvez également jouer avec les options, telles que la qualité de contrôle de la sortie jpeg -q:v <linear integer 1-10>
ou la résolution -s 480x300
.
Quelques idées supplémentaires ici
Méthode VLC
cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit
cvlc - parce que sa ligne de commande et nous ne voulons aucune fenêtre s'ouvrant. cela signifie aussi que nous pouvons le faire sans X11.
- heure de début = 26 - correspond à la position exacte de l'instantané en secondes
sample-image.png
par votre capture d'écran actuelle. Si vous omettez cela, VLC commencera à numéroter les captures d'écran.Documentation complète ici