DVD Ripper comparison

There's currently a lot of DVD decryption programs "on the market". One of the favorite questions of a newbie is "Which ripper should I use" and everybody has it's own opinion about that. Everybody has it's own explanation why his particular choice is best, but there was no comprehensive comparison between the various ripping programs till now. 

I have contacted each of the authors of these programs if possible, to ensure that the info about their program is as accurate as possible. Furthermore I've suggested some improvements, many of which you can already see in the current releases of the respective programs. 

The participants

cladDVD 1.64
DeCSS+ 1.0
DVD Decrypter 2.0
SmartRipper 2.02
VobDec+0.311
VobDec GUI 3.1
vStrip 0.6d_css

Where's DeCSS and DOD Speed Ripper? I chose not to include these programs due the legal issues (DeCSS) involved and mostly due to the fact that they don't have a keysearch. The know a certain player key which they use to decrypt a movie. The DVD CCA has long since invalidated this key and most (if not all) DVDs released after February 2000 will no longer be decryptable using these 2 tools. 

Test Setup

I've chosen a particularly tough setup, designed to push the programs to their limits. I have tested the programs with the following 5 DVDs:

  • Death Row Uncut, R0, not encrypted
  • Raw Deal, R1, encrypted
  • The Blair Witch Project, R1, encrypted
  • Just Cause, R1, encrypted
  • The man with the golden gun, R1, encrypted

The regions have nothing to do with the results, but I've indicated it because certain R2 releases of the same movie don't have problems with ripping programs, or the other way round.

My choices are based on the following: 

  • In order to correctly deal with unencrypted movies the ripping program should incorporate some sort of CSS detection in order not to search all VOBs for keys.
  • VobDec is unable to detect a key in vts_01_1.vob, vts_01_2.vob, vts_01_4.vob and vts_01_5.vob of Raw Deal
  • VobDec is unable to detect a key in vts_01_2.vob and vts_01_4.vob of Blair Witch Project. Furthermore DeCSS+ only finds 4 key occurences in vts_01_2.vob and exactly 20 in vts_01_4.vob.
  • VobDec is  unable to detect any key in Just Cause
  • The man with the golden gun has a mastering error: At the layer change the VOBs use a different CSS code. To make things worse the key changes not between VOBs but within a VOB file.

After each test I removed the DVD and inserted it again, in order to ensure that the drive was not authenticated. I also had no auto-run enabled for the DVD drive, in order to ensure that any auto-run DVD player would activate and authenticate the disc.

The results

Death Row uncut:

cladDVD: detects no CSS and copies the files.

DeCSS+:  Scans the whole file, then reports file not encrypted. Does not copy file.

DVD Decrypter: detects no CSS and copies the files.

SmartRipper: detects no CSS and copies the files.

VobDec: Scans the whole file, reports no key found and suggests the file is not encrypted. If you try to abort the keysearch by pressing the button S the program crashes

VobDec GUI: detects no CSS and copies the files

vStrip0.6d: detects no CSS and copies the files. 

Raw Deal:

cladDVD: finds the key after scanning all files up to vts_01_3.vob

DeCSS+: finds key after scanning about 20% of the first file

DVD Decrypter: finds a key slightly slower than VobDec GUI

SmartRipper: finds a key rather fast

VobDec: finds key after scanning all VOBs up to vts_01_3.vob

VobDec GUI: finds a key instantly and decrypts

vStrip: finds a key rather fast

The Blair Witch Project

cladDVD: finds a key, even tough it takes a long time when you select only vts_01_2/4.vob since it scans several VOB files before finding a key. 

DeCSS+: finds a key in all VOBs, but since it takes 20 key occurrences to start decryption it scans vts_01_2/4.vob completely before decrypting.

DVD Decrypter: finds a key slightly slower than VobDec GUI

SmartRipper: finds the key rather fast

VobDec GUI: finds a key after a second and starts decrypting

VobDec: Finds a key in the first vob. If you try to decrypt only vts_01_2/4.vob using traditional syntax (vobdec input.vob output.vob) it fails. Using the new syntax (vobdec vts1 2) it succeeds since it starts scanning at vts_01_1.vob.

vStrip: finds a key rather fast. 

Just Cause

cladDVD: scans for a really long time, then reports file not encrypted, scans for the next vob, fails again, etc.

DeCSS+: finds the key after a second

DVD Decrypter: finds a key slightly slower than VobDec GUI

SmartRipper: finds a key 

VobDec: fails

VobDec GUI: finds a key instantly

vStrip: finds a key instantly

The man with a golden gun

cladDVD: scans every VOB for a key. Hence only the last part of vts_03_3.vob is corrupt

DeCSS+: same problem as above, except for the fact that it searches every VOB for a key by default

DVD Decrypter: searches a key for every VOB, hence the last part of vts_03_3 is corrupt. However, if you change the keysearch to occurr on each VOB id change then it will properly rip that movie :)

SmartRipper: It allows to search for a key in every cell, but unfortunately it doesn't find a key in the cell in question and aborts the decryption.

VobDec: Using the vobdec VTS ... syntax it uses the same key for every VOB, hence the end of vts_03_3.vob and vts_03_4/5.vob are decrypted using the wrong key. Using traditional syntax and a batch file only the end of vts_03_3.vob is corrupt.

VobDec GUI: uses the same key for every VOB, hence the same problem as with VobDec and the new syntax

vStrip: uses the same key for every VOB, hence the last part of vts_03_3 and the following files are corrupt. However, it offers an option which enables keysearch for each VOB id: use -r1 and it does indeed work :)

Some more info about that title: The main movie is contained in vts_03_1.vob - vts_03_5.vob. In title1, chapter 21, cell 2 the key changes from C1 87 79 74 EE to C1 87 79 74 ED. That position can also be seen as VOB ID15, Cell 1, LBA 521277. vts_03_4/5.vob use the new key. The key change occurs at the layer change and all PC based DVD players are unable to play discs with such mastering errors. The only way to properly decrypt the movie is to use decrypt vts_03_1/2/3 using any ripping tools, decrypt vts_03_4/5 using a ripping tool that scans for a key as soon as it has to decrypt a new VOB, then to copy vts_03_3.vob to your harddisk, split it by VOB id using vstrip (without CSS please), decrypt VOB id15, split vts_03_3.vob by VOB id (the decrypted vts_03_3.vob), delete VOB id 15 of that file, attach remerge the rest of the file and add the properly decrypted VOB id15 to the file. This is also the only way to properly watch the movie on your PC. I was even unable to play the disc on my standalone. Interestingly PowerDVD 3.0 can play the disc, even tough there will be a couple of seconds of scrambled picture but at the VOB change it'll descramble with the new key.

Or here's the short version of the test

  cladDVD DeCSS+ DVD Decrypter SmartRipper VobDec VobDec GUI vStrip
Death Row Uncut x - x x - x x
Raw Deal x1 x x x x1 x x
The Blair Witch Project x2 x x x x2 x x
Just Cause - x x x - x x
The man with a golden gun - - x4 - - - x3

1)searches 3 VOBs before finding a key.
2)scans more than one VOB if vts_01_2/4 is to be decrypted separately.
3)requires the -r1/3 flag in the command line.
4)requires that you set keysearch to occurr with each VOB ID change.

A word about how the different programs handle decryption:

cladDVD uses vobdec for keysearch. If you rip the main movie it will start searching at each selected VOB and decrypt it after a key has been found. If no key has been found in the current VOB cladDVD will start searching the current titleset, starting at vts_XX_0.vob until a key is being found. Every file will also be tested for CSS.

DeCSS+ can only decrypt one file at a time and it always scans the file for a key. After finding 20 key occurrences, or if the whole file has been scanned and at least one key occurrence has been found it will use the found key to decrypt the file. If no key has been found it will suggest that you copy the files since they're not encrypted. 

DVD Decrypter: uses both vobdec and DeCSS+ code for the keysearch. Both algorithms will be used at the same time which takes a bit more time than only running once but the difference is only a couple of seconds. Every VOB will be searched for a key by default but it's possible to change to only scan one VOB in a VOB set, or to search by VOB ID, Cell ID and combined VOB&Cell ID. It's also possible to chose to only use algorithms of one program. Furthermore it's possible to adjust the number of key occurences the program will look for when using DeCSS+ algorithms.

SmartRipper: based on DeCSS+ source. It's possible to adjust for how many key occurences the program should scan. The default is that it scans every VOB file, and if you only rip one file that file will be scanned. The keysearch is highly adjustable, it's possible to search every chapter, or even call for a key. However the latter does not help in case of my mastering error disc since it fails to find a key in that cell. Keysearch by VOB id would help here.

VobDec using the vobdec vtsU X Y syntax starts scanning at vtsU_X.vob and scans all the VOBs in the VTS set until it finds a key and then it uses it to decrypt all VOB files specified in the command line. If no key has been found the program suggest that you can simply copy the files since they're unencrypted. 

VobDec GUI uses findkey, a modified version of DeCSS++ which will only scan for one key occurrence instance and then start decryption. The first keysearch run will use findkey.exe, the second vobdecDD.exe to find a key. If after the second run no key has been found the key will set to be 11 11 11 11 11 and decryption begins. Keysearch starts at the first vob file of the main movie (never vts_X_0.vob since that's the menu) and scans every VOB file in the VTS set if necessary.

vStrip: uses both vobdec and DeCSS+. It's possible to adjust both algorithms using -mX, -nX and -qX. In this test I used -n1 which means that DeCSS+ will look only for one key occurrence in a file. Using IFO parsing or a streamlist only one VOB in the streamlist / PGC will be searched for a key. Using the -rX flag will enable keysearch on VOB id / Cell id level which should work on any disc that contains mastering errors. 

Features overview 

  cladDVD DeCSS+ DVD Decrypter SmartRipper VobDec VobDec GUI vStrip
detects CSS x - x x - x x
VobDec keysearch x - x - x x x
DeCSS+ keysearch - x x (x)2 - x x
Demacro x - x - x x -
Regionfree x - x - x x -
adjustable keysearch - - x+ x+ (x)1 - x+
drive authentication x - x (x)3 x x -
authentication only if necessary - - - x x x -
selects main movie x - x x - x (x)8
copies ifo of main movie (x)10 - x - - x -
multiangle processing x - x x x x (x)9
multiangle disable x - x x x x x
abort current file x x x - x x -
abort process x x x x x x x
one button movie rip x - x x - x -
asks to append/overwrite -4 - (x)5 x x - -
IFO parsing - - - x - - x
standalone program - x x x x - x
M2V/AC3 ripping - - x - (x)6 (x)6 x
M2V/AC3 merging - - x - (x)7 (x)7 x

1)You can specify a key manually but that's it
2)A couple of sectors are being scanned nevertheless. But it works..
3)Although it uses dodsrip.exe as VobDec GUI, cladDVD and DVD Decrypter the authentication has failed on all 5 movies I used for this test. 
4)Simply skips the current file
5)Only overwrite. Using another name is also not possible
6)Can rip AC3 tracks during VOB ripping
7)Only for AC3
8)Using IFO parsing the main movie will be copied
9)IFO parsing gets rid of multiple angles
10)If multiangle is deselected

So which program is best? Should we sum up the number of crosses and chose a winner? I don't think so. This table is meant to give you an overview. Which program you chose is up to you. If you're interested on what I use: DVD Decrypter when I work with FlaskMpeg. vStrip with IFO parsing when I do not work with FlaskMpeg and SmartRipper when I only need to get some chapters instead of the whole movie. Note that vStrip and DVD Decrypter are the only toosl capable of handling discs that contain mastering errors. There's an exception to this rule: Sometimes the 2nd layer starts with a new VOB (you can usually see that one VOB in the middle of a VTS set is not 0.99GB but smaller), and in that case every tool that scans each VOB file for a key will succeed. 

Speed testing

Of course, speed is of essence. Hence I ran all rippers to a small speed test. I ripped the first VOB of the main movie of "The Matrix", R1 release to my harddisk. Hardware used for this test: P3-550 on Asus P3BF, 128MB RAM, Toshiba SD-M1212 as slave on primary IDE channel. UDMA enabled, Windows 2000 with Service Pack 1. 

cladDVD: 3:33
DeCSS+: 3:04
DVD Decrypter: 3:01
SmartRipper: 3:01
VobDec: 3:30
VobDec GUI: 3:16
vStrip: 3:00

vStrip not only got the crown if compatibility is concerned but it's also the fastest ripper, although only one second separates it from DVD Decrypter and SmartRipper. The only question that remains is: how can a GUI be faster than the program it runs? Keysearch is the answer. VobDec has to scan about 5% of the file before finding a key, DeCSS+ finds the first key occurrence immediately and VobDec GUI uses DeCSS+ code in the first keysearch run.

Note: I set DVD Decrypter to use DeCSS+ keysearch first, with key occurences at default of 1. I used the same key occurences settings for SmartRipper and vStrip. 

Specification of an ideal ripper

1)KISS: Keep it simple and stupid. Make it possible to rip the main movie (the probably most used application of a ripping program) by pressing one key. Hence it's imperative that the main movie is selected by default and that the corresponding .ifo file is copied as well (for FlaskMpeg).

1a)Include advanced options but hide them well. I like DVD Decrypter if this is concerned. It's the most flexible program if keysearch is considered. The only thing missing is keysearch by VOB id. 

2)Check for CSS. If no CSS is present all files should be copied immediately with out keysearch

3)Demacro and regionfree should be done by default (for people who use DVD2MPG). Hide the options to disable these (options menu or the likes)

4)Multiangle procedures: On by default but display a warning before ripping that Flask's DVD mode will not work with the ripped files and that it will fail on seamless branching movies. 

5)Keysearch: use both VobDec and DeCSS+ code. Make it possible to adjust keysearch down to cell / VOB id level (one key for all, one key for every VOB, etc). Furthermore it should be possible to specify in which order the two algorithms are being used and in case of the DeCSS+ algorithm it should be possible to specify for how many key occurences the program should scan. Of course these options belong in a sub-menu, not in the main window. 

5b)Make it possible to specify keys manually, and how they are being used (key only for one VOB, key for all VOBs in the VTS set). The best default value is one key for each VTS set. As mentioned above more than one key per VTS set results in severe incompatibilities on PCs and many standalones and discs that are authored like that are considered buggy. 

6)Include the ability to abort the process, and to skip decryption of only one VOB as well. 

7)One button DVD decryption: Copy the whole content of the DVD to destination drive:\video_ts. Add a remainder/warning that PowerDVD is unable to play DVDs from the HD.

8)Ask whether to append/overwrite if a file with the same name is already present at the destination location. Also offer the possibility to chose an alternative filename. 

9)Source and destination path should be visible in the main window.

10)If there's IFO parsing: Hide it. It confuses many users. The default mode should be a simpler one. The way of presenting the IFO can be done as in SmartRipper. And : Sorry Tron, I love the IFO mode, but it's just too much for beginners.

 

Сайт создан в системе uCoz