[FFmpeg-user] Why Does ffprobe Report an Incorrect Number of Frames?

Christian Ebert blacktrash at gmx.net
Thu May 8 10:48:50 CEST 2014


* John G on Wednesday, May 07, 2014 at 17:59:54 -0700
>> time ffprobe -select_streams v -count_frames -show_entries stream=nb_read_frames test.flv 2>/dev/null
>>> [STREAM]
>> nb_read_frames=167325
>> [/STREAM]
> 
> For my applications, it would be Ok, as the file sizes are
> generally 150MB or less...  but trying this command on the
> sample (~7MB) .avi file seems to have the same problem as
> before in that the frame count is still incorrect:-
> 
> c:\> ffprobe -select_streams v -count_frames -show_entries stream=nb_read_frames sample.avi

[...]

> [STREAM]
> nb_read_frames=1619
> [/STREAM]
> 
> ...which is not the 6999 or so.
> 
> IF! I convert the video into a basic MPEG format though:-
> 
> c:\> ffmpeg -i sample.avi -c:v mpeg4 -q:v 2.0     new.mpg
> 
> ffmpeg version N-62509-g97751e1 Copyright (c) 2000-2014 the FFmpeg developers
>   built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads 
>                  --enable-avisynth --enable-bzlib --enable-fontconfig 
>                  --enable-frei0r --enable-gnutls --enable-iconv 
>                  --enable-libass --enable-libbluray --enable-libcaca 
>                  --enable-libfreetype --enable-libgsm --enable-libilbc 
>                  --enable-libmodplug --enable-libmp3lame 
>                  --enable-libopencore-amrnb --enable-libopencore-amrwb 
>                  --enable-libopenjpeg --enable-libopus --enable-librtmp 
>                  --enable-libschroedinger --enable-libsoxr --enable-libspeex 
>                  --enable-libtheora --enable-libtwolame --enable-libvidstab 
>                  --enable-libvo-aacenc --enable-libvo-amrwbenc 
>                  --enable-libvorbis --enable-libvpx --enable-libwavpack 
>                  --enable-libx264 --enable-libx265 --enable-libxavs 
>                  --enable-libxvid --enable-decklink --enable-zlib
>   libavutil      52. 77.100 / 52. 77.100
>   libavcodec     55. 58.103 / 55. 58.103
>   libavformat    55. 37.100 / 55. 37.100
>   libavdevice    55. 13.100 / 55. 13.100
>   libavfilter     4.  4.100 /  4.  4.100
>   libswscale      2.  6.100 /  2.  6.100
>   libswresample   0. 18.100 /  0. 18.100
>   libpostproc    52.  3.100 / 52.  3.100
> Input #0, avi, from 'sample.avi':
>   Metadata:
>     encoder         : Lavf55.37.100
>   Duration: 00:00:35.00, start: 0.000000, bitrate: 1707 kb/s
>     Stream #0:0: Video: msmpeg4v3 (MP43 / 0x3334504D), yuv420p, 639x361, 1668 kb/s, 200 fps, 200 tbr, 200 tbn, 200 tbc
>     Metadata:
>       title           : ~temp.avi Video #1
> [mpeg @ 02caca20] VBV buffer size not set, using default size of 130KB
> If you want the mpeg file to be compliant to some specification
> Like DVD, VCD or others, make sure you set the correct buffer size
> Output #0, mpeg, to 'new.mpg':
>   Metadata:
>     encoder         : Lavf55.37.100
>     Stream #0:0: Video: mpeg4, yuv420p, 639x361, q=2-31, 200 kb/s, 90k tbn, 200 tbc
>     Metadata:
>       title           : ~temp.avi Video #1
> Stream mapping:
>   Stream #0:0 -> #0:0 (msmpeg4 -> mpeg4)

It would have been interesting to see the next few lines here.

What gives:

ffmpeg -i sample.avi -an -sn -f null /dev/null 2>&1 | grep '^frame='

(rawvideo)

-- 
\black\trash movie    _MORALISK  ANSTALT_
                        "Nix verstanden."

--->> http://www.blacktrash.org/underdogma/moraliskanstalt.php


More information about the ffmpeg-user mailing list