[FFmpeg-user] combine dvd files with all info into single file

mymlact at gmx.com mymlact at gmx.com
Thu Oct 6 03:19:32 EEST 2016


Hi All,

I've been reading post after post today but can't seem to find exactly
what I need.

Goal:
Rip a DVD and then create a single file for playing via dnla enabled
components, from the resulting rip files, that has everything included,
menu, all audio streams, video stream, subtitles AND has 100% of the
quality as the DVD/VOB files.

I originally wanted to create one single large VOB file, but read that
technically VOBs should not be over 1Gb.  Additionally I'm not sure if
VOB supports menus and subtitles, so converting to another format that
my TV supports is acceptable.  If this is incorrect, please DO correct
me!  A large VOB is fine as my television supports VOBs.  Smaller file
size would be nice, but again, I want to maintain the original quality
of the movie! 

As I understand it, generally the first VOB has the menus, i.e.
VTS_07_0.VOB in the file list below, but I'm new to this and not
completely sure.  I did find this page
http://www.videohelp.com/dvd#struct , which details a bit the structure
of the DVD, but seems to leave a little out.  Can ffmpeg even process
the .BUP or .IFO files?

Anyway, what I have tried is below.

Any and all help appreciated!

Thanks,


Setup:
Openbsd: 5.8
dvdbackup: 0.4.2
ffmpeg: fmpeg version git-N-72901-g15466db Copyright (c) 2000-2015 the
FFmpeg developers
  built with clang version 3.5 (trunk)
  configuration: --enable-libx265 --enable-shared --arch=amd64 --cc=cc
--disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2
--disable-debug --disable-iconv --disable-indev=jack --disable-indev=oss
--disable-loongson3 --disable-lzma --disable-mips32r5 --disable-mips64r6
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-msa
--disable-neon --disable-outdev=oss --disable-outdev=sdl --disable-vfp
--enable-avresample --enable-fontconfig --enable-gpl --enable-libass
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libmp3lame --enable-libopus --enable-libspeex
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
--enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include
-I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib'
--mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'

I can upgrade if needed, if that will solve the issue.

Steps:

1. rip a dvd
 a.  dvdbackup -i /dev/cd0c -o /dvd_directory

2. Files created:
 a. VIDEO_TS.BUP VTS_01_0.BUP VTS_02_0.BUP VTS_03_0.BUP VTS_04_0.BUP
VTS_05_0.BUP VTS_06_0.BUP VTS_07_0.BUP VTS_07_1.VOB VTS_07_4.VOB
VTS_07_7.VOB VTS_08_1.VOB VIDEO_TS.IFO VTS_01_0.IFO VTS_02_0.IFO
VTS_03_0.IFO VTS_04_0.IFO VTS_05_0.IFO VTS_06_0.IFO VTS_07_0.IFO
VTS_07_2.VOB VTS_07_5.VOB VTS_08_0.BUP VIDEO_TS.VOB VTS_01_1.VOB
VTS_02_1.VOB VTS_03_1.VOB VTS_04_1.VOB VTS_05_1.VOB VTS_06_1.VOB
VTS_07_0.VOB VTS_07_3.VOB VTS_07_6.VOB VTS_08_0.IFO

3. try to use ffmpeg to achieve goal.
 
 a.  ffmpeg -y -i
concat:VTS_01_0.IFO\|VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB\|VTS_01_4.VOB\|VTS_01_5.VOB\|VTS_01_6.VOB
-analyzeduration 999M  -map 0 -loglevel repeat+40 movie.vob

 ffmpeg version git-N-72901-g15466db Copyright (c) 2000-2015 the FFmpeg
developers
  built with clang version 3.5 (trunk)
  configuration: --enable-libx265 --enable-shared --arch=amd64 --cc=cc
--disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2
--disable-debug --disable-iconv --disable-indev=jack --disable-indev=oss
--disable-loongson3 --disable-lzma --disable-mips32r5 --disable-mips64r6
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-msa
--disable-neon --disable-outdev=oss --disable-outdev=sdl --disable-vfp
--enable-avresample --enable-fontconfig --enable-gpl --enable-libass
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libmp3lame --enable-libopus --enable-libspeex
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
--enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include
-I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib'
--mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[mpeg @ 0x8520ac02000] max_analyze_duration 5000000 reached at 5004667
microseconds
[mpeg @ 0x8520ac02000] Could not find codec parameters for stream 5
(Audio: ac3, 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, mpeg, from
'concat:VTS_01_0.IFO|VTS_01_0.VOB|VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB':
  Duration: 00:00:06.66, start: 0.280633, bitrate: N/A
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), 1 reference frame,
yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], max. 9800 kb/s,
29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x20]: Subtitle: dvd_subtitle
    Stream #0:4[0x21]: Subtitle: dvd_subtitle
    Stream #0:5[0x81]: Audio: ac3, 0 channels
