[FFmpeg-devel] [PATCH 2/2] MxPEG decoder

Reimar Döffinger Reimar.Doeffinger
Wed Nov 3 19:04:33 CET 2010

On Wed, Nov 03, 2010 at 08:54:44PM +0300, Anatoly Nenashev wrote:
> On 03.11.2010 18:11, Anatoly Nenashev wrote:
> >I have additional question. This patch works fine with ffplay, so
> >this command
> >        ./ffplay stream.mxg
> >works fine and I see well syncronized video.
> >
> >But if I run
> >        ./ffmpeg -i stream.mxg -f rawvideo /dev/null
> >there are a lot of messages:
> >        [rawvideo @ 0x30f4d10] st:0 error, non monotone timestamps 1 >= 1
> >
> >After some researches I found that right command line must be
> >./ffmpeg -i stream.mxg -r 25 -f rawvideo /dev/null
> >
> >So it meens that user must manually define output FPS, otherwise
> >it will be 1/time_base. In case of mxg demuxer it is 1000000.
> >I think that it isn't so user friendly way. What can I do with
> >this issue?
> >
> I have found only one decision for this issue. I have changed
> time_base in demuxer  for video stream from 1/1000000 to 1/100 and
> rescale output pts from it.

You can't just mangle the time stamps just because the one
source you have at hand sets them to values you don't like.
Your source isn't 30 fps, and it needs a 1/1000000 time base
to be represented accurately.
If you want FFmpeg to try harder to chose some "close enough
but not correct" time-base for non-VFR formats then that belongs
into the main FFmpeg code (e.g. the tb_unreliable handling),
but certainly not in a demuxer.

More information about the ffmpeg-devel mailing list