---------------------------------------------- DEPENDENCIES ---------------------------------------------- The following packages need to be installed on your system: Package Dependencies (apt-get install these for example): lsdvd dvdauthor gddrescue dvdbackup tovid mencoder mplayer genisoimage libdvdcss2 Specific Executable (program) Dependencies (must be found in $PATH): volname makexml lsdvd dvdauthor gddrescue dvdbackup mencoder mplayer mkisofs Optional Dependencies: lookup imdb info/posters for mythvideo: http://www.mythtv.org/wiki/Fill_mythvideo_metadata.pl ---------------------------------------------- INSTALL ---------------------------------------------- The following steps should be followed to pull this code project into a local GIT repository (local directory): This command will create a directory called "rip_dvd" in the CWD and pull the code for this project: > git clone http://git.pippins.net/rip_dvd/.git rip_dvd To pull updates in the future of this project into your local directory: > cd rip_dvd > git pull origin To see the changelog for what you have pulled, run this command: > git whatchanged ---------------------------------------------- ENABLING XVID TO ENCODE USING MULTICORES ---------------------------------------------- The libxvidcore4 package that you can get through ubuntu or debian is version 1.1.0. They didn't enable multi-core encoding using this library until version 1.2.0. Since you can't get that in a package, you can build it from source easily. Since the xvid codec (this lib) is used by mencoder by rip_dvd in all of its xvid profiles (the default), you can speed up the encode process quite a bit if you enable multi-cores. Follow these instructions to enable the xvid encoding to use multi-cores: > wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz > gunzip xvidcore-1.2.1.tar.gz > tar xvf xvidcore-1.2.1.tar > cd xvidcore/build/generic > ./configure --prefix=/usr > make > sudo make install > cd /usr/lib > sudo rm libxvidcore.so.4 > sudo ln -s libxvidcore.so.4.2 libxvidcore.so.4 After you do these steps, when rip_dvd is running using any xvid profile, you will note with 'top' that the mencoder process is using > 100% of your CPU. ---------------------------------------------- CONFIGURATION ---------------------------------------------- You'll need to copy the rip_dvd.conf.dist file to a local copy of the file called rip_dvd.conf. This way, you can customize the settings needed by the script in a file that isn't tracked by GIT. The conf file tracked by GIT (rip_dvd.conf.dist) will then contain the defaults the script needs to run. You can override these in your own rip_dvd.conf file you create locally. This will allow you to get updates from my GIT repository at a later point in time without blowing away your local settings. ---------------------------------------------- MYTHTV MENU SETUP ---------------------------------------------- Copy the menu files provided in the GIT repository to your mythtv menu location: > cp optical_menu.xml /usr/share/mythtv/ > cp rip_dvd_menu.xml /usr/share/mythtv/ You'll also need to edit the rip_dvd_menu.xml file so that the paths, commands, buttons, actions, meet your needs to accomplish the common encoding tasks you will want to do. The optical_menu.xml file was modified with a single entry for the rip_dvd_menu.xml file. You can take a look at this entry in this file and place it in any xml file you want to get it on the menu you want. I choose to place it on the optical menu. ---------------------------------------------- COMMAND LINE EXAMPLES ---------------------------------------------- Rip a DVD into a compressed AVI file with default xvidvhq profile: > rip_dvd -d /path/to/dest/dir -b 2000 -x Rip a DVD into a compressed AVI file with default xvidvhq profile scaling to 320x240 compressed video size: > rip_dvd -d /path/to/dest/dir -b 2000 -x -a 320:240 Rip a DVD into a compressed AVI file with default xvidvhq profile targetting a certain compressed video filesize (in MB): > rip_dvd -d /path/to/dest/dir -b 2000 -x -s 650 Rip a DVD into a VOB file: > rip_dvd -d /path/to/dest/dir -v Rip a DVD into an ISO file: > rip_dvd -d /path/to/dest/dir -m Rip a DVD into a burnable DVD compliant folder (creating VIDEO_TS and AUDIO_TS folders): > rip_dvd -d /path/to/dest/dir -f Rip a VOB file into a compressed AVI file: > rip_dvd -d /path/to/dest/dir -b 2000 -x -n /path/to/file.vob Rip a DVD Folder into a compressed AVI file: > rip_dvd -d /path/to/dest/dir -b 2000 -x -n /path/to/dvd/folder/that/contains/a/VIDEO_TS Rip a DVD into a compressed MP4 file for an ipod: > rip_dvd -d /path/to/dest/dir -b 2000 -x -p ipod Rip a DVD into a compressed MP4 file for an ipod AND again for a compressed AVI file: > dvdname=`volname /dev/dvd | awk '{ print $1 }'` > rip_dvd -d /path/to/dest/dir -v > rip_dvd -d /path/to/dest/dir/ipod -b 2000 -x -p ipod -n /path/to/dest/dir/$dvdname.VOB > rip_dvd -d /path/to/dest/dir/xvid -b 2000 -x -p xvidvhq -n /path/to/dest/dir/$dvdname.VOB > rm /path/to/dest/dir/$dvdname.VOB