Rewatching one of my favourite shows I had to discover, that some of the DVDs have deep scratches and my PCs had difficulties playing them. The degree of problems differed for different software (e.g. VLC, Leawo Blu-Ray Player, Windows Media Player) and different PCs. Some disks played fine, some hat to be cleaned and retried a few times until accepted by the player and some simply didn't work.
Since not all old TV shows are available on streaming, and not all languages are available, I wanted to make some backups of my legally owned DVDs before they degrade even further.
Using Handbrake I was able to rip all the undamaged parts, but Handbrake does not handle seriously scratched DVDs well.
So I went down the rabbit hole to find a free solution to back up my DVDs and want to document my findings here for future reference. I used a DVD with a lot of scratches, one of them visibly very deep and disturbing. The DVD loads and correctly replays in some players, but the 4th episode had some really bad issues, leading to skipped parts, asynchronous sound or software crashes.
With Handbrake I was able to rip all 4 episodes on this DVD but with varying results: Episode 1 took twice as long to encode and had about 4 times the size after encoding as it should have, compared to other successful rips of this show. This is easily explained by the fact, that from the first frame it encoded major artifacts into the video. Almost all of the key-frames seem to be mostly noise, which then moves around so you can somewhat identify the characters. A phenomenon that I'm sure has it's own name (suggestions welcome).
Episode 2 was ok, but only about 1/3 of the episode was actually encoded into the new file. Episode 3 was completely fine. Episode 4 was similar to episode 2 cut short.
No amount of cleaning or retries changed that in a meaningful way.
On to the next software...
I found that in Linux one has more options and I tried k3b and ddrescue as suggested in this question.
k3b seems to work fine again for undamaged or slightly damaged DVDs, but when several 100 blocks are missing, it simply takes forever. Even with the number of retries set to 1 (it doesn't go to 0 to simply skip errors) it took hours and hours and never really progressing further.
ddrescue was a lot faster as it allows you to make a first quick scan of the DVD to find all the parts easily read and then re-scan with more vigor only the damaged parts, combining the results into one nice image. On this DVD I got 99.98% recovery on the first run in just under 2h. Wow, I thought, that stuff IS magic! Losing 0.02% or ~200kB of Data seemed more than acceptable for me, but I still tried the second run as described in the above mentioned answer. This, again, seemed to take forever and I stopped after another 2h of veeeeeeery slow progress.
The resulting DVD image then was loaded into Handbrake to hopefully recover the promised 99.98% of video. Sadly the results where exactly the same as described above.
Since the first episode is actually transcoded by Handbrake but implements such an amount of errors into the video that it is simply unwatchable, I thought maybe if I could get the video file out of the DVD without encoding it and then transcoding with Handbrake could work?