I have a small video file which ffprobe describes as:-
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
As the video is 35 sec. long, and with 200 fps frame rate, I expect there would be (35 x 200) = 7000 frames in the video.
If I use ffmpeg to actually extract frame images from the video, I actually get 6999 images (near enough, I suppose). The command I use for this is:-
c:\> ffmpeg -i sample.avi -f image2 -c:v png Img%%04d.png
Note: the '%%' is required when the command is run from the WinXP CLI
However, using the command:-
c:\> ffprobe -select_streams v -show_frames sample.avi > frames.lis
and counting how many [FRAME] items are in frames.lis gives a frame count of 1023 frames and not 7000.
Here's a link to a very similar file that behaves in the same way (~7MB):
Left-click on the "Download This File" image on the page.
I'm using 17APR2014 static Win32 build of ffmpeg 'ffprobe' under WinXP-SP3.
If there's another way to do it, I'm primarily trying to build a table of "frame number" versus "time" for a series of video files for use in another application.