[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