21

I usually use the very nice and simple dvdbackup program to rip and backup my DVD-Video.

However some of my DVDs have a few scratches and my DVD drive has some trouble reading a few sectors. So, is there a tool similar to cdparanoia, but for DVDs?

2
  • 1
    I had a recommendation for dvdbackup which I did not yet try. Is it not able to handle the situation ? A few missing sectors are not usually a problem.You have to know where they are to check whether it could be problematic. Can you give more details.
    – babou
    May 31 '13 at 23:24
  • I wanted to ask this exact question ("cdparanoia, but for DVDs"). Man, I love Stack Exchange! :) @Totor, did you get your problem solved and disc ripped?
    – KlaymenDK
    Nov 7 '18 at 20:08
16

ddrescue

You can try ddrescue. I read recommendation for it, but I do not have experience.

There are two programs called ddrescue (see https://askubuntu.com/questions/211578/whats-the-difference-between-ddrescue-gddrescue-and-dd-rescue). Gnu ddrescue is the newer one and designed to overcome some of the problems in the older ddrescue.

Gnu ddrescue uses a map file and is able to write many times to the same output file without doing the same work again or overwrite previous successful reads. It will instead try to fill in the holes by looking at the map file to find out which sectors to try to read again.

The suggested usage for DVDs (from the Gnu ddrescue manual) is:

ddrescue -n -b2048 /dev/cdrom cdimage mapfile
ddrescue -d -r1 -b2048 /dev/cdrom cdimage mapfile

The first line will extract the easily readable data from the DVD. Second line will use direct disc access to try to read more and write it to the same output file.

k3b

I have good personnal experience with K3b, with proper settings: k3b --copy <device>

You get a large window, and a small copying window. Ignore the large one. You must click advanced setting in the small one. Then you click on "ignore reading errors" so that it will not stop at the first error. You also fix the number of reading attempts to a fairly low value since repeats can sometimes take a long time. I often set it at 1 on my first attempt, just to check how many sectors give me trouble.

If you click on options you can choose to only produce an ISO image on disk. And after clicking on image you can choose where to save it. Very often, a few missing sectors will not even be noticeable (even a few hundreds). But it all depends on where they are. K3b will tell you which sectors cannot be read.

9

dvdbackup

I usually use dvdbackup for exactly this task. I've used this tool when k3b was able to duplicate a DVD yet the disc was unplayable. Copying it with dvdbackup has worked every time.

You can download it from the main site, but it should be in your Distro's repositories as well.

Example

$ cd /dir/where/you/save/the/dvd
 
# insert DVD to be copied
$ dvdbackup -M
$ genisoimage -dvd-video -udf -o movie.iso /dir/where/you/save/the/dvd
$ eject /dev/dvd
 
# now insert a blank DVD
$ growisofs -Z /dev/dvd=movie.iso

NOTE: To make dvdbackup more verbose:

$ dvdbackup -M -i /dev/sr0 -p

Unstoppable Copier

There is this application which I've never used before but purports to do what you need. You can download it here.

excerpt

Recovers files from disks with physical damage. Allows you to copy files from disks with problems such as bad sectors, scratches or that just give errors when reading data. The program will attempt to recover every readable piece of a file and put the pieces together. Using this method most types of files can be made useable even if some parts of the file were not recoverable in the end.

The program can be used as a daily backup system using its batch mode functions. A list of transfers can be saved to a file and then run from the command line to perform the same batch of transfers on a regular basis without having to use the GUI interface. The program supports command line parameters which allow the application to be run from schedulers or scripts so it can be fully integrated into daily server tasks.

This an old KDE3 application so it took some effort to get it installed on Fedora 19. When I was able to invoke it I was a little underwhelmed. It copy files from media but it was questionable, IMO, how well it could recover files from scratched media. But it might be worth a look if you're desperate enough.

NOTE: I found that tool as well as references to dd, dvdbackup and ddrescue here in this blog post titled: Recovering damaged CDs or DVDs with Linux, so you might want to scan that post for ideas too.

dd

Unfortunately I think the best 2 options for doing this work in Linux are still dd and ddrescue. Basically you do the following with dd:

$ dd if=/dev/sr0 of=image.iso bs=2048 \
      conv=noerror,notrunc iflag=nonblock status=progress

The key option is conv=noerror, so dd will write the data to a .iso file and will continue to do so until you decide to throw in the towel on it.

References

5
  • I already know dvdbackup as I mention it in my question (first line). I'm not asking how to rip a DVD-Video, but how to rip a scratched DVD-Video.
    – Totor
    Dec 13 '13 at 9:31
  • Thanks a lot. I tried your solution after having no luck with k3b (which does the job nicely if DVD has little errors, but fails on many). The first option dvdbackup worked for me (DVD is playable), but no menu doesn't work (failed). The dd does much better job of it. My only addition to your answer would be adding the verbosity: dvdbackup: dvdbackup -M -i /dev/sr0 -p dd: dd if=/dev/sr0 of=image.iso bs=2048 conv=noerror,notrunc iflag=nonblock status=progress Feb 3 at 13:45
  • 1
    @ArturBarseghyan - ty I've added your suggestions to the A'er.
    – slm
    Feb 3 at 17:04
  • Tiny update from my side. The work done by dd seemed to be better at first place, but it took much longer to finish. The dvdbackup was done within half an hour (compared to 6 hours took by dd) but in the image by dd not all the chapters are playable. dvdbackup isn't flawless, but at least results are playable in VLC (unfortunately - only VLC). Thanks for the update! :) Feb 3 at 23:02
  • 1
    Thank you for the hint to dvdbackup. Works fine to read my scratched DVD. I use HandBrake to encode the VIDEO_TS directory which was created by dvdbackup.
    – guettli
    Feb 5 at 16:12
5

As already mentioned, ddrescue and other tools that try to re-read DVDs. In addition to that, try it with different drives. Some can handle scratches better than others. With some luck you may get a complete image of the DVD if you use multiple drives to try to read the defective parts.

Finally you may be able to remove the scratches physically. You can buy a DVD repair kit for cheap but I've not had much success with them. If there's a DVD video rental place near you, many of them have devices that polish DVDs and offer the use of it for a small fee.

1
  • I confirm using different drives sometimes changes things big time. Some advices from the safecopy manpage: 1. CDRW drives usually do better than read-only CD drives. 2. CD only drives sometimes do better on CDs than DVD drives. 3. PC drives are sometimes better than laptop ones. 4. A drive with a clean lens does better than a dirtball. 5. Cleaning up CDs helps.
    – Totor
    May 15 at 23:45
3

The other answers touch on the steps but each is missing something, so here's the full deal:

  1. you need to run vlc to "unlock" the drive first, or some of the "read errors" are actually DRM inserted by the drive itself and will completely prevent playback of the resulting DVD/ISO. All you need to do is start playing the disc and then hit pause.
vlc &
  1. Now you need to rip the disk using ddrescue, which does not have a friendly front end like dvdbackup but doesn't have dvdbackup's problem that it just gives up after a few bad scratches are found.
ddrescue -n -b2048 -K1M /dev/cdrom diskname.iso diskname.map

The interesting parts of this command:

-K1M makes ddrescue skip a 1MB chunk of disk each time there's an unrecoverable disk read error; given the data rate of a movie that's not so much, and anyway ddrescue will come back and try again from the opposite end of the gap if you let it run long enough. If you don't use a large skip size, the disk drive/driver will eventually lock up and stop responding at all.

diskname.map is a file that tells ddrescue where it skipped, this is critical for the next point:

if the disk read ever gets really slow, you can control+c and start again by re-entering the command line above; as long as you have a map file ddrescue will know how to continue. If restarting the program doesn't help, try rebooting, sometimes the dvd driver or firmware get into a bad place and stop working or work very slow.

The resulting ISO can be played by vlc with no extra steps. I've used this method on a disk that no commercial app under windows could rip, and this method under linux worked for me (even inside a VM running under windows). The disk wasn't hugely scratched but it was enough to flummox makemkv and dvdfab. This took about 1.5hrs and the resulting disk had 98% of the data successfully recovered. If I had let it run longer I might have gotten higher; it's your choice.

2

I lack the reputation to add a comment, so sorry for answering on a thread with a marked answer.

Remark that optical drives have a live of its own due to error correction mechanisms and copy protection.

I just recovered a scratched movie DVD using ddrescue as described by babou, but only with a strange trick. The DVD refused to being backed up using dvdbackup on the drive, but it was still playable by a DVD player and software. So an image was created using ddrescue with below trick (and dvdbackup used on the image later).

The scratch on the disk was borderline visible even in daylight, however it resulted in roughly 20% of the disk being unreadable.

I assume the thin scratch somehow messed up the error correction together with the CSS copy protection.

The trick being used was the following:

  • start up VLC or any other DVD capable video player (having proper libraries for CSS copy protection installed) and start playback of the main movie.
  • this will run through some initial process regarding CSS
  • maybe will put the drive into another error correction mode?
  • during playback of the movie DVD, use ddrescue as described above
  • one may tinker around with the '-d' option (direct access), however the below result was achieved with and without direct access.
  • when ddrescue is doing it's job, pause DVD playback to speed up the process (avoid continuous seeking on the drive).

I could backup my DVD within less then an hour doing so. Without having the DVD being played by VLC in the background on the beginning of ddrescue, the process would take multiple hours (it ran over night) without reparing a considerable amount of erroneous blocks.

2
  • 1
    Hmm, interesting behaviour, thanks for sharing this "trick". I take whatever can make a significant difference about whether data is efficiently recovered or not. I upvote even if it's not a full answer but a "hack".
    – Totor
    May 15 at 23:39
  • 1
    For future reference, you are always welcome to answer a question. The "accepted" answer is just the one that the person who asked happened to prefer, but there is no reason to avoid answering because an answer has been accepted.
    – terdon
    May 27 at 17:33
1

It looks like safecopy is what you're looking for.

safecopy tries to get as much data from SOURCE as possible, even resorting to device specific low level operations if applicable.

1
  • I love the manpage of this tool (from the link): full of specific information about data recovery techniques on seek-able devices! Thank you for sharing here.
    – Totor
    May 15 at 23:34
0

I found a viable solution by combining MakeMKV and Handbrake:

MakeMKV is able to extract the Video from the DVD even if it is scratched by simply copying the data of selected titles (or chapters, it is very flexible) into one MKV file including all the soundtracks and subtitles, if you want that. Since no encoding happens, the process is pretty fast and the files are big. MakeMKV is free for use with DVDs and shareware for BDs. The parts where the actual damage obscures the data will have errors like glitches, skipped or broken/false coloured frames but if the damage isn't too bad it's still watchable. The important part is that MakeMKV can handle those errors without crashing or stopping the process.

These .mkv files play nicely with Handbrake, which was now able to successfully transcode them into a useful, small format.

See also here

2
  • 1
    This answers the "how to rip a DVD" question, but not the "how to rip a scratched DVD".
    – Totor
    May 26 at 23:41
  • I added some more words to explain why this works also on scratched DVDs. I honestly don't understand why this answer is received so badly, I just offered another viable way to backup the videos
    – ThePMO
    May 27 at 11:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.