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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to