I've recently been doing some VOB encoding after ripping a couple of irreplaceable DVDs. Using the
ffmpeg version 1.2.4 out of Homebrew on OSX:
ffmpeg -probesize 2G -analyzeduration 2G \
-i VTS_04.VOB \
-map 0:0 -map 0:1 -map 0:2 -map 0:9 \
-metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
-metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
-metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
-c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
-c:a copy \
-c:s copy \
I had to set
-analyzeduration since the 5.4GB VOB file had streams starting later in the file which aren't found without these options.
-map parameter allows me to choose which streams to pass to the output - the video stream, the first two audio streams and the 9th stream, which are subtitles. Use
-analyzeduration to see the list of streams).
-metadata to the audio and subtitle streams in the output.
Video encoding options after
-c:v you can read about elsewhere.
Finally copy as-is the audio and subtitle streams to the output file. The output must be
MKV in order to embed the subtitles and all the metadata correctly.
On my Macbook Air 2011, this encode took about 6 hours and spat out a perfect 2.4GB MKV file.