[FFmpeg-user] ... invalid, non monotonically increasing dts... with yadif=1

Andy Furniss andyqos at ukfsn.org
Sat May 5 14:05:25 CEST 2012


Carl Eugen Hoyos wrote:
> Andy Furniss<andyqos<at>  ukfsn.org>  writes:
>
>> This (19meg) possibly broken (but plays OK) mpeg2 transport stream will
>> fail transcoding if I try to make 50fps with yadif=1, but works OK with
>> yadif=0. Full output of both below.
>>
>> http://www.andyqos.ukfsn.org/non-mon-dts-with-yadif1.ts
>>
>> bash-3.2$ ffmpeg  -i non-mon-dts-with-yadif1.ts -sn -loglevel verbose
>> -vf yadif=1  -acodec copy  -vcodec libx264 -crf 23 -threads 1  -r 50
>> test.mkv
>
> Is this only reproducible with an external library and -acodec copy or
> also if you use -an and an internal encoder?
>
> (git bisect works fine here for all kinds of bugs, but if I can
> reproduce the issue I can do it.)

OK, I tried as below and still failed  - this time avi, mkv also fails 
but produces a lot of noise with the loglevel.

m2ts doesn't fail.

One observation, though testing with -an probably means it doesn't 
matter, is that the working cases I've found - avconv and m2ts both DUP 
40 ish frames at the start - I assume to sync sound.

bash-3.2$ ~/Src/ffmpeg/ffmpeg/ffmpeg -v 9 -loglevel 99 -i 
non-mon-dts-with-yadif1.ts -sn -an -vf yadif=1  -vcodec mpeg2video 
-threads 1  -r 50 test.avi
ffmpeg version N-40371-g396d2ae Copyright (c) 2000-2012 the FFmpeg 
developers
   built on May  5 2012 12:47:40 with gcc 4.5.1
   configuration: --prefix=/usr --enable-gpl
   libavutil      51. 49.100 / 51. 49.100
   libavcodec     54. 19.100 / 54. 19.100
   libavformat    54.  4.100 / 54.  4.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 72.104 /  2. 72.104
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 11.100 /  0. 11.100
   libpostproc    52.  0.100 / 52.  0.100
[mpegts @ 0xac6b3c0] Format mpegts probed with size=2048 and score=100
[mpegts @ 0xac6b3c0] stream=0 stream_type=3 pid=44 prog_reg_desc=
[mpegts @ 0xac6b3c0] stream=1 stream_type=3 pid=45 prog_reg_desc=
[mpegts @ 0xac6b3c0] File position before avformat_find_stream_info() is 0
[mpegts @ 0xac6b3c0] stream=2 stream_type=2 pid=46 prog_reg_desc=
[mpegts @ 0xac6b3c0] stream=3 stream_type=6 pid=47 prog_reg_desc=
[mpegts @ 0xac6b3c0] max_analyze_duration 5000000 reached at 5016000
rfps: 24.916667 0.010432
rfps: 25.000000 0.000002
rfps: 25.083333 0.009985
rfps: 50.000000 0.000007
     Last message repeated 1 times
[mpegts @ 0xac6b3c0] PES packet size mismatch
     Last message repeated 2 times
[mpegts @ 0xac6b3c0] File position after avformat_find_stream_info() is 0
Input #0, mpegts, from 'non-mon-dts-with-yadif1.ts':
   Duration: 00:00:40.14, start: 94437.027178, bitrate: 3836 kb/s
   Program 1
     Stream #0:0[0x44](eng), 211, 1/90000: Audio: mp2 ([3][0][0][0] / 
0x0003), 48000 Hz, mono, s16, 64 kb/s
     Stream #0:1[0x45](eng), 207, 1/90000: Audio: mp2 ([3][0][0][0] / 
0x0003), 48000 Hz, stereo, s16, 192 kb/s
     Stream #0:2[0x46], 106, 1/90000: Video: mpeg2video (Main) 
([2][0][0][0] / 0x0002), yuv420p, 704x576 [SAR 16:11 DAR 16:9], 1/50, 
15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
     Stream #0:3[0x47](eng), 7, 1/90000: Subtitle: dvb_subtitle 
([6][0][0][0] / 0x0006)
File 'test.avi' already exists. Overwrite ? [y/N] y
w:704 h:576 pixfmt:yuv420p tb:1/1000000 sar:16/11 sws_param:flags=2
[yadif @ 0xac713a0] mode:1 parity:-1 auto_enable:0
[mpeg2video @ 0xac70940] intra_quant_bias = 96 inter_quant_bias = 0
[mpeg2video @ 0xaca6e80] detected 4 logical cores
Output #0, avi, to 'test.avi':
   Metadata:
     ISFT            : Lavf54.4.100
     Stream #0:0, 0, 1/50: Video: mpeg2video (mpg2 / 0x3267706D), 
yuv420p, 704x576 [SAR 16:11 DAR 16:9], 1/50, q=2-31, 200 kb/s, 50 tbn, 
50 tbc
Stream mapping:
   Stream #0:2 -> #0:0 (mpeg2video -> mpeg2video)
Press [q] to stop, [?] for help
Error, Invalid timestamp=569, last=56908kB time=00:00:10.84 
bitrate=1819.7kbits/s
Video encoding failed



More information about the ffmpeg-user mailing list