[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