I finally completed a batch file I'm happy with. Be sure to grab the version of ffmpeg that comes with
VOB2MPG, because that one allows you to join multiple files. The biggest advantage of this method is that there are no intermediary files created - just straight from VOB(s) on DVD to single MPG video file.
Code:
@echo off
:: Rip DVD to MPEG file
:: v1.00 04Dec2007
:: Converts audio to MP2 for Hauppage MediaMVP compatibility
:: Note: Requires special build of ffmpeg!
:: Use the one that comes with VOB2MPG,
:: found at http://www.svcd2dvd.com/downloads.aspx#VOB2MPG
SET ORIGDIR=%CD%
IF EXIST %2:\VIDEO_TS\VTS_%3_1.VOB GOTO SETUPVIDEO
:SYNTAX
echo Rip DVD to MPEG file with MP2 audio
echo.
echo Syntax: ffmpeg-dvd2mpg.bat outputfile dvddrive tracknumber [video-bitate] [audio-bitrate]
echo Example: ffmpeg-dvd2mpg.bat "C:\My Movies\test.mpg" D 01
echo Example: ffmpeg-dvd2mpg.bat "C:\My Movies\test.mpg" D 01 5000k 384k
echo.
GOTO END
:SETUPVIDEO
SET FFMPEG="C:\Program Files\VOB2MPG\ffmpeg.exe"
SET VIDEO=-vcodec copy -vsync 1
::if there are errors in the video, try this line instead
::SET VIDEO=-vcodec mpeg2video -vsync 1 -sameq
IF NOT "%4"=="" SET VIDEO=-vcodec mpeg2video -vsync 1 -b %4
:SETUPAUDIO
SET AUDIO=-acodec mp2 -ac 2 -async 1 -ab 384k
::if the audio/video are badly out-of-sync, try this line instead
::SET AUDIO=-acodec mp2 -ac 2 -async 384k -ab 384k
::to directly copy audio without transcoding, use this line instead
::SET AUDIO=-acodec copy -async 1
IF NOT "%5"=="" SET AUDIO=-acodec mp2 -ac 2 -async 1 -ab %5
:ENCODE
CD /D %2:\VIDEO_TS
FOR /L %%A IN (1,1,9) DO SET INPUTFILE%%A=
FOR /L %%A IN (1,1,9) DO IF EXIST VTS_%3_%%A.VOB SET INPUTFILE%%A=VTS_%3_%%A.VOB*
SET FFMPEGCMD=%FFMPEG% -i multi:%INPUTFILE1%%INPUTFILE2%%INPUTFILE3%%INPUTFILE4%%INPUTFILE5%%INPUTFILE6%%INPUTFILE7%%INPUTFILE8%%INPUTFILE9% -target ntsc-dvd %VIDEO% %AUDIO% %1
echo.
echo Encoding start: %DATE% %TIME%
echo.
echo %FFMPEGCMD%
echo.
%FFMPEGCMD%
echo.
echo Encoding complete: %DATE% %TIME%
echo.
:END
CD /D %ORIGDIR%
(And no, this won't work on encrypted DVD's, but you can always use DVD Decrypter first...)