[FFmpeg-user] Copy all/specific streams aborts w/non monotonically increasing dts

PaulYurt paulyurt at gmail.com
Sat Apr 4 16:14:37 CEST 2015


To my inexperienced eyes this looks like a DTC stream issue. Ffmpeg reports the DTS audio time is not continuous and ffmpeg is, in the example shown, replacing the time markers with continuous markers. 

Paul Yurt // Media Technologist // 310-439-8009  

On Apr 3, 2015, at 5:10 PM, petesea at frontier.com wrote:

Is there any way to get past this error and have ffmpeg complete the copy?

If I copy all or at least one subtitle stream from an mpeg file, eg:

 $ ffmpeg -i movie.vob -map 0 -codec copy -f vob movie-COPY-ALL.vob
 $ ffmpeg -i movie.vob -map 0:0 -map 0:11 -map 0:7 -codec copy -f vob movie-COPY-SPECIFIC.vob

ffmpeg aborts with a message like this:

 [vob @ 0x8789560] Application provided invalid, non monotonically increasing dts to muxer in stream 2: 325576251 >= 0
 av_interleaved_write_frame(): Invalid argument

If no streams are selected or only the video and one or more audio streams, then it works, even though a similar warning message is displayed, which appears to apply to the audio stream.  If more then one audio stream is selected, this message is repeated once for each audio stream:

 [vob @ 0x9dd6560] Non-monotonous DTS in output stream 0:1; previous: 333573120, current: 333571738; changing to 333573121. This may result in incorrect timestamps in the output file.

I assume this must be an issue with one/more of the subtitle streams, but from what I can tell by viewing them, they're fine.  If I look at the original movie right at the point where ffmpeg aborts, all of the subtitles are there.  ffmpeg seems to "fix" this issue with the audio streams, can it do the same for the subtitle streams?

I've included output from the "at least one subtitle" case and the default (no streams selected) case.  The 2nd command is pruned a little, but it's using the exact same ffmpeg and input file.

FYI.  movie.vob duration is actually 02:11:44.02 and not 01:09:57.66 as it's initially reported.  ffmpeg shows the correct duration for "movie-COPY-DEFAULT.vob" after it's completed copying the video and one audio stream.

-------------------------------------------------------------------------------

 $ ffmpeg -i movie.vob -map 0:0 -map 0:11 -map 0:7 -codec copy -f vob movie-COPY-SPECIFIC.vob
 ffmpeg version N-71237-g5b97681 Copyright (c) 2000-2015 the FFmpeg developers
   built with gcc 4.5.1 (GCC) 20100924 (Red Hat 4.5.1-4)
   configuration: --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --disable-debug --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-x11grab
   libavutil      54. 22.100 / 54. 22.100
   libavcodec     56. 33.100 / 56. 33.100
   libavformat    56. 29.100 / 56. 29.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 13.101 /  5. 13.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Input #0, mpeg, from 'movie.vob':
   Duration: 01:09:57.66, start: 0.207756, bitrate: 13209 kb/s
     Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], max. 9800 kb/s, 29.50 fps, 59.94 tbr, 90k tbn, 59.94 tbc
     Stream #0:1[0x20]: Subtitle: dvd_subtitle
     Stream #0:2[0x21]: Subtitle: dvd_subtitle
     Stream #0:3[0x22]: Subtitle: dvd_subtitle
     Stream #0:4[0x23]: Subtitle: dvd_subtitle
     Stream #0:5[0x24]: Subtitle: dvd_subtitle
     Stream #0:6[0x25]: Subtitle: dvd_subtitle
     Stream #0:7[0x26]: Subtitle: dvd_subtitle
     Stream #0:8[0x27]: Subtitle: dvd_subtitle
     Stream #0:9[0x28]: Subtitle: dvd_subtitle
     Stream #0:10[0x29]: Subtitle: dvd_subtitle
     Stream #0:11[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
     Stream #0:12[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:13[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
     Stream #0:14[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
 Output #0, vob, to 'movie-COPY-SPECIFIC.vob':
   Metadata:
     encoder         : Lavf56.29.100
     Stream #0:0: Video: mpeg2video, yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, max. 9800 kb/s, 29.50 fps, 59.94 tbr, 90k tbn, 29.97 tbc
     Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 448 kb/s
     Stream #0:2: Subtitle: dvd_subtitle
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:11 -> #0:1 (copy)
   Stream #0:7 -> #0:2 (copy)
 Press [q] to stop, [?] for help
 [vob @ 0x8789560] Application provided invalid, non monotonically increasing dts to muxer in stream 2: 325576251 >= 0
 av_interleaved_write_frame(): Invalid argument
 frame=88864 fps=590 q=-1.0 Lsize= 2807088kB time=01:01:46.40 bitrate=6204.3kbits/s
 video:2569383kB audio:202694kB subtitle:86kB other streams:0kB global headers:0kB muxing overhead: 1.259862%
 Conversion failed!

 $ ffmpeg -i movie.vob -codec copy -f vob movie-COPY-DEFAULT.vob
 ...
 Output #0, vob, to 'movie-COPY-DEFAULT.vob':
   Metadata:
     encoder         : Lavf56.29.100
     Stream #0:0: Video: mpeg2video, yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, max. 9800 kb/s, 29.50 fps, 59.94 tbr, 90k tbn, 29.97 tbc
     Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), 448 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:11 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 [vob @ 0x9dd6560] Non-monotonous DTS in output stream 0:1; previous: 333573120, current: 333571738; changing to 333573121. This may result in incorrect timestamps in the output file.
 frame=189508 fps=479 q=-1.0 Lsize= 5986400kB time=02:11:44.01 bitrate=6204.5kbits/s
 video:5479975kB audio:432254kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.254550%
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


More information about the ffmpeg-user mailing list