J'ai un petit fichier vidéo que ffprobe décrit comme:-
Input #0, avi, from 'sample.avi':
Metadata:
encoder : Lavf55.12.100
Duration: 00:00:35.00, start: 0.000000, bitrate: 546 kb/s
Stream #0:0: Video: msmpeg4v3 (MP43 / 0x3334504D), yuv420p, 320x240,
506 kb/s, 200 fps, 200 tbr, 200 tbn, 200 tbc
Comme la vidéo dure 35 secondes et que la fréquence d'images est de 200 fps, je m'attends à ce qu'il y ait (35 x 200) = 7000 images dans la vidéo.
Si j'utilise ffmpeg pour extraire les images de la vidéo, j'obtiens en fait 6999 images (ce qui est assez proche, je suppose). La commande que j'utilise pour cela est :-
c:\> ffmpeg -i sample.avi -f image2 -c:v png Img%%04d.png
Note : le '%%' est nécessaire lorsque la commande est exécutée à partir de la CLI WinXP.
Cependant, en utilisant la commande:-
c:\> ffprobe -select_streams v -show_frames sample.avi > frames.lis
et en comptant le nombre d'éléments [FRAME] dans frames.lis, on obtient un nombre de frames de 1023 et non de 7000.
Une explication ?
Voici un lien vers un fichier très similaire qui se comporte de la même manière (~7MB) :
http://www.filedropper.com/sample_65
Cliquez avec le bouton gauche de la souris sur l'image "Télécharger ce fichier" de la page.
J'utilise la version statique Win32 de ffmpeg 'ffprobe' du 17APR2014 sous WinXP-SP3.
S'il y a une autre façon de faire, j'essaie principalement de construire un tableau de "numéro d'image" par rapport à "temps" pour une série de fichiers vidéo pour une utilisation dans une autre application.
Merci.