You'd think, if you wanted to make a backup copy of a dvd to your hard drive, that you'd use dd:
dd if=/dev/dvd of=dvd
But it turns out that a lot of dvds have (deliberately created) bad sectors, which screws this up. Luckily there's a tool called dvdbackup in the Debian archive that only copies the bits of a DVD that a dvd player would actually read:
sudo apt install dvdbackup
dvdbackup --mirror --verbose
It takes about 30mins to back up an 8GB dvd. At that point you'll have a complicated structure in a directory with the name of the DVD.
You can play it with vlc, which will give you the same sort of experience with episode selection and subtitle choosing as you'd get from a DVD player:
vlc The\ Name\ Of\ The\ DVD
Or, if like me you have a preference for mplayer and the command line, you can use:
mplayer dvd://1 -dvd-device The\ Name\ Of\ The\ DVD
Where the 'dvd://1' is saying to play the 'first title'. That's usually what you want if it's a film. If it's got several titles on it, experiment with dvd://2, etc.
Occasionally dvdbackup --mirror --verbose will fail immediately, saying:
libdvdread: Could not open /dev/dvd with libdvdcss.
libdvdread: Can't open /dev/dvd for reading
Cannot open specified device /dev/dvd - check your DVD device
This appears to be a red herring of some sort, just try again. Once it's started to work it carries on to completion.
Also, I usually like a progress report as the scanning is going on, and the dvd to eject when it's done:
dvdbackup --mirror --verbose --progress && eject