ffmpeg -i myvid.mp4 -r 25 -t 100 image-%d.jpeg
Est la commande que j'utilise pour extraire les images et fonctionne comme prévu. Cependant, je voudrais également regarder les horodatages des images. Quelle que soit la précision. 100 millisecondes me suffisent. Ffmpeg peut-il faire cela?
Fournir des détails supplémentaires,
Lorsque j'exécute la commande ci-dessus, j'obtiens environ 100 JPEG, je suppose qu'il y a une correspondance 1 à 1 (ou plusieurs à 1) entre ces JPEG et les images de la vidéo. Je voudrais connaître l'horodatage de l'image qui a été sortie en tant qu'image JPEG «i».
De plus, j'ai essayé ffprobe mais je trouve qu'il rapporte même la durée de la vidéo de manière inexacte :(
capture
temps.ffmpeg
sortie console complète de votre commande.Réponses:
Ce que vous pouvez faire est de "simuler" le processus d'écriture d'image en filtrant avec le
fps
filtre, puis en utilisantffprobe
pour afficher les horodatages des images générées. Cela signifie qu'à 25 ips, la 50e image (comme votre 50e image) aura un PTS de 2,00 secondes.Vous le faites comme ceci:
Sortira:
Ce sont les horodatages de chaque image de sortie. Vous pouvez réellement combiner la liste des images et les horodatages:
Va créer un fichier avec:
Notez que cela peut entraîner des lignes superflues s'il y a trop de trames ou trop de lignes d'informations en sortie. Cela semble un peu inexact là-bas.
la source
-vsync drop
, mais cela se produit après le filtrage, IIRC.