Data stream encoding not supported yet (only streamcopy)


b.  ffmpeg -y -i
concat:VTS_01_0.IFO\|VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB\|VTS_01_4.VOB\|VTS_01_5.VOB\|VTS_01_6.VOB
-analyzeduration 999M  -map 0 -loglevel repeat+40 -dn  movie.vob

ffmpeg version git-N-72901-g15466db Copyright (c) 2000-2015 the FFmpeg
developers
  built with clang version 3.5 (trunk)
  configuration: --enable-libx265 --enable-shared --arch=amd64 --cc=cc
--disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2
--disable-debug --disable-iconv --disable-indev=jack --disable-indev=oss
--disable-loongson3 --disable-lzma --disable-mips32r5 --disable-mips64r6
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-msa
--disable-neon --disable-outdev=oss --disable-outdev=sdl --disable-vfp
--enable-avresample --enable-fontconfig --enable-gpl --enable-libass
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libmp3lame --enable-libopus --enable-libspeex
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
--enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include
-I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib'
--mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[mpeg @ 0x1426d3101800] max_analyze_duration 5000000 reached at 5004667
microseconds
[mpeg @ 0x1426d3101800] Could not find codec parameters for stream 5
(Audio: ac3, 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, mpeg, from
'concat:VTS_01_0.IFO|VTS_01_0.VOB|VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB':
  Duration: 00:00:06.66, start: 0.280633, bitrate: N/A
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), 1 reference frame,
yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], max. 9800 kb/s,
29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x20]: Subtitle: dvd_subtitle
    Stream #0:4[0x21]: Subtitle: dvd_subtitle
    Stream #0:5[0x81]: Audio: ac3, 0 channels
[graph 0 input from stream 0:1 @ 0x142666c06c00] w:720 h:480
pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:32/27 sws_param:flags=2
[graph 1 input from stream 0:2 @ 0x142693598a00] tb:1/48000
samplefmt:fltp samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0x142666c06800] auto-inserting
filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0'
and the filter 'audio format for output stream 0:1'
[auto-inserted resampler 0 @ 0x1426c142cd00] ch:2 chl:stereo fmt:fltp
r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz
Output #0, svcd, to 'movie.vob':
    Stream #0:0: Video: mpeg2video, 1 reference frame, none, q=2-31, 128
kb/s, SAR 32:27 DAR 0:0, 29.97 fps
    Metadata:
      encoder         : Lavc56.41.100 mpeg2video
    Stream #0:1: Audio: mp2, 0 channels, 128 kb/s
    Metadata:
      encoder         : Lavc56.41.100 mp2
    Stream #0:2: Subtitle: none, 128 kb/s
    Stream #0:3: Subtitle: none, 128 kb/s
    Stream #0:4: Audio: mp2, 0 channels, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> mp2 (native))
  Stream #0:3 -> #0:2 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:4 -> #0:3 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:5 -> #0:4 (ac3 (native) -> mp2 (native))
Encoder (codec none) not found for output stream #0:2

 c. ffmpeg -y -i
concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB\|VTS_01_4.VOB\|VTS_01_5.VOB\|VTS_01_6.VOB
-analyzeduration 999M  -map 0 -loglevel repeat+40 -dn  movie.vob

ffmpeg version git-N-72901-g15466db Copyright (c) 2000-2015 the FFmpeg
developers
  built with clang version 3.5 (trunk)
  configuration: --enable-libx265 --enable-shared --arch=amd64 --cc=cc
--disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2
--disable-debug --disable-iconv --disable-indev=jack --disable-indev=oss
--disable-loongson3 --disable-lzma --disable-mips32r5 --disable-mips64r6
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-msa
--disable-neon --disable-outdev=oss --disable-outdev=sdl --disable-vfp
--enable-avresample --enable-fontconfig --enable-gpl --enable-libass
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libmp3lame --enable-libopus --enable-libspeex
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
--enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include
-I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib'
--mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[mpeg @ 0xd7782cac800] max_analyze_duration 5000000 reached at 5004667
microseconds
[mpeg @ 0xd7782cac800] Could not find codec parameters for stream 5
(Audio: ac3, 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, mpeg, from
'concat:VTS_01_0.VOB|VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB':
  Duration: 00:00:06.66, start: 0.280633, bitrate: N/A
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), 1 reference frame,
yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], max. 9800 kb/s,
29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x20]: Subtitle: dvd_subtitle
    Stream #0:4[0x21]: Subtitle: dvd_subtitle
    Stream #0:5[0x81]: Audio: ac3, 0 channels
[graph 0 input from stream 0:1 @ 0xd7839dfc600] w:720 h:480
pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:32/27 sws_param:flags=2
[graph 1 input from stream 0:2 @ 0xd7838712d00] tb:1/48000
samplefmt:fltp samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0xd7769a8d100] auto-inserting
filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0'
and the filter 'audio format for output stream 0:1'
[auto-inserted resampler 0 @ 0xd7839dfce00] ch:2 chl:stereo fmt:fltp
r:48000Hz -> ch:2 chl:stereo fmt:s16 r:48000Hz
Output #0, svcd, to 'movie.vob':
    Stream #0:0: Video: mpeg2video, 1 reference frame, none, q=2-31, 128
kb/s, SAR 32:27 DAR 0:0, 29.97 fps
    Metadata:
      encoder         : Lavc56.41.100 mpeg2video
    Stream #0:1: Audio: mp2, 0 channels, 128 kb/s
    Metadata:
      encoder         : Lavc56.41.100 mp2
    Stream #0:2: Subtitle: none, 128 kb/s
    Stream #0:3: Subtitle: none, 128 kb/s
    Stream #0:4: Audio: mp2, 0 channels, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> mp2 (native))
  Stream #0:3 -> #0:2 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:4 -> #0:3 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:5 -> #0:4 (ac3 (native) -> mp2 (native))
Encoder (codec none) not found for output stream #0:2


 d. ffmpeg -y -i
concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB\|VTS_01_3.VOB\|VTS_01_4.VOB\|VTS_01_5.VOB\|VTS_01_6.VOB
-analyzeduration 999M  -map 0 -loglevel repeat+40 -dn -c:v copy  -c:a
copy movie.mp4

ffmpeg version git-N-72901-g15466db Copyright (c) 2000-2015 the FFmpeg
developers
  built with clang version 3.5 (trunk)
  configuration: --enable-libx265 --enable-shared --arch=amd64 --cc=cc
--disable-altivec --disable-armv5te --disable-armv6 --disable-armv6t2
--disable-debug --disable-iconv --disable-indev=jack --disable-indev=oss
--disable-loongson3 --disable-lzma --disable-mips32r5 --disable-mips64r6
--disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-msa
--disable-neon --disable-outdev=oss --disable-outdev=sdl --disable-vfp
--enable-avresample --enable-fontconfig --enable-gpl --enable-libass
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libmp3lame --enable-libopus --enable-libspeex
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
--enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include
-I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib'
--mandir=/usr/local/man --optflags='-O2 -pipe -Wno-redundant-decls'
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[mpeg @ 0x1efb285f6000] max_analyze_duration 5000000 reached at 5004667
microseconds
[mpeg @ 0x1efb285f6000] Could not find codec parameters for stream 5
(Audio: ac3, 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, mpeg, from
'concat:VTS_01_0.VOB|VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB':
  Duration: 00:00:06.66, start: 0.280633, bitrate: N/A
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), 1 reference frame,
yuv420p(tv, smpte170m), 720x480 [SAR 32:27 DAR 16:9], max. 9800 kb/s,
29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x20]: Subtitle: dvd_subtitle
    Stream #0:4[0x21]: Subtitle: dvd_subtitle
    Stream #0:5[0x81]: Audio: ac3, 0 channels
Output #0, mp4, to 'movie.mp4':
    Stream #0:0: Video: mpeg2video, 1 reference frame, yuv420p, 720x480
(0x0) [SAR 32:27 DAR 16:9], q=2-31, max. 9800 kb/s, 29.97 fps, 59.94
tbr, 90k tbc
    Stream #0:1: Audio: ac3, 48000 Hz, stereo, 192 kb/s
    Stream #0:2: Subtitle: none, 128 kb/s
    Stream #0:3: Subtitle: none, 128 kb/s
    Stream #0:4: Audio: none, 0 channels, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
  Stream #0:3 -> #0:2 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:4 -> #0:3 (dvd_subtitle (dvdsub) -> ? (?))
  Stream #0:5 -> #0:4 (copy)
Encoder (codec none) not found for output stream #0:2



More information about the ffmpeg-user mailing list