FFMpeg open a DVD VOB chain?

27,455

Solution 1

VOB format is a subset of mpeg, so you should be able to combine the VOBs you want to read in just as you would mpeg data: by concatenating them together.

cat first.VOB second.VOB third.VOB | ffmpeg -i - outfile.mp4

Hoisting Matt Gallagher's comment to increase longevity/visibility:

Newer versions of ffmpeg support concatenation as an operator on the input file. So you could use... ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB outfile.mp4

Solution 2

You can actually use ffmpegs builtin concatenation functionality, which is what I think you're looking for:

ffmpeg -i "concat:$(echo *.VOB|tr \  \|)" -f mpeg -c copy -sn -y combined.mpg

See: http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20(join,%20merge)%20media%20files

Solution 3

The built-in concatenate functionality seems to be *NIX based and didn't work on Windows for me. On Windows VobMerge seemed to work to join the relevant VOB files (which for the main film on a DVD seemed to be the set starting at 1GB in size).

Addenda

You can also join VOB files in Windows directly from the command line:

copy /b "vob1.vob" + "vob2.vob" + "vob3.vob" "voboutput.vob"

You can omit the quotes if there are no spaces in the filenames, but be sure to remember the /b and all the + signs.

Share:
27,455
Sugrue
Author by

Sugrue

C# developer and video analytics specialist.

Updated on October 29, 2020

Comments

  • Sugrue
    Sugrue over 3 years

    I'm new to FFMpeg so this may be a dumb question, but I don't see the answer in the documentation.

    I want to decode frames from a DVD vob files. Opening the first VOB in the group works fine, but how do I tell ffmpeg to continue on to the next VOB and read all the VOBs on a DVD?

    I have the VOB files in a folder on a hard disk.