But it's just a little scratch
July 31, 2007 4:11 PM
Subscribe
On my Linux-based laptop and desktop, I've been having trouble reading DVDs that have even the slightest scratches. It seemed that Windows was a bit more tolerant of imperfections--is there any way to modify my [Ubuntu] settings so that it doesn't hang at the first missed bit?
Now that half the country has Netflix and their DVDs are spending a lot of time in transit, every disk seems to come with at least one small abrasion. In an effort to smooth the playback (via Totem, VLC, MPlayer, whatever), I have taken to copying and/or transcoding the disk to my harddrive first (dvdrip, handbrake, vobcopy, and DVD Decrypter through wine), but each program hangs at the first unreadable sector. Is there any DVD equivalent to something like Exact Audio Copier to conduct error checking/correction to reclaim these bits? Alternately, are there any settings that I can modify to make my system tolerate a small gap in the data stream?
posted by zachxman to computers & internet (7 comments total)
1 user marked this as a favorite
1. Physically clean them up as much as possible, by wiping an only-just-damp and very clean soft towel from centre to edge using a fair bit of force (it's important that any scratches you add during this step should be radial, not circular).
2. Open the disc with mplayer, then pause the playback. This means that the drive has been opened with libdvdcss and fed the appropriate session keys.
3. Use Gnu ddrescue to make a block-for-block copy of the disc to an image file:
cd /path/to/dvd/image/folder
ddrescue /dev/dvd dvd ddr.log
4. If ddrescue reports errors (and it most likely will), rerun it using raw device access, bypassing the kernel cache to grab the last few available sectors:
raw /dev/raw/raw1 /dev/dvd
ddrescue --block-size=2048 --max-retries=3 --complete-only /dev/raw/raw1 dvd ddr.log
raw /dev/raw/raw1 0 0
5. Unpause and quit mplayer.
6. Restart mplayer using -dvd-device /path/to/dvd/image/folder/dvd instead of -dvd-device /dev/dvd.
If there are still too many bad blocks to allow uninterrupted movie watching, go get another copy of the disc, then repeat the whole thing. This time, ddrescue will run very fast and probably error-free, because it will only be filling in, from the new disc, blocks that were bad on the old one.
If you don't already have Gnu ddrescue installed, you can get it with
sudo apt-get install gddrescue
posted by flabdablet at 5:49 PM on July 31, 2007 [4 favorites has favorites]