[FFmpeg-user] Correct fps value for h.264 stream

Carl Eugen Hoyos cehoyos at ag.or.at
Wed Apr 10 10:55:09 CEST 2013


Bernd Butscheidt <bbutscheidt <at> yahoo.de> writes:

> >PS: Please do not provide mediainfo output on this 
> >mailing list unless it is absolutely necessary, it 
> >typically only leads to confusion.
> 
> Is there an alternative to mediainfo when one wants 
> to show the difference between 
> 
> -fps information given on the container level and 
> 
> -the stream level itselft?

Usually what happens is the following:
A user tries to play or reencode a media file and 
sees (possibly heavy) A/V desync. He tries to 
understand why this happens, makes several tests 
and finds out that mediainfo reports a different 
frame rate than ffmpeg. His conclusion is that 
the reason for the A/V desync is that ffmpeg reads 
an incorrect frame rate from the input file, so 
he opens a bug report (or writes to this mailing 
list) with the following information:
* FFmpeg reports fps x
* mediainfo reports fps y
-> there is a bug in FFmpeg

What actually happens is that FFmpeg reads incorrect 
timestamps from the input file and calculates an 
incorrect frame rate. Since the file in question 
typically does not specify a frame rate at all 
(it is often not a value written in a file but a 
value that gets calculated), above report makes 
no sense to the developers and does not get any 
attention.
It is easier for all parties if the user reports 
his actual problem (A/V desync) and instead of 
reporting mediainfo output, reports that QT/Real/
WMP/vlc/MPlayer play the video with a different 
(correct) speed.

(Note that this was completely different with 
MPlayer which iirc uses the frame rate to 
calculate video time stamps, so for MPlayer the 
assumption "wrong fps -> A/V desync" was often 
correct.)

So there may be cases where such output is needed 
but I don't remember one atm (after having worked 
on many reports that did contain mediainfo output) 
and it is at least very unusual that it is useful.

> As far as I understood, ffprobe/ ffplay only 
> shows (or correctly shows) the information 
> given with the container (e.g. mkv)?

I may misunderstand but I believe it is exactly 
the opposite, ie it typically shows the actual 
calculated frame rate of the video, but a sample 
proving me wrong is of course welcome!

Carl Eugen



More information about the ffmpeg-user mailing list