DVD format conversion

From Organic Design
Jump to: navigation, search
Procedure.svg DVD format conversion
Organic Design procedure

It's important to make backup copy's of DVD's you've purchased so that you're not at risk from the original being damaged and becoming unreadable. We use the DVD::Rip application, which after installed can be found in Applications/Sound & Video.

Required components

To rip (or even view) DVD's that are scrambled (protected) you need libdvdcss installed. On some distros a simple install script that downloads and installs the required components is available, for example on Ubuntu systems the script is in /usr/share/doc/libdvdread4/install-css.sh.

Another option is to see if the package is available from any alternative software sources, for example on Debian systems it's available as libdvdcss2 from the deb http://www.deb-multimedia.org wheezy main non-free source.

If none of these options are available you'll need to compile libdvdcss from source which you can get here. For this you'll need to have the build-essential, autoconf and libtool packages installed before compiling.

You will also need to install transcode and a codec for encoding the video, we use XVid4 which is installed as follows:

apt-get install transcode libxvidcore4

First time setup

You'll need to specify a location for the data used by the ripping operation and where the final ripped results will be stored. I use ~/Videos/rip for my data. next I like to create a default project called rip which has all the correct transcode settings already in place. We use the OGG format and the xvid4 codec. You should also select smart deinterlacing. When you're first setting up, you don't need to select a track or start the transcoding process, instead just save the project from the file menu.


Ripping a DVD track

Run DVD::Rip from Applications/Sound & Video, then go into File/Open Project and select your default project that you created in the first time setup above. Next select and rip the tracks you want as shown below.

Note1: If the DVD content has already been copied into the local file system, then you can miss out this step by ticking the Encode DVD on the fly option in the "Storage" tab.

Note2: You will only be able to transcode all titles at once (and therefore obtain all in a single output file) if you have selected to copy all files to the hard disk first.


Then go to the Transcode tab and ensure that all the settings are correct, select the track you want to rip and click the Transcode button to begin the main ripping process. This should take around an hour for a normal length movie. After it's finished you can find the final result in your home folder in Video/rip/rip/avi. You should check that it looks fine, then rename it to a better name and move it to your proper media location. Delete any other files out of the avi folder so they don't become confusing when you rip other things later.


I found that DVD::Rip didn't work out of the box for me, I checked the logging tab and found no errors, but the ripping just stayed at 0%. The logging did output the final shell command it used to do the rip though, so I pasted that into a root shell and this responded saying there were missing components. In my particular case I needed to install the following to get it working:

Compiling from source

Some operating systems don't have DVD::Rip in their apt repositories, in which case you'll need to compile it from source. You'll need to install the make tools, and also the required dependency transcode if not installed by default on the system.

apt-get install build-essential transcode

I was unable to use libdvdcss from VideoLAN, but found that libdvdcss2 worked which is available from the deb-multimedia.org software source.

echo "deb http://www.deb-multimedia.org wheezy main non-free" >> /etc/apt/sources.list
apt-get update
apt-get install libdvdcss2

When I first tried to build it I came across a missing Perl dependency called Locale::TextDomain which you can install from CPAN as follows:

apt get install cpanminus
cpanm Locale::TextDomain

Then cd into the downloaded and unpacked dvdrip source directory and build it as follows:

perl Makefile.PL
make test
make install