[FFmpeg-devel] [PATCH v2] fftools/ffmpeg: fix video frame lost sync for the dual input ts files with audio

Michael Niedermayer michael at niedermayer.cc
Fri Jul 12 22:46:01 EEST 2019


On Thu, Jul 11, 2019 at 09:54:29AM +0800, lance.lmwang at gmail.com wrote:
> From: Limin Wang <lmwang at bravovcloud.com>
> 
> How to reproduce the problem(use two ts files with audio stream):
> ffmpeg -i left_w_a.ts -i right_w_a.ts -filter_complex "hstack=inputs=2" -f null -
> 
> With above command, the audio stream of the second input will be discarded default, however the start_time is
> initalized from the audio stream, so the old code will try to correct the ts offset in the condition which will
> cause the video frame out of sync and report some dts error like below:
> [null @ 0x7fa78c000c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 43 >= 43
> [null @ 0x7fa78c000c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 44 >= 44
> [null @ 0x7fa78c000c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 45 >= 45
> [null @ 0x7fa78c000c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 46 >= 46
> [null @ 0x7fa78c000c00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 47 >= 47
> 

> Or you can try with below command to reproduce the issue:
> ffmpeg -i input_w_a.ts -i input_w_a.ts -filter_complex "ssim=f=ssim.log" -f null -
> 
> You'll get below ssim result which isn't expected result for the two input is same, the SSIM should be 1.00000
> SSIM Y:0.777353 (6.523822) U:0.964087 (14.447539) V:0.966739 (14.780661) All:0.840039 (7.959872)
> 
> With the patch applied, the above testing command can get expected result.
> 
> Other solution are: use the setpts=PTS-STARTPTS filter or skip all audio stream to avoid the timestamp adjustment.
> 
> Have passed "make fate SAMPLES=fate-suite" with mpeg2-ticket186 ref data is updated.
> 

> Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>

I have not really reviewed this 

this:
./ffmpeg -i fate-suite/h264/h264_intra_first-small.ts  -bitexact -an -t 1 -f framecrc -

produces empty output after the patch but before it produces 14 frames

Thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are best at talking, realize last or never when they are wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190712/e47d100f/attachment.sig>


More information about the ffmpeg-devel mailing list