J'utilise ffmpeg pour extraire les images clés d'une vidéo. Voici la commande:
ffmpeg -i test2.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -s 160x90 -f image2 thumbnails-%02d.jpeg
Comment puis-je obtenir l'index de chaque image clé extraite dans la vidéo? Par exemple, pour la première trame I, l'indice serait 0, pour la seconde, ce serait 24, etc.
Réponses:
Comme @dstob mentionné, vous pouvez utiliser
ffprobe
pour obtenir les images I et leurs informations associées.ffprobe
est livré avec certaines des versions statiques sur la page de téléchargement et peut également être construit à partir des sources.Cela suppose que vous êtes sous Linux / Unix:
Extraire des cadres et types de cadres
La
grep
commande filtre les lignes avecI
elles et compte leur index (en utilisant l'-n
option). Lacut
commande sélectionne uniquement la première colonne de la sortie (l'index). Notez que cet index est basé sur 1, pas sur 0.Renommer les fichiers de sortie en fonction de l'index
Vous pouvez réellement diriger ces index vers une liste:
Faites ensuite également une liste de toutes les vignettes:
Collez ensuite ces deux éléments ensemble:
La liste contient maintenant le nom de la vignette et de l'index. Effectuez un changement de nom basé sur cela:
Ce qui précède renommera
thumbnail-01.jpeg
àthumbnail-0.jpeg
. Notez qu'il n'y a pas de remplissage nul sur l'index de sortie. Si vous voulez le mettre à zéro, disons, à 5 chiffres, utilisezprintf
:Sous Windows, vous feriez exactement la même chose
ffprobe
mais en analysant la sortie différemment. Cependant, je ne sais pas comment effectuer le changement de nom.la source
[FRAME]
ligne et une[/FRAME]
ligne pour chaquepict_type
ligne.-of csv
option pourffprobe
. Ce que vous décrivez est cependant le format de sortie par défaut.Si vous souhaitez utiliser FFMPEG comme indiqué initialement, vous pouvez lister tout ou partie de la liste ainsi que créer des jpg avec les éléments suivants:
Retirez
-t 15
sans limite de temps ou changez en fonction. Supprimer-s 160x90 -f image2 thumbnail-%02d.jpeg
ou modifier en fonction de la suppression des miniatures.la source