[FFmpeg-user] mkv concat list > non monotonically increasing

Jon bae jonbae77 at gmail.com
Fri Jul 1 12:07:57 CEST 2016


Hello everybody,
we use for a fallback server ffmpeg to play a list of mkv files. For that I
have a script witch generate the playlist and convert the clips in the
right format.

After that the script checks the new playlist, and when there comes errors
it send me an email.

I found out that in our case mkv is the most robust container for concat
x264 files, but some times there is clips witch produce "non monotonically
increasing" errors.

A more accurate output looks like this:

[...]
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1636463 >= 1636463
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1636954 >= 1636954
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1637423 >= 1637423
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1637914 >= 1637914
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1638383 >= 1638383
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1638874 >= 1638874
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1639343 >= 1639343
[null @ 000002f5bdc12240] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1639834 >= 1639834
[...]

As you see there is no time correction...

My command for checking looks like this:

ffmpeg -f concat -safe 0 -i play.list -c copy -flags global_header -bsf:a
aac_adtstoasc -f null -

The playlist is like this:

ffconcat version 1.0

file 'e://transfer/mkvs/1.mkv'
duration 20.095000

file 'e://transfer/mkvs/2.mkv'
duration 18.061000

file 'e://transfer/mkvs/3.mkv'
duration 213.055000

file 'e://transfer/mkvs/4.mkv'
duration 199.061000

And the compression, from the source clips, have this command:

ffmpeg -hide_banner -i "$clipPath" -i "e://logo.png" \
-filter_complex "[0:v]scale=640:360[s];[s][1:v]overlay=W-w-2:0[o]" -map [o]
-map 0:a \
-r 25 -sws_flags bilinear+accurate_rnd+full_chroma_int -pix_fmt yuv420p
-c:v libx264 -crf 21 -g 25 -maxrate 750k -bufsize 750k \
-preset slower -profile:v Main -level 3.1 -refs 3 -x264opts stitchable -c:a
aac -b:a 128k -movflags faststart -threads 10 -nostdin "$trunk/mkvs/$fName"
< /dev/null

When a clip have interlaced frames I add "[0:v]yadif=0:-1:0" on front from
the filter graph.


With mediainfo and ffprobe I have not found any difference between the
clips that works and the clips are not working.

I try it to cut a clip so the size is ok for sending, but when I cut them
the errors are not always reproducible.

Have you any idea what I can do?

Regards

Jonathan


More information about the ffmpeg-user mailing list