DVD Ripping

From ArchWiki
Revision as of 19:36, 23 July 2005 by Cactus (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following packages need to be installed (available in pacman):

  • dvdrip: Frontend including transcode, which does the ripping and encoding
  • libdv: Software codec for DV video
  • xvidcore: If you want to encode your ripped files as XVid (free alternative to DivX)
  • divx4linux: If you want to encode your ripped files as DivX (tested version 5.10)

Configuration of dvd::rip

  • There is nothing too difficult in the dvd::rip preferences. If you need help with something, look at [1]

Encoding settings

  • XVid: Should work right out of the box.
  • DivX: If dvd::rip complains about failing to init the DivX encoder, it might have problems because libstdc++-libc6.2-2.so.3 is missing. This is a problem for some older programs, as pointed out on this site (there you can also download the file and put it in /usr/lib): [2]
  • Then just choose your preferred codec in dvd::rip - Preferences - Miscellaneous Options - Default video codec (use DivX 5 for the current divx4linux package)

Start ripping with dvd::rip :-)

PS: If you want more information, especially for a comparison of the codecs (which usually results in XVid being far ahead), look at the following links:

The Mencoder Method

So long as you have a working MPlayer install that can read DVDs (so you need libdvdread etc), it is possible to rip DVDs from the command line. This also required Lame MP3 encoder.

Here is the bash script I use to rip DVDs, it's not perfect but it works pretty well for me. It's missing some of the more advanced features such as cropping, but aspect ratio is kept intact.

#!/bin/sh

# Dvd2Avi 0.2
# Only does one title at a time, but "avimerge" from Transcode
# can sort it from there.

# by yyz

echo -n "Enter the name of output file (without extension):"
read FILE

echo -n "Enter the title you wish to rip:"
read TITLE

echo -n "Select a quality level (h/n/l)[[n]]:"
read Q

if [[ -z $Q ]];then 
    # If no quality passed, default to normal
    Q=n
fi

if [[ $Q = h ]]; then 
# If h passed, use high quality
mencoder dvd://$TITLE -alang en -oac mp3lame -lameopts br=320:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vop scale -zoom -xy 800 -o $FILE.avi
exit 0
fi

if [[ $Q = n ]]; then 
# If n passed, use normal quality (recommended)
mencoder dvd://$TITLE -alang en -oac mp3lame -lameopts br=160:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vop scale -zoom -xy 640 -o $FILE.avi
exit 0
fi

if [[ $Q = l ]]; then 
# If l passed, use low quality. not really worth it, 
# hardly any smaller but much crappier
mencoder dvd://$TITLE -alang en -oac mp3lame -lameopts br=96:vbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vop scale -zoom -xy 320 -o $FILE.avi
exit 0
fi

Here is an explanation of the various quality levels:

  • High: movie is 800px wide, audio is 320kbps.
  • Normal: movie is 640px wide, audio is 160kbps.
  • Low: movie is 320px wide, audio is 96kbps.

To use the script, copy and paste it into an appropriatly named file, and then execute chmod +x <file>.

Hopefully the script is quite easy to understand so you can change it as you might need to, see man mencoder for more information.