[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