Originally Posted by
scyto 
Well thanks to MediaDogg and others i finally ripped all my DVDs (well i am about 50% of he way through as i Speak). I thought i would share my findings for others still struggling. I have tried this 4 times in the last 4 years and never got it working before :-) This was all done on x64 Windows 7 SP1.
[*] get mediadogg latest mchanger -
i used the gui-058x.exe version[*]
get DVD Decrypter and install to default[*] disable AnyDVD - as i am ripping to ISOs and will use AnyDVD when i mount them i disabled it, out of 226 discs so far all have seem to have ripped ok. Only 2 could not be ripped with strange errors.[*] disable mymovies[*] disable all autoplay on the system[*] don't start media player, media center, imgburn, or dvd decrypter manually whilst ripping - infact don't start anything that might enumerate the drives or affect region and other protection detection[*] install
strawberry perl i used 5.10.1.1 - not sure if later ones work or not[*]
get imgburn - has great media changer control - doesn't work for ripping, works great for batch writing and ejecting 'stuck' discs[*] make sure the discs are clean / only have minor radial scratches[*] make sure the VGP-DVD region matches your region (remember you only have small number of changes)[*] don't be afraid to turn off the VGP if mchanger or imgbrun stops working, in fact it you use imgburn to unmount disc you probably need to power cycle the VGP to ensure mchanger doesn't hang[*] Here are my DVD Decrypter options for ripping as ISOs; oh and never click the defaults button in DVD decrypter on win7 as nasty registry errors will ocurr.
General Tab - set the region to the right region, check check for structure protection, check hide pack header warning, uncheck all the display warnings
ISO Read Mode TAB - check create MDS, uncheck Remove IFO strructure protection, check Remove IFO RC protection, check Remove RCE protection, uncheck remove IFO PUOs and VOB PUOs
CSS Tab - use I/O Key exchange -> brute force and set use key from another file: yes
I/O Tab - i set ito ElbyCDIO because i wanted be sure AnyDVD didn't get in the way
Events Tab - I suggest you save logs and don't overwrite them
[*] now close DVD Decrypter to save these settings as defaults[*] in the mchanger temp directory crreate a scanbatch.bat file; mine has following contents:
@echo off
echo %1 %2 %3 %4 >> batchout.txt
IF %1 == 0 (
IF %2 GEQ 0 (
IF %2 LEQ 199 (
C:\\strawberry\\perl\\bin\\perl.exe F:\\_BatchRipDVD\
ip_dvd.pl
)
)
)
this should have the path to wherever you choose to store your perl script
[*]create perl script at the path you used above. Mine looks like the following and has some signficant (i think) edits from other ones on here - it makes a subdir for every ISO based on volume name to assit in organization for mymovies. It also removes the trailing space on some volume names - that caused me several rip failures. Note it still doesn't cope with blank volume names - which i am too inept at perl to fix :-)
#/usr/local/bin/perl
#use strict;
# Output Directory for where you want the iso images stored
my $iso_path = "F:\\\\_DVD\\\\";
# Drive Letter of your changer
my $drive_letter = "G:";
(my $stripped_drive_letter) = ($drive_letter =~ /([A-Z]):/);
# Delay to let disk load and AnyDVD to scan
my $pass = 0;
while ($pass == 0) {
my $test = `vol $drive_letter`;
my @test_array = split(/\
/, ${test});
if ($test_array[0] =~ /Volume in drive ${stripped_drive_letter} is .*/) {
$pass = 1;
}
else {
sleep 5;
}
}
my $iso_file = generate_label();
# Command line ripper software
#line 1 below is for x64 systems (the one with x86 in it)
#line 2 below is for x86 systems (the one without x86 in it)
#comment out the one you don't need - currently this script is set for x64 systems
my $ripper = "\\"C:\\\\Program Files (x86)\\\\DVD Decrypter\\\\DVDDecrypter.exe\\"";
# my $ripper = "\\"C:\\\\Program Files\\\\DVD Decrypter\\\\DVDDecrypter.exe\\"";
# Arguments given to the ripper software
my $ripper_args = "/MODE ISOREAD /SRC ${drive_letter} /OVERWRITE YES /START /CLOSE /DEST ${iso_path}${subdir}\\\\${iso_file}";
my $cmd = "$ripper $ripper_args";
# Run command
`$cmd`;
# Check to see if the file already exists
sub check_exists {
my $file = shift;
if (-f $file) {
return(1);
}
else {
return(0);
}
}
# Command to generate the iso filename from the DVD label
# avoiding duplicating iso files that may already exist
sub generate_label {
my $label_out = `vol ${drive_letter}`;
my @label_array = split(/\
/, ${label_out});
(my $file) = ($label_array[0] =~ /Volume in drive ${stripped_drive_letter} is (.*)/);
$file =~ s/ $//s;
$file = "${file}.iso";
(my $label) = (${file} =~ /(.*)\\.iso/);
$subdir = "${label}";
my $count = 1;
if (check_exists("${iso_path}${subdir}\\\\${file}")) {
my $tmp_label = "${label}.${count}.iso";
while (check_exists("${iso_path}${subdir}\\\\${tmp_label}")) {
$count++;
$tmp_label = "${label}.${count}.iso";
}
$file = $tmp_label;
}
return($file);
}
[*]you will need to edit line 6 of the script to point to your destination directory[*]edit line 9 to put the drive letter of your changer[*]line 34 / 35 will need to be changed if you are not on x64 to point to the right location of DVD Decrypter (i.e program files instead of program files (x86) ) just add the # to the one you don't want and remove the # on the one you do want[*]line 38 will need to be edited if you don't want ISOs (change the DVD Decrypter Options) or don't want them in sub directories (remove the ${subdir}\\\\ )[*]line 74 and 76 will need to be edited if you don't want sub directories (remove the ${subdir}\\\\ )[*]now load you discs - i would suggest 10 to start and help reduce your frustration level if it fails :-)[*] start gui-058x.exe[*] click full slots[*] select the discs in full or mounted slots you want (ignore the fact that the volume labels are probably wrong, marked as not ready, whatever) and close the window[*] click batch scan
Everything should now batch rip....
Of course YMMV and if you don't like what I did with ISOs you can edit the script or look at older versions by other folks in the thread.
I hope this pointed you in the right direction!
(i just added the script as a file below, if you use it remove the .txt)
(hmm seems the trim function iused to cope with volument names that have a space at the end doesn't work properly - probably won't fix it as it doesn't break the script for all other discs.