how to fix Non-monotonous DTS in output stream 0:1; when using ffmpeg

xiao xin picture xiao xin · Apr 30, 2019 · Viewed 22.5k times · Source

When I use ffmpeg to convert m3u8 to mp4, I get some warning,

ffmpeg -i xx.m3u8 -c copy demo.mp4

warning is

Non-monotonous DTS in output stream 0:1; previous: 3277744, current: 3276712; changing to 3277745. This may result in incorrect timestamps in the output file.
Non-monotonous DTS in output stream 0:1; previous: 3277745, current: 3277736; changing to 3277746. This may result in incorrect timestamps in the output file.

what should I do to fix it?

Answer

Chandan Kumar picture Chandan Kumar · Apr 30, 2019
ffmpeg -i xx.m3u8 -c copy -bsf:a aac_adtstoasc demo.mp4

It seems that decoding time stamps are broken. You can try "-fflags +igndts" to regenerate DTS based on PTS:

point ts file directly ::

ffmpeg -fflags +igndts -i xx.ts -map 0:0 -map 0:2 -c:v copy -c:a copy demo.mp4