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 _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
