On Mon, May 7, 2018 at 9:13 PM, Jamenson Ferreira Espindula de Almeida Melo
<[email protected]> wrote:

> From Jaboatão dos Guararapes, Pernambuco, Brazil.
>
> Thank you for your response.
>
> Below is the listing of a DVD movie disc. I want to convert these files
> to one file. The files already are on my hard disk.
>
> total 4,2G
> -r--r--r-- 1 jamenson jamenson 124K fev  2  2010 video_ts.vob
> -r--r--r-- 1 jamenson jamenson 320M fev  2  2010 vts_01_0.vob
> -r--r--r-- 1 jamenson jamenson 1,0G fev  2  2010 vts_01_1.vob
> -r--r--r-- 1 jamenson jamenson 1,0G fev  2  2010 vts_01_2.vob
> -r--r--r-- 1 jamenson jamenson 1,0G fev  2  2010 vts_01_3.vob
> -r--r--r-- 1 jamenson jamenson 735M fev  2  2010 vts_01_4.vob
> -r--r--r-- 1 jamenson jamenson  11M fev  2  2010 vts_02_0.vob
> -r--r--r-- 1 jamenson jamenson 8,0K fev  2  2010 vts_02_1.vob
> -r--r--r-- 1 jamenson jamenson 8,0K fev  2  2010 vts_03_1.vob
> -r--r--r-- 1 jamenson jamenson 159M fev  2  2010 vts_04_1.vob
> -r--r--r-- 1 jamenson jamenson 8,0K fev  2  2010 vts_05_1.vob
>
> So, first of all, I concatenate the eleven files to one file with this
> command:
>
>
> cat *vob > crepusculo.vob
>
>
> Second I have analyze the contents of that file with this command:
>
>
> ffprobe -hide_banner -analyzeduration 500M -probesize 500M -i \
> crepusculo.vob
>
>
> The output of that command was:
>
>
> Input #0, mpeg, from '/tmp/crepusculo.vob':
>   Duration: 00:01:43.71, start: 0.280633, bitrate: 347394 kb/s
>     Stream #0:0[0x1bf]: Data: dvd_nav_packet
>     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top \
>     first), 720x480 [SAR 32:27 DAR 16:9], 8000 kb/s, 29.97 fps, 29.97 \
>     tbr, 90k tbn, 59.94 tbc
>
>     Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
>     Stream #0:3[0x20]: Subtitle: dvd_subtitle
>     Stream #0:4[0x21]: Subtitle: dvd_subtitle
>     Stream #0:5[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
> Unsupported codec with id 100357 for input stream 0
>
>
> ffmpeg -version output:
>
>
> ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
> built with gcc 7.2.0 (GCC)
> configuration: --prefix=/usr --enable-gpl --enable-version3 \
> --enable-nonfree --disable-static --enable-shared --disable-debug \
> --enable-libass --enable-libfdk-aac --enable-libfreetype \
> --enable-libmp3lame --enable-libopus --enable-libtheora \
> --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 \
> --enable-openssl --docdir=/usr/share/doc/ffmpeg-3.3.3
>
> libavutil      55. 58.100 / 55. 58.100
> libavcodec     57. 89.100 / 57. 89.100
> libavformat    57. 71.100 / 57. 71.100
> libavdevice    57.  6.100 / 57.  6.100
> libavfilter     6. 82.100 /  6. 82.100
> libswscale      4.  6.100 /  4.  6.100
> libswresample   2.  7.100 /  2.  7.100
> libpostproc    54.  5.100 / 54.  5.100
>
>
> First try: I tried the Matroska container. Below is the command:
>
>
> ffmpeg -analyzeduration 500M -probesize 500M -i crepusculo.vob \
> -map 0:1 -map 0:2 -map 0:3 -map 0:4 -map 0:5 \
> -metadata:s:a:0 language=eng -metadata:s:a:0 title="English stereo" \
> -metadata:s:a:1 language=por -metadata:s:a:1 title="Português estereo" \
> -metadata:s:s:0 language=eng -metadata:s:s:0 title="English" \
> -metadata:s:s:1 language=por -metadata:s:s:1 title="Português" \
> -codec:v copy -crf 20 -codec:a copy -qscale:a 2 -codec:s copy \
> crepusculo.mkv
>
>
> The command output was:
>
>
> ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
>   built with gcc 7.2.0 (GCC)
>   configuration: --prefix=/usr --enable-gpl --enable-version3 \
>   --enable-nonfree --disable-static --enable-shared --disable-debug \
>   --enable-libass --enable-libfdk-aac --enable-libfreetype \
>   --enable-libmp3lame --enable-libopus --enable-libtheora \
>   --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 \
>   --enable-openssl --docdir=/usr/share/doc/ffmpeg-3.3.3
>
>   libavutil      55. 58.100 / 55. 58.100
>   libavcodec     57. 89.100 / 57. 89.100
>   libavformat    57. 71.100 / 57. 71.100
>   libavdevice    57.  6.100 / 57.  6.100
>   libavfilter     6. 82.100 /  6. 82.100
>   libswscale      4.  6.100 /  4.  6.100
>   libswresample   2.  7.100 /  2.  7.100
>   libpostproc    54.  5.100 / 54.  5.100
> Input #0, mpeg, from 'crepusculo.vob':
>   Duration: 00:01:43.71, start: 0.280633, bitrate: 347394 kb/s
>     Stream #0:0[0x1bf]: Data: dvd_nav_packet
>     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top \
>     first), 720x480 [SAR 32:27 DAR 16:9], 8000 kb/s, 29.97 fps, 29.97 \
>     tbr, 90k tbn, 59.94 tbc
>
>     Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
>     Stream #0:3[0x20]: Subtitle: dvd_subtitle
>     Stream #0:4[0x21]: Subtitle: dvd_subtitle
>     Stream #0:5[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
> Output #0, matroska, to 'crepusculo.mkv':
>   Metadata:
>     encoder         : Lavf57.71.100
>     Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), \
>     yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], q=2-31, 8000 \
>     kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 90k tbc
>
>     Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, \
>     5.1(side), fltp, 448 kb/s
>
>     Metadata:
>       title           : English stereo
>     Stream #0:2(eng): Subtitle: dvd_subtitle
>     Metadata:
>       title           : English
>     Stream #0:3(por): Subtitle: dvd_subtitle
>     Metadata:
>       title           : Português
>     Stream #0:4(por): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, \
>     5.1(side), fltp, 448 kb/s
>
>     Metadata:
>       title           : Português estereo
> Stream mapping:
>   Stream #0:1 -> #0:0 (copy)
>   Stream #0:2 -> #0:1 (copy)
>   Stream #0:3 -> #0:2 (copy)
>   Stream #0:4 -> #0:3 (copy)
>   Stream #0:5 -> #0:4 (copy)
> Press [q] to stop, [?] for help
> [matroska @ 0xd5a240] Non-monotonous DTS in output stream 0:0; \
> previous: 16, current: -33; changing to 16. This may result in \
> incorrect timestamps in the output file.
>
> [matroska @ 0xd5a240] Non-monotonous DTS in output stream 0:0; \
> previous: 16, current: 0; changing to 16. This may result in \
> incorrect timestamps in the output file.
>
> [matroska @ 0xd5a240] Timestamps are unset in a packet for \
> stream 0. This is deprecated and will stop working in the \
> future. Fix your code to set the timestamps properly
>
> [matroska @ 0xd5a240] Can't write packet with unknown timestamp
> av_interleaved_write_frame(): Invalid argument
>
> [matroska @ 0xd5a240] Can't write packet with unknown timestamp
> Error writing trailer of crepusculo.mkv: Invalid argument
>
> frame=  305 fps=0.0 q=-1.0 Lsize=     231kB time=00:00:10.07 \
> bitrate= 187.4kbits/s speed= 321x
>
> video:6008kB audio:154kB subtitle:0kB other streams:0kB global \
> headers:0kB muxing overhead: unknown
> Conversion failed!
>
>
> Second try: I tried to change the container to mp4. The command line
> looks like this:
>
>
> ffmpeg -analyzeduration 500M -probesize 500M -i crepusculo.vob \
> -map 0:1 -map 0:2 -map 0:3 -map 0:4 -map 0:5 \
> -metadata:s:a:0 language=eng -metadata:s:a:0 title="English stereo" \
> -metadata:s:a:1 language=por -metadata:s:a:1 title="Português estereo" \
> -metadata:s:s:0 language=eng -metadata:s:s:0 title="English" \
> -metadata:s:s:1 language=por -metadata:s:s:1 title="Português" \
> -codec:v copy -crf 20 -codec:a copy -qscale:a 2 -codec:s copy \
> crepusculo.mp4
>
>
> The command output was:
>
>
> ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
>   built with gcc 7.2.0 (GCC)
>   configuration: --prefix=/usr --enable-gpl --enable-version3 \
>   --enable-nonfree --disable-static --enable-shared --disable-debug \
>   --enable-libass --enable-libfdk-aac --enable-libfreetype \
>   --enable-libmp3lame --enable-libopus --enable-libtheora \
>   --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 \
>   --enable-openssl --docdir=/usr/share/doc/ffmpeg-3.3.3
>
>   libavutil      55. 58.100 / 55. 58.100
>   libavcodec     57. 89.100 / 57. 89.100
>   libavformat    57. 71.100 / 57. 71.100
>   libavdevice    57.  6.100 / 57.  6.100
>   libavfilter     6. 82.100 /  6. 82.100
>   libswscale      4.  6.100 /  4.  6.100
>   libswresample   2.  7.100 /  2.  7.100
>   libpostproc    54.  5.100 / 54.  5.100
> Input #0, mpeg, from 'crepusculo.vob':
>   Duration: 00:01:43.71, start: 0.280633, bitrate: 347394 kb/s
>     Stream #0:0[0x1bf]: Data: dvd_nav_packet
>     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top \
>     first), 720x480 [SAR 32:27 DAR 16:9], 8000 kb/s, 29.97 fps, 29.97 \
>     tbr, 90k tbn, 59.94 tbc
>
>     Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
>     Stream #0:3[0x20]: Subtitle: dvd_subtitle
>     Stream #0:4[0x21]: Subtitle: dvd_subtitle
>     Stream #0:5[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
> [mp4 @ 0x1079240] track 1: codec frame size is not set
> [mp4 @ 0x1079240] track 4: codec frame size is not set
> Output #0, mp4, to 'crepusculo.mp4':
>   Metadata:
>     encoder         : Lavf57.71.100
>     Stream #0:0: Video: mpeg2video (Main) (a[0][0][0] / 0x0061), \
>     yuv420p(tv, top first), 720x480 [SAR 32:27 DAR 16:9], q=2-31, 8000 \
>     kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
>
>     Stream #0:1(eng): Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, \
>     5.1(side), fltp, 448 kb/s
>
>     Metadata:
>       title           : English stereo
>     Stream #0:2(eng): Subtitle: dvd_subtitle ([224][0][0][0] / 0x00E0)
>     Metadata:
>       title           : English
>     Stream #0:3(por): Subtitle: dvd_subtitle ([224][0][0][0] / 0x00E0)
>     Metadata:
>       title           : Português
>     Stream #0:4(por): Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, \
>     5.1(side), fltp, 448 kb/s
>
>     Metadata:
>       title           : Português estereo
> Stream mapping:
>   Stream #0:1 -> #0:0 (copy)
>   Stream #0:2 -> #0:1 (copy)
>   Stream #0:3 -> #0:2 (copy)
>   Stream #0:4 -> #0:3 (copy)
>   Stream #0:5 -> #0:4 (copy)
> Press [q] to stop, [?] for help
> [mp4 @ 0x1079240] Non-monotonous DTS in output stream 0:0; previous: \
> 1447, current: -3003; changing to 1448. This may result in incorrect \
> timestamps in the output file.
>
> [mp4 @ 0x1079240] Non-monotonous DTS in output stream 0:0; previous: \
> 1448, current: 0; changing to 1449. This may result in incorrect \
> timestamps in the output file.
>
> [mp4 @ 0x1079240] Timestamps are unset in a packet for stream 0. This \
> is deprecated and will stop working in the future. Fix your code to \
> set the timestamps properly
>
> [mp4 @ 0x1079240] pts has no value
>     Last message repeated 648 times
> frame= 2722 fps=0.0 q=-1.0 size=   61241kB time=00:01:30.72 \
> bitrate=5529.9kbits/s speed= 181x
> [mp4 @ 0x1079240] pts has no \
> value
>
>     Last message repeated 655 times
> frame= 5180 fps=5179 q=-1.0 size=  123840kB time=00:02:52.73 \
> bitrate=5873.0kbits/s speed= 173x
> [mp4 @ 0x1079240] pts has no \
> value
>
>     Last message repeated 503 times
> [mp4 @ 0x1079240] Application provided invalid, non monotonically \
> increasing dts to muxer in stream 2: 17129112 >= 16543527
>
> av_interleaved_write_frame(): Invalid argument
> [mp4 @ 0x1079240] pts has no value
>     Last message repeated 79 times
> frame= 7070 fps=5123 q=-1.0 Lsize=  179654kB time=00:03:55.81 \
> bitrate=6241.0kbits/s speed= 171x
>
> video:174140kB audio:5395kB subtitle:22kB other streams:0kB global \
> headers:0kB muxing overhead: 0.054197%
> Conversion failed!
>
>
> What I should do to solve that?
>
> Thank you.
>

Concating VOB files usually goes wrong caused by timecode discontinuities
by the file splitting, I think. You could try to make one single file first
with ffmpeg regenerating PTS before converting to another format. It
generally works for me:

ffmpeg -fflags +genpts -i
"concat:vts_01_0.vob|vts_01_1.vob|vts_01_2.vob(....)" -c copy -f vob
filme.mpg

I am not completely sure but the video_ts.vob carries the DVD menu, it can
be messy putting it among the rest of video, since than menus don't have to
be at same properties of the movie file.
_______________________________________________
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".

Reply via email to