DRM-Free DVD Player & Ripper on Mac OS X

MPlayer is a terrific DRM-free multimedia player.

It also contains Mencoder, which is a great tool for ripping dvds (among other things).

Mac Ports has two versions available, MPlayer and mplayer-devel but neither of them built properly on my Mac (OS version 10.5.8).

Fortunately, the pre-built binaries at this site worked beautifully.

After downloading and unzipping them, I moved the two binary files, mplayer and mencoder, into /opt/local/bin so they appear in the default command-line path.

Since Apple's built-in DRM-enforcing DVD player is set to startup when a DVD is inserted, I changed the default action in the System Preferences under Media Preferences to be "Ignore" for the "When you insert a video DVD" option.

Now, I can play any DVD track with mplayer in Terminal, like this:

mplayer dvd://[track number]

MPlayer also supports other playback options like subtitles, etc. (docs related to DVD playback are here).

Ripping a DVD track is more complex, but the docs have good examples to follow.

I wrote this shell script to simplify the process:


# source for mencoder options:
# http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html
# (using NTSC DVD example)

if [ $# -eq 2 ]
  mencoder dvd://$1 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
    -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
    -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
    -o $2.mpg
  echo "mencoder_dvd_rip.sh [dvd track number] [output filename]"

So to rip track 0 of a DVD (which is usually the main movie track), all I have to do is this in Terminal:

 mencoder_dvd_rip.sh 0 movie