[FFmpeg-user] Why Does ffprobe Report an Incorrect Number of Frames?
John G
skeeve99 at yahoo.com.au
Thu May 8 14:14:00 CEST 2014
> > 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.
>
Yes... but no matter what I do with redirection, I can't seem to catch those all of those 'heartbeat' messages :( ... the closest I can get is the following:-
[...]
Press [q] to stop, [?] for help
frame= 111 fps=0.0 q=2.0 size= 262kB time=00:00:00.55 bitrate=3867.2kbits/s
frame= 201 fps=198 q=2.0 size= 472kB time=00:00:01.00 bitrate=3847.4kbits/s
frame= 295 fps=195 q=2.0 size= 736kB time=00:00:01.47 bitrate=4087.7kbits/s
frame= 391 fps=192 q=2.0 size= 988kB time=00:00:01.95 bitrate=4140.0kbits/s
frame= 483 fps=191 q=2.0 size= 1230kB time=00:00:02.41 bitrate=4172.3kbits/s
frame= 560 fps=183 q=2.0 size= 1434kB time=00:00:02.80 bitrate=4195.5kbits/s
frame= 652 fps=182 q=2.0 size= 1706kB time=00:00:03.26 bitrate=4287.0kbits/s
frame= 747 fps=182 q=2.0 size= 1968kB time=00:00:03.73 bitrate=4316.4kbits/s
frame= 794 fps=183 q=2.0 Lsize= 2086kB time=00:00:03.97 bitrate=4304.4kbits/
s dup=615 drop=0
[...]
...which *does* show there are recognized duplicate frames (I think).
> What gives:
>
> ffmpeg -i sample.avi -an -sn -f null /dev/null 2>&1 | grep '^frame='
Trying something similar under WinXP, which I'm using:-
c:\> ffmpeg -i ..\videos\sample.avi -an -sn -f null nul 2>&1
[...]
Input #0, avi, from '..\videos\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
Output #0, null, to 'nul':
Metadata:
encoder : Lavf55.37.100
Stream #0:0: Video: rawvideo (I420 / 0x30323449), 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 -> rawvideo)
Press [q] to stop, [?] for help
[null @ 02cb6bc0] Encoder did not produce proper pts, making some up.
frame= 179 fps=0.0 q=0.0 size=N/A time=00:00:03.97 bitrate=N/A
video:101kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 17802988408012800.000000%
...if that helps...?
-John
More information about the ffmpeg-user
mailing list