[FFmpeg-user] Fixing bad DTS/PTS without reencode

Massimo Battistel battistel at gmail.com
Thu Jan 17 11:20:09 CET 2013

2013/1/17 Carl Eugen Hoyos <cehoyos at ag.or.at>

> Massimo Battistel <battistel <at> gmail.com> writes:
> > http://www.datafilehost.com/download-527e92a0.html
> >
> > Discontinuty is around 4.8 seconds.
> I can reproduce the discontinuity with ffmpeg -debug_ts
> (433800 -> 441000).
> Is there a problem when FFmpeg converts the file?

No problems.
If I *transcode* the video (ffmpeg -i sample.mpg -vcodec mpeg2video
out.mpg), ffmpeg fixes the discont by duplicating the frame at the
discontinuity point. Infact the transcoded file has 1 frame more (253
instead of 252).

> Iirc, discontinuities in mpeg streams are allowed,

what's "lirc"?

> or am I wrong?

You are right, but the original question was a bit different.
Discontinuities in timecode can cause wrong duration detection.

I have used some directshow demuxers calculating video duration like that:
lastTimeCode - firstTimeCode + avgFrameDuration.
This method would give wrong result if files contains discontinuities. btw,
I have other samples with bigger discontinuities.

Is it possible someway to play the frame at discont point for 80ms instead
of 40ms?

Could I manage this (programmatically at this point) changing


More information about the ffmpeg-user mailing list