I. ABOUT dvd::rip is a full featured DVD copy program written in Perl. It provides an easy to use but feature-rich Gtk+ GUI to control almost all aspects of the ripping and transcoding process. It uses the widely known video processing swissknife transcode and many other Open Source tools. dvd::rip itself is licensed under GPL / Perl Artistic License. "And note: it's spelled dvd::rip, and nothing else." II. NOTE This README is automatically generated from the same sources which are used for the dvd::rip homepage. You'll allways get the latest news and information from the homepage. http://www.exit1.org/dvdrip/ Also the homepage contains an extensive user documentation for standard and cluster mode, with screenshots, diagrams and more. This README covers only the installation not the usage of dvd::rip. III. DOCUMENTATION 1. Installation _________________________________________________________________ * 1.1 Binary distributions * 1.1.1 Debian packages * 1.1.2 SuSE packages * 1.1.3 Mandrake packages * 1.1.4 RedHat packages * 1.1.5 gentoo packages * 1.1.6 FreeBSD port 1.2 Source download * 1.2.1 dvd::rip tarball download * 1.2.2 CVS access 1.3 Requirements * 1.3.1 Brief overview * 1.3.2 Perl 5.6.0 or better * 1.3.3 Perl Gtk Module * 1.3.4 transcode * 1.3.5 Image Magick * 1.3.6 ogmtools * 1.3.7 subtitleripper * 1.3.8 mplayer and/or xine (with a DVD plugin) * 1.3.9 CD burning tools * 1.3.10 rar (for vobsub compression) * 1.3.11 Additional requirements for cluster mode 1.4 Install from source * 1.4.1 Install dvd::rip * 1.4.2 Update dvd::rip * 1.4.3 Multiple dvd::rip versions in parallel 1.5 Uninstall dvd::rip 1.6 Download this documentation _________________________________________________________________ This chapter describes how you can get and install dvd::rip. You can try one of the several binary distributions or install it from the source. 1.1 Binary distributions Installation of dvd::rip isn't that hard, but fulfilling the requirements actually is (simply because they are a lot ;). So you should first try a binary installation using the package manager of your Linux distribution. This should track all dependencies automatically and speed up things significantly. 1.1.1 Debian packages Christian Marillat builds video related Debian packages and publishes them on his website http://marillat.free.fr/. You can use apt-get to install the packages if you add one of the following entries (depending on your distribution) to your /etc/apt/sources.list file: deb http://marillat.free.fr/ testing main deb http://marillat.free.fr/ unstable main You will find all packages to compile transcode on your own (if you need always the very latest versions), or can get binaries of reasonably recent transcode versions directly. The same applies to dvd::rip. 1.1.2 SuSE packages Rainer Ley builds dvd::rip SuSE RPM's you can download from the contrib directory: http://www.exit1.org/dvdrip/contrib/suse/ On packman.links2linux.de you find several video related RPM's, including transcode: http://packman.links2linux.de/index.php4 1.1.3 Mandrake packages Mandrake users can get actual dvd::rip and transcode RPM's from the Penguin Liberation Front lair. http://plf.zarb.org/ 1.1.4 RedHat packages Matthias Saou does a great job in building dvd::rip and other multimedia related packages. You can find them at freshrpms.net. This is a direct link the dvd::rip package: http://freshrpms.net/rpm/perl-Video-DVDRip 1.1.5 gentoo packages You can get dvd::rip and transcode from the official gentoo package repository: http://www.gentoo.org/packages/media-video/dvdrip.html 1.1.6 FreeBSD port dvd::rip is available in the FreeBSD ports collection. To install from source, cd to ${PORTSDIR}/multimedia/dvdrip and type 'make install clean'. To install a binary package of the port, type 'pkg_add -r dvdrip'. Note however that the default installation of the transcode port which dvd::rip depends on is very minimalistic, it is recommended to look at the Makefile of the transcode port, enable all the options you need for dvd::rip and install the transcode port from source. (Thanks to Michael Nottebrock, who maintains the FreeBSD port) 1.2 Source download 1.2.1 dvd::rip tarball download You can download dvd::rip sources from this server or all stable releases from any CPAN mirror. Local download of the latest stable release: (currently no unstable release available) Video-DVDRip-0.50.14.tar.gz CPAN download directory: (list of mirrors) http://www.cpan.org/CPAN/modules/by-authors/id/J/JR/JRED/ You can download older versions from here: http://www.exit1.org/dvdrip/dist/ http://www.exit1.org/dvdrip/dist/pre/ This is a directory, which contains several user contributed files, you probably find useful: http://www.exit1.org/dvdrip/contrib/ 1.2.2 CVS access This is mainly intended for developers and CVS experienced users. This CVS repository is only a read only mirror of my main repository. It's updated manually when I publish releases or pre-releases, so there is no advantage for normal users compared to downloading the tar balls (besides making it easier using "cvs update" ;) Since development of dvd::rip is divided into two branches, you get the current (unstable) version, if you don't specifiy a release tag. If you want to access a stable version, add -r rel-MAJOR-MINOR-PATCH to your cvs checkout command (example: for 0.48.5 this is -r rel-0-48-5). If you always want to have the latest stable patch release, use -r rel-MAJOR-MINOR-patches (e.g. -r rel-0-50-patches). All subsequent updates will stay on this branch (here: 0.50). The easiest way of switching to another branch is creating a new checkout using the corresponding release tag. Root Module Unstable tag Stable tag :pserver:cvs@cvs.exit1.org:/cvs dvdrip none rel-MAJOR-MINOR-PATCH 1.2.2.1 CVS examples Log into CVS server with: cvs -z3 -d :pserver:cvs@cvs.exit1.org:/cvs login (Press ENTER for password) Checkout latest version of the actual stable branch (here 0.50.x): cvs -z3 -d :pserver:cvs@cvs.exit1.org:/cvs checkout -r rel-0-50-patches dvdrip Checkout a specific stable/bugfix version (here 0.50.13) with: cvs -z3 -d :pserver:cvs@cvs.exit1.org:/cvs checkout -r rel-0-50-13 dvdrip Checkout the current development version with: cvs -z3 -d :pserver:cvs@cvs.exit1.org:/cvs checkout dvdrip Update a checkout - created using one of the commands above - with: cd dvdrip; cvs -z3 update 1.3 Requirements dvd::rip is a Gtk+ based program written in Perl, using the video processing tool transcode and many other tools for the internals. So you first have to get some prerequisites before installing dvd::rip. dvd::rip expects all command line tools mentioned here to be found in the standard search PATH. 1.3.1 Brief overview This table gives a brief overview of the tools used by dvd::rip (everything but the Perl modules - see the chapters below for more information about them). Most tools are optional - the corresponding dvd::rip modules are just switched off, if you don't have them. But you need at least the tools marked mandatory, otherwise dvd::rip will complain with an error message on startup. You can get also a dvd::rip window listing this information, refer to the corresponding chapter in the documentation for details. Tool Comment Mandatory Suggested Minimum Maximum transcode dvd::rip is nothing without transcode Yes 0.6.3 0.6.2 - ImageMagick Needed for preview image processing Yes 5.5.3 4.0.0 - subtitle2pgm Needed for subtitles No 0.3 0.3 - rar Needed for compressed subtitles No 2.71 2.71 2.99 mplayer Needed for subtitle vobsub viewing No 0.90 0.90 - ogmtools Needed for OGG/Vorbis No 1.0.0 1.0.0 - dvdxchap For chapter progress bar (ogmtools) No 1.0.0 1.0.0 - mjpegtools Needed for (S)VCD encoding No 1.6.0 1.6.0 - cdrdao Needed for (S)VCD burning No 1.1.7 1.1.7 - vcdimager Needed for (S)VCD burning No 0.7.12 0.7.12 - mkisofs Needed for AVI/OGG burning No 2.0 1.15 - cdrecord Needed for AVI/OGG burning No 2.0 0.7.12 - xine Can be used to view DVD's/files No 0.9.15 0.9.13 - fping Only for cluster mode master No 2.4 2.2 - The following chapters describe the needed tools in detail, including information on how to get them. Additionally to the table above all need Perl modules are described also. 1.3.2 Perl 5.6.0 or better You need a recent Perl version on your system. Perl 5.8.0 is recommended, 5.6.0 and 5.6.1 should work also. dvd::rip won't start with Perl versions prior to 5.6.0. Actual distributions ship minimum 5.6.1, so this shouldn't be a real problem, anyway. 1.3.3 Perl Gtk Module For its GUI component dvd::rip needs the Perl Gtk module, which presumes Gtk+ version 1.2 or higher. I tested dvd::rip with Perl Gtk 0.7008. You can find the Gtk module on CPAN, e.g.: http://www.perl.org/CPAN/modules/by-module/Gtk/ Note: Perl Gtk detects your installed Gtk libs and build subcomponents only if the correspondent Gtk library was found. dvd::rip needs the Gtk::Gdk::Pixbuf component which needs gdk-pixbuf to be installed on your system. So first make sure, that gdk-pixbuf is installed. Then install Perl Gtk and everything should work as expected. 1.3.4 transcode dvd::rip delegates all the low level video processing to transcode, which can be obtained from here: http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/ dvd::rip should work with the latest transcode releases (at least with the latest major stable release). Otherwise correspondent notes are added to the release notes resp. posted on the homepage. If you plan to create (S)VCD's you must compile transcode with the mjpeg export filter module. transcode's internal bbmpeg filter isn't supported yet. Note: For almost any Linux distribution binary transcode packages can be found. Compiling transcode sometimes isn't an easy task, in particular if you are not familiar with building packages, which have lots of dependencies. So you should try binary packages first. Refer to the binaries section for details. 1.3.5 Image Magick For image processing dvd::rip uses the widely distributed software package Image Magick, at least the programs identify and convert should be installed on your system. If your Linux distribution does not ship Image Magick, you can find it here: http://www.imagemagick.org/ 1.3.6 ogmtools dvd::rip has support for generating audio / video ogg streams (often known as OGM streams). You need a recent version of ogmtools for that to work: http://www.bunkus.org/videotools/ogmtools/index.html 1.3.7 subtitleripper To get subtitles with dvd::rip you need a recent version of the subtitleripper package. It's shipped with transcode in the contrib/subrip directory or you can fetch it from the subtitleripper homepage: http://sourceforge.net/projects/subtitleripper 1.3.8 mplayer and/or xine (with a DVD plugin) If you have mplayer or xine installed, you can preview selected DVD titles/chapters with the appropriate audio channels. You can download xine and mplayer from here: http://xine.sourceforge.net/ http://www.mplayerhq.hu/ 1.3.9 CD burning tools If you want to use dvd::rip's CD burning module, you must have the following tools installed: mkisofs cdrecord vcdimager cdrdao 1.3.10 rar (for vobsub compression) MPlayer supports vobsub files compressed with rar, but you need a 2.x version, 3.x and higher doesn't work. You can get a 2.x version locally from here: http://www.exit1.org/dvdrip/contrib/rarlnx271.sfx.bin I suggest to install the binary to e.g. /usr/local/bin. Then configure this path using the Preferences dialog. 1.3.11 Additional requirements for cluster mode Some additional Perl modules and command line tools are needed for the cluster mode. 1.3.11.1 Perl modules Cluster mode needs the Storable and Event Perl modules. Check if your distribution ships them already. If not, you can find them on CPAN: http://www.perl.org/CPAN/modules/by-module/Storable/ http://www.perl.org/CPAN/modules/by-module/Event/ 1.3.11.2 fping The dvd::rip cluster control daemon uses fping to check if nodes are online. If fping isn't shipped with your Linux distribution you can get it from here: http://www.fping.com/ Note: Matthias Riese told me that there are IPv6 fping packages which don't support IPv4, which is most likely not what you want, so pay attention to get the right version ("ipv6" should not occur in the package name). dvd::rip expects fping to be installed set-uid root (because you hopefully don't run dvd::rip as root ;), which is not the default for most distributions. Please set the set-uid flag by typing this command as root: chmod u+s /usr/sbin/fping If fping is installed in another location, set a symlink to /usr/sbin/fping, because dvd::rip expects it there. Note: These steps are necessary only on the computer, where the cluster control daemon runs. All slave nodes of a dvd::rip cluster only need transcode installed, dvd::rip or any packages mentioned here aren't needed there. 1.4 Install from source 1.4.1 Install dvd::rip This is quite easy, if you have managed to install the packages mentioned above... ;) Download the .tar.gz archive of the dvd::rip version you want to install. Then extract the file, change into the created directory, generate the Makefile and execute make: # as a normal user tar xfz Video-DVDRip-0.50.14.tar.gz cd Video-DVDRip-x.xx perl Makefile.PL make make test If the "make test" reported no errors, you can install the files into your Perl library path. Usually you must be root to do this: # become root su make install You can ommit the "make install" step. But then you can execute the 'dvdrip' binary only from the build directory and you must put "." into your PATH, otherwise dvd::rip can't find its files. 1.4.2 Update dvd::rip Updating is just like installing. The only thing you should be aware of is switching the underlying Perl version. This way you easily can get two versions of dvd::rip installed in your system, because dvd::rip installs its libraries in your Perl library directory. Such a installation mixing isn't recommended unless you know exactly what you're doing. So it's better to remove the old version from the old Perl directory if you change the Perl version (refer to the uninstall chapter for details). Read the Changes file! I strongly suggest you should read at least the latest change log entry of the Changes file, resp. all entries of the versions you probably skipped in case of an update. It contains important release notes, e.g. about compatibility issues, and all relevant changes from release to release. Note: Changes on the unstable branch are logged in the file Changes.unstable. 1.4.3 Multiple dvd::rip versions in parallel It's possible to use several dvd::rip versions in parallel on your system, but you can install only one version using make install into your system directories. Just extract another dvd::rip version you want to use somewhere, enter the created directory (Video-DVDRip-x.xx) and execute perl Makefile.PL && make here (no make install). Add the actual directory to your PATH (export PATH=.:$PATH) and you can start this version with ./dvdrip from this directory. All files and libraries located in the actual distribution directory will be used. The . in PATH is neccessary, otherwise some dvd::rip helper binaries may be taken from another place. tar xvfz Video-DVDRip-0.50.14.tar.gz cd Video-DVDRip-x.xx perl Makefile.PL && make export PATH=.:$PATH ./dvdrip 1.5 Uninstall dvd::rip If you didn't use a package manager to install dvd::rip and you want to uninstall it, follow these instructions. This is necessary, if you accidentally mixed several versions on your system, which may result in a broken dvd::rip at all. In this case best thing is to remove all instances and to do a clean installation afterwards. dvd::rip mainly consists of a bunch of Perl modules which reside in the Perl library directory of your Perl interpreter. Easiest way to find this directory is to use the locate program. Then a few executables belong to dvd::rip, which also can be found using locate. This is an example session of how this works: % locate DVDRip.pm /usr/local/share/perl/5.8.0/Video/DVDRip.pm % rm -r /usr/local/share/perl/5.8.0/Video/DVDRip* % locate dvdrip /usr/bin/dvdrip /usr/bin/dvdrip-master % rm /usr/bin/{dvdrip,dvdrip-master,dr_splitpipe,dr_progress,dr_exec} In words: find a Perl library directory called Video with DVDRip.pm in it. Remove the DVDRip.pm file and the subdirectory called DVDRip. Then find the location of the binaries and remove them - see the list above. If you find multiple instances this way, remove them all. 1.6 Download this documentation You can download a static HTML version of this documentation: http://www.exit1.org/dvdrip/dist/dvdrip-doc-html.tar.bz2 A PDF version is also available (generated using the excellent tool htmldoc): http://www.exit1.org/dvdrip/dist/dvdrip-doc.pdf.bz2 _________________________________________________________________ IV. MAILING LIST If you want to discuss usage, problems and suggestions with other dvd::rip users, you should subscribe to the dvdrip-users mailing list. This list is low traffic and announces, patches etc. will be posted here, too. The language of the mailing list is english. This is a closed mailing list: subscribe before posting. The list is closed to prevent members from getting flooded by spam. So you have to subscribe before posting. Postings from non subscribed users may be discarded without notification! Also you must use the correct sender address, because the mailing list program has no idea of your alternative mail addresses. Before posting any questions or bug reports: please first check the [3]documentation, in particular the [4]FAQ. * [5]Mailing list subscription * [6]Searchable mailing list archive The list is registered for reading at [7]gmane.org, a mailing list to news gateway, which has a public searchable mailing list archive: * [8]Mailing list archive at gmane.org Please note, that you can't post to the gmane.comp.video.dvdrip.user newsgroup. You must be a regular list member for posting. Because dvd::rip is highly transcode related, I suggest subscribing to the [9]transcode-user mailing list, too. IMPORTANT NOTE: Don't post any illegal stuff here, e.g. requesting or offering movie downloads or something like this! Members breaking this simple rule will be removed immediately. Please note: copying encrypted DVD's is illegal in many countries. Also it's illegal to provide information about how this could be accomplished. So don't send any questions regarding encrypted DVD's or DVD cracking tools to the author of dvd::rip or to the dvd::rip mailing list. Corresponding mails will be silently ignored, correspondent posts will be removed from the mailing list archive without notification. URL References 1. http://www.exit1.org/dvdrip/list.cipp 3. http://www.exit1.org/dvdrip/doc/ 4. http://www.exit1.org/dvdrip/doc/faq.cipp 5. http://lists.exit1.org/mailman/listinfo/dvdrip-users 6. http://www.exit1.org/dvdrip/htdig/search.cipp 7. http://www.gmane.org/ 8. http://news.gmane.org/thread.php?group=gmane.comp.video.dvdrip.user 9. http://www.theorie.physik.uni-goettingen.de/mailman/listinfo/transcode-users V. SUPPORT Getting help If you encounter problems, which are not covered by the [3]documentation, in particular the [4]FAQ, subscribe to the [5]dvdrip-users mailing list and ask your question there. Don't forget to tell the dvd::rip and transcode versions you're using. Getting no help Please note: copying encrypted DVD's is illegal in many countries. Also it's illegal to provide information about how this could be accomplished. So don't send any questions regarding encrypted DVD's or DVD cracking to the author of dvd::rip or to the dvd::rip mailing list. Corresponding mails will be silently ignored, correspondent posts will be removed from the mailing list archive without notification. Reporting bugs and suggestions If you want to send a bug report, patch or feature request, please make sure, that you're using the most recent version of dvd::rip (at least the latest stable release). Please first check the [6]documentation, in particular the [7]FAQ, the [8]ChangeLog and the [9]mailing list archive to see, if the bug is reported and probably fixed already in the development release. For feature requests, please check if it's not already noted on the [10]TODO list. We all know, reading documentation is boring, but it saves time ;) Thanks. If you find a bug, please report it and add the following information: * information about your Linux installation, which may be interesting (at least the distribution you're using) * information about your Perl installation. Simply send the output of the "perl -V" command (only necessary in case of an internal error message or fatal crash) * version numbers of all tools which are affected (at least transcode) - you can get a list of all version numbers by pressing Ctrl+D in the dvd::rip main window. * a description of how the bug can be reproduced. transcode related issues If you encounter problems ripping specific DVDs, this is probably a transcode problem. Maybe you want to report this directly to the transcode developers resp. to the [11]transcode-user list. If you're not sure about this, report the problem to the dvdrip-users list, and we'll see, what we can do for you. But aware, that you may be pointed to the transcode-users list... ;) Contribute with patches Patches are welcome, preferably unified context diffs created this way (if you're familiar with CVS, you should use the [12]CVS repository and create patches with CVS): cd Video-DVDRip-0.48.2.patched make realclean cd .. diff -urN Video-DVDRip-0.48.2 Video-DVDRip-0.48.2.patched > patchfile.txt where Video-DVDRip-0.48.2 is the root directory of the original distribution and Video-DVDRip-0.48.2.patched your modified version. Without the make realclean all files created during make are added to the patch, what's not what we want. If it simply works If dvd::rip works for you without any problems and you like it, don't hesitate to drop a mail. Next to all those problem and bug reports some positive postings delight every coders heart ;) Contact the author If you don't want to post to the mailing list for some reasons, you can contact me by mail. But be aware, that the response time may be longer, comparing to a list posting. The address is: [13]Jörn Reder . Please place the word "dvd::rip" everywhere in the subject, in addition to your real topic, because this helps me classifying your email correctly. Thanks. URL References 1. http://www.exit1.org/dvdrip/support.cipp 3. http://www.exit1.org/dvdrip/doc/ 4. http://www.exit1.org/dvdrip/doc/faq.cipp 5. http://www.exit1.org/dvdrip/list.cipp 6. http://www.exit1.org/dvdrip/doc/ 7. http://www.exit1.org/dvdrip/doc/faq.cipp 8. http://www.exit1.org/dvdrip/changes.cipp 9. http://www.exit1.org/dvdrip/htdig/search.cipp 10. http://www.exit1.org/dvdrip/todo.cipp 11. http://www.theorie.physik.uni-goettingen.de/mailman/listinfo/transcode-users 12. http://www.exit1.org/dvdrip/doc/install.cipp#cvs 13. mailto:?subject=dvd::rip VI. CHANGES $Id: Changes,v 1.131.2.34 2003/06/29 09:17:16 joern Exp $ Revision history and release notes for dvd::rip. 0.50.14 [stable branch] Sun 29 Jun 2003, joern Bugfixes: - NTSC A/V sync enhancement: dvd::rip's -x vob,null transcode option in the 1st pass of a multipass transcoding was good for performance, but could be bad for A/V sync with some NTSC material, because the audio information is always needed for proper synchronisation. Thanks to Florin and Tilmann for figuring this out. - NTSC: -M2 isn't set anymore by dvd::rip, because transcode does autodetect this. Thanks to Tilmann for the hint. - Fixed a small mismatch (about 1%) in the audio size calculation, which affected video bitrate calculation. Thanks for the report to Charles François Rey . - Automatic setting of PERLIO=stdio failed, if PERLIO was already set to some value. Thanks for the report to Richard Kilgore . - Progress bar was messed up with PSU core. Thanks for the report to Tyler and Florin. - NTSC: resolution was set to 720x480, even if the movie had 704x480. dvd::rip now sets no resolution at all, because transcode autodectes the resolution. Thanks for the report to Francisco J. León . Features: - transcoce >= 0.6.6 sets mpeg2enc -I 0 by default, but older versions doesn't. This speeds up things signifcantly, because now mpeg2enc skips deinterlace processing (it was done even for non-interlaced material and wasted time). dvd::rip now sets -I0, too. Thanks for the hint to Simone Lehmann - Warn about AVI files >2GB and set transcode option --avi_limit 9999, otherwise transcode splits automatically at 2GB.