Skip to main content

Moving my DVDs to the media server

·776 words·4 mins

Let’s go a little bit back in time, shall we? Some day in 2005ish. We don’t use USB sticks or SSDs to backup our data, we still store most of our shit on CD-ROMs or even DVD-RWs (or ROMS). Whatever.

What I actually want to say: let’s backup some (or all) of my old DVD movies. I have a box full of DVSs in my basement and I wanted to push them all to my homeserver – so I could watch them on the big TV screen because I don’t have a DVD player (or similar) any more.

But music and video industry did not make it easy for us. They added super-duper-fancy copy-protection to their DVDs because people cloned them and gave them to other people these days.

Anyone still remember these tools, like CloneCD, ClonyXXL, Alcohol120% etc. Some also let you emulate your cloned files so you did not have to let them in your CD-ROM drive. That was quite handy when you played computer games, because these games required you to let the CD-ROM/DVD in your drive at all time (which was sometimes annoying because of the spinnning disk).

But the actual topic is the cloning of these old DVDs. I started today, and got copied about 6 DVDs without problems and then: “Kiss kiss bang bang” – damn, what is that? The DVD drive went like crazy and the ripping software (I use Handbrake in this case) was like dead.

I already installed the package libdvdcss at that point, the first DVDs went just fine without it. libdvdcss lets you read copy-protected DVDs. But still, Handbrake did not like it either.

It is dvdbackups turn now. I cloned the main movie to a local directory and told Handbrake to open that folder then. It worked! But:

There was no movie with 1h or 2h play time. There were 5 20 minutes movies with 2 audio streams (english, german) – the first small movie had the german audio track as first stream, the other had the german track as second stream.

So here is what I did: rip all of them separately and concatenate them later with ffmpeg into one big file. That sucked because I copied them with both audio tracks and when I put them together later, the audio streams were swapping in the middle of the video – so I ripped them only with one audio stream, the german one – which I identified before with mpv.

What can we do on the command line #

DVD with no copy-protection #

Mount the DVD to a folder

$ mount mnt/dvd

That is easy, because I made the following entry in my /etc/fstab file:

/dev/cdrom     /home/dominic/mnt/dvd   auto   ro,user,noauto,unhide  0 0

Open Handbrake and select the dvd folder as source. There is usually a looong chapter, select it and configure the output format to the desired format, add or modify the audio tracks and maybe the subtitles and you’re good to go.

DVD with copy-protection #

Most of the time, Handbrake will not respond or feel like hanging…

Clone the main title of the DVD to another directory on a local filesystem.

$ dvdbackup -i /dev/sr0 -F -v -o OutputFolder

Select OutputFolder as your source in Handbrake.

You may have to rip multiple small movies, save them to some directory. Once finished, open that directory in a terminal window and put them together.

$ ffmpeg -i VTS_03_1.mp4 -i VTS_03_2.mp4 -i VTS_03_3.mp4 -i VTS_03_4.mp4 \
  -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a]concat=n=4:v=1:a=1" OutputMovie.mp4

I had to do this with a 5-parts movie:

$ ffmpeg -i fin_1.mp4 -i fin_2.mp4 -i fin_3.mp4 -i fin_4.mp4 -i fin_5.mp4 \
  -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a][4:v][4:a]concat=n=5:v=1:a=1" \
  -vsync vfr

They say, you should use -vsync vfr when the framerate of the individual parts is way off.

End result #

Now, that I ripped about 40 DVDs, I’m glad that it’s over…

I had to skip about 8 other DVDs because I wasn’t able to read them – having the DVD drive spinning up until it stops and begins again with spinning up until it stops…

Crazy copy-protection I guess. I will rip them the old way, maybe a video capture card will help.

What to do with bought videos on Amazon Prime or Youtube etc.?

What might work: having OBS studio that records off a virtual screen on which the pop-out player of Firefox runs in fullscreen mode. But: that will need some more investigation – I’m pretty sure those bastards will have some anti-download clauses in their license agreements.

For the sake of completeness: I’m using miniDLNA in my network. It feels like three times more responsive than my old Synology DS918+ (yes, it runs on way better hardware).