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

petesea at frontier.com petesea at frontier.com
Fri Apr 3 23:10:26 CEST 2015


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%


More information about the ffmpeg-user mailing list