NAME Video::DVDRip - GUI for copying DVDs, based on an open Low Level API DESCRIPTION This Perl module consists currently of two major components: 1. A low level OO style API for ripping and transcoding DVD video, which is based on Thomas Oestreichs program transcode, a Linux Video Stream Processing Tool. This API is currently well undocumented. 2. A Gtk+ based Perl program called 'dvd::rip' which provides a nice GUI to control all necessary steps from ripping, adjusting all parameters and transcoding the video to the format you desire. The distribution name is derived from the Perl namespace it occupies: Video::DVDRip. Although the DVD Ripper GUI is called dvd::rip, because it's shorter and easier to pronounce (if you omit the colons... ;) PREREQUISITES transcode dvd::rip delegates all the low level DVD handling to transcode, which can be obtained here: http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/ dvd::rip expects all transcode binaries to be found in the standard search PATH. 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. All versions above version 4 should work (actually tested with 5.3.1). dvd::rip does not use Perl Magick. Perl Modules For its GUI component dvd::rip needs the Perl Gtk module, which presumes Gtk+ version 1.2 or higher. I tested dvd::rip with Version Perl Gtk 0.7008. You can find the Gtk module on CPAN, e.g.: http://www.perl.com/CPAN/modules/by-module/Gtk/ xine If you have the movie player xine installed, you can preview selected DVD titles with the appropriate audio channels. Maybe I'll support mplayer, too, in upcoming versions. DOWNLOADING You can download dvd::rip from any CPAN mirror. You will find it in the following directory: http://www.perl.com/CPAN/modules/by-authors/id/J/JR/JRED/ I recommend downloading from a mirror, which are listed here http://www.perl.com/CPAN/SITES.html You'll also find recent information, some screenshots and documentation on my homepage: http://www.netcologne.de/~nc-joernre/ INSTALLATION First install all packages listed in the PREREQUISITES section. Then extract the .tar.gz file, change into the created directory and generate the Makefile and execute make: perl Makefile.PL make Among other things this builds the binary program 'splitpipe', which uses dvd::rip for ripping and scanning the DVD in the same run. Now it's up to you to type make install which installs all the Perl modules in your Perl library path, and the two executables dvdrip splitpipe in your Perl bin directory. Otherwise you can use dvd::rip right here and now by executing the 'dvdrip' program from the build directory. BASE CONFIGURATION / PREFERENCES On first startup of dvd::rip you should check the global preferences in the Edit menu. Enter your DVD configuration and data directory here. The defaults will most likely not work on your system. These settings are stored in your home directory: ~/.dvdriprc Remove this file for falling back to the defaults. NOW HAVE FUN Create a new project by choosing the appropriate entry of the main menu. The GUI should be more or less self-explanatory. Please check my homepage for more details on using dvd::rip. BUG REPORTS / CONTRIBUTING If you find bugs or have suggestions which make dvd::rip a better tool: don't hesitate to send me emails (see AUTHOR section below). If you find a bug which crashes dvd::rip, please add the following information to your report: 1. information about your Linux installation, which may be interesting (Kernel version, Distro version, X11 Version) 2. information about your Perl installation. Simply send me the output of the "perl -V" command. 3. if possible a description how the bug can be reproduced. Patches are welcome. I prefer unified context diffs created this way: diff -urN Video-DVDRip-0.21 Video-DVDRip-0.21.patched where Video-DVDRip-0.21 is the root directory of the original distribution and Video-DVDRip-0.21.patched your modified version. If you encounter problems ripping specific DVDs, this is probably a transcode problem. Maybe you want to report this directly to Thomas Östreich. If you're not sure about this, report the problem to me and I'll see what I can do for you. AUTHOR Joern Reder You can contact me by email. 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. I'm native german speaker, so you can send your mails in german, if you want. The others have to accept my rough english ;) COPYRIGHT Copyright (C) 2001-2002 by Joern Reder, All Rights Reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO perl(1). CHANGES $Id: Changes,v 1.30 2002/01/19 11:05:36 joern Exp $ Revision history for Perl extension Video::DVDRip 0.30 Sat Jan 19 2002, joern Features: - Christian Lambert sent me an enhanced version of my fast resize calculator kspread file. Bugfixes: - creating a new project failed with an exception, thanks to Christian Lambert for his bug report. - splitpipe did not work correctly if you use transcode 0.5.x, thanks to Marc Wäckerlin for his bug report. - opening the "Show transcode commands" window without an opened project threw an exception. 0.30_01 Sat Jan 12 2002, joern Quick pre-release, because I like this feature so much ;) Features: - added fast frame grabbing using the vob navigation information created by 'tcdemux -W' for transcode >= 0.6.0pre. Frame grabbing now needs a constant amount of time (2-3 seconds on my A1000 workstation), regardless of the frame number, you entered. transcode 0.5.x is still supported, using the -c option, which is slow because it decodes all precedent frames. Thanks to Thomas Östreich, who helped me demystifying the navigation logfile ;) 0.29 Thu Jan 10 2002, joern Bugfixes: - ripping progress bar enabled for transcode >= 0.6.0 (you *must* use at least transcode-0.6.0pre2-20020107. Older 0.6.0 pre-releases will cause dvd::rip to fail badly or just freezing it). dvd::rip uses the new -W switch of tcdemux to get the progress in the ripping stage. This gives even enough information to calculate fps. Coooool... ;) - You can use dvd::rip with transcode 0.5.x (x>=3), but the ripping progress bar will be disabled. Features: - transcode version is detected on startup, so different behaviour for different transcode versions is possible. - preparing for cluster mode: dvd::rip already creates the neccessary vob navigation logging data. 0.29_01 Sun Jan 07 2002, joern Bugfixes: - DVD TOC reading completely reorganized. Should work now more reliable with all DVDs. Due to this there is currently no progress bar for ripping available. - DVD TOC missed scrollbars - transcode progress bar did not work with transcode 0.6pre 0.28 Fri Jan 04 2002, joern Features: - I added a contrib directory to the distribution, currently containing a KSpread file which helps calculating fast resize values. I'm planning to integrate a native and quite more usable version of this sheet into dvd::rip, but maybe this helps someone while this feature is not finished. On the other hand the presets are working well for most DVDs, so this is currently a nice to have feature for me. Bugfixes: - avisplit progress bar missed percentage and ETA. - fast resize option did not always complain about illegal values, thanks to Christian Lambert for the bug report. 0.28_03 Thu Jan 03 2002, joern Features: - Full viewing angle support, requested by Certron DiSoni . You can select the viewing channel after reading the TOC. Only the selected angle will be ripped from the DVD. This way I was able to rip german Star Wars Episode I, with the german intro. Bugfixes: - transcode progress bar missed percentage and ETA. 0.28_02 Thu Jan 03 2002, joern Again a pre-release due to major changes in the progress module and chapter mode code. Please test it. Thanks. Features: - enhanced chapter mode suggested by Tim Currie : dvd::rip now shows a multi selection list of avaiable chapters per title. Now you can decide which chapters should be ripped and transcoded. Currently no progress bar is shown in the chapter selection mode, only the elapsed time will be printed. Also avisplit is currently not available in chapter mode. I'm not shure, if transcode reports the correct number of chapters. Often the higher chapters are empty or at least *very* short. - major code cleanup in the progress bar module. Among other things a Gtk input handler is used instead of a Gtk idle function. This way the GUI responses much better. Also all calculations (elapsed time, ETA, fps) are done by dvd::rip now and available for all tasks. Bugfixes: - fixed chapter mode transcoding progress bar / logging problem - dvd::rip failed if the project path was not absolute. Thanks to George Farris for the report. 0.28_01 Fri Dec 28 2001, joern This is a pre release for testing the new Chapter Mode feature. Please use this version only, if you're interested in this feature or if you want to test it in general. Also non-Chapter-Mode ripping may be affected or buggy. Features: - Chapter Mode, suggested by Norbert Preining. You have to enable this on the RIP Title Tab before ripping, because each chapter will be ripped into a separate directory. Transcoding in chapter mode will lead to one AVI file for each chapter. The progress bar guesses sometimes wrong, but the result should be Ok. Splitting in Chapter Mode is not supported and makes no sense in general. - removed the tcprobe-random-title-permutation workaround, because this tcprobe bug is fixed in transcode 0.5.3 Bugfixes: - dvd::rip didn't work with transcode 0.5.3 due to changes of tcprobe output. Thanks to Thomas Speck for his bug report. This release has a workaround fixing this problem. Another solution is to patch transcode 0.5.3 with a patch published by Thomas Östreich on his transcode homepage. 0.27 Tue Dec 18 2001, joern Bugfix: - this release fixes only a minor bug in the debugging window and log file output. The snapshot command missed the frame number, so the -c option was malformed. 0.26 Sun Dec 16 2001, joern Bugfix: - tar.gz distribution was incomplete. Updated MANIFEST. 0.25 Sat Dec 15 2001, joern Features: - create logfile of all processes, display it in a separate logging tab - renamed "Snapshot Directory" to "Temp Directory", because it's used not only for the snapshot images. DivX4 analyze logs and the dvd::rip log are also stored here. Bugfixes: - "transcode & split" did not work - spaces in project name not allowed, thanks to Matthias Rieber for the bug report. dvd::rip did not work correctly with spaces in the project name. Checking of other user supplied values is still on my TODO list. 0.24 Thu Dec 13 2001, joern Just a major release, no changes since pre-release. 0.24_02 Tue Dec 11 2001, joern Features: - You can open a debugging window, which shows all transcode commands executed by dvd::rip by pressing Ctrl+T or selecting the "Debug/Show Transcode Commands..." menu item. Thanks to Norbert Preining for his suggestion. This should help finding bugs in dvd::rip, where wrong transcode options are genereated, or something similar. - modified 16:9 anamorph fast resizing Preset: added 2nd Clipping to get rid of 4 black top and bottom lines - Added a transcode title number field to the rip tab. This way you can workaround the transcode/libdvdread bug which results to wrong assigned titles. Please use this with care and only if you know, what you do. This fields changes only the title number passed to all transcode commands. The dvd::rip filenames will be named with the orignally (maybe wrong) scanned title nr. Thanks to Bjoern Buerger for his suggestion. Bugfixes: - Preset "16:9 Anam. Enc., No Letterbox, Fast Resize" did not switch fast resizing on - Fast Resizing: 32 pixel boundary must be given only for axes which are resized. Thanks to Norbert Preining for his patch. - dvd::rip now checks, whether VOB files are already ripped, even if the project file says, they're not (e.g. if you forget to save after ripping, restart dvd::rip and create a new project for this DVD). Thanks to Norbert Preining for the hint. - dvd::rip now checks if the needed programs (transcode, ImageMagick etc.) are installed and complains if not. Thanks to Michal Szymanski for his bugreport. 0.23 Sun Dec 09 2001, joern Bugfixes: - fast resizing: 32 pixel boundary check ommited checking the clip1 size - transcode progress label did always show the "split afterwards" message, even if started without splitting. 0.22 Sun Dec 09 2001, joern Bugfixes: - applied Perl 5.005 patch supplied by Norbert Preining . Thanks. - DVD read-toc code always tried a mount, even if the DVD was already mounted. This could confuse systems using automounter. New Features: - Support of the fast resizing algorithm of transcode (transcode-0.5.2-20011206 is recommended because of a bug in the horizontal fast resize code in earlier versions). Fast resizing presumes 32 pixel boundaries. If you break with this rule, you'll get an error window on transcoding. I'm planning a wizard which helps calculating the correct values, because this can be a brain squeezing task ;) - Added two new Presets for anamorph transcoding using the fast resizing algorithm. They should bypass the time, until the fast resizing wizard is finished. - Support of multipass DivX encoding. - Added a button to the Transcode tab for viewing the transcoded non-splitted AVI file. - transcode progress label shows, whether started with or without splitting 0.21 Sat Dec 01 2001, joern Bugfixes: - fixed color problem with snapshot images New Features: - transcode 0.5.1 supports 4GB AVI files, so max. filesize for the bitrate suggestion is now 4000 MB (was 2000 MB with transcode 0.5.0) 0.20 Tue Nov 27 2001, joern - First public release. Should be usable but is not tested with thousands of DVDs.