I've got the DVD collection of Will & Grace, and I want to digitize them and import them into Plex so I can view them on the train (one episode a day, keeps the doctor away) while commuting to work. This is my workflow:
Backing up all contents from the DVD to your disks
Step 1 in my workflow is copying all the contents of the DVD disks to the HDD of my Linux server. This step requires some manual labor (aka: inserting and switching the DVDs into the server).
Once inserted, backup the entire dvd using dvdbackup like this:
dvdbackup -i /dev/dvd -o . -M
The options explained:
-i /dev/dvd (where to find the dvd device under /dev) -o . (where to store the dvd contents, aka: the current directory) -M backup everything: all tracks, all menu's
Converting the raw DVD files into .mp4 files
This requires that you have backed up all the DVDs to your HDD, a lot of processing time (around 10 minutes per 20 minute episode on my machine) and a bit of scripting. We're going to use HandBrakeCLI to do the conversion:
HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 2 -o 'Will & Grace.S06E01.mp4' -s 1 HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 3 -o 'Will & Grace.S06E02.mp4' -s 1 HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 4 -o 'Will & Grace.S06E03.mp4' -s 1 HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 5 -o 'Will & Grace.S06E04.mp4' -s 1 HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 6 -o 'Will & Grace.S06E05.mp4' -s 1 HandBrakeCLI -Z 'High Profile' -i 'Will Grae Season 6 Disc 1' -t 7 -o 'Will & Grace.S06E06.mp4' -s 1
Breaking the parameters down:
-Z 'High Profile': Use the High Profile preset for encoding -i 'Will Grae Season 6 Disc 1': Where to find the DVD files (can also be /dev/dvd directly, but this will be slower and will require you to switch DVDs every 6 episodes) -t 1: Which track of the DVD to encode (you can figure out the tracks using HandBrakeCLI -i /dev/dvd -t 0 --scan) -o 'Will & Grace S06E01.mp4': Where to output the file, and the filename to output as -s 1: Subtitle track to use (you can figure this out using HandBrakeCLI -i /dev/dvd -t 0 --scan)
You can get more information about the audio/subtitle tracks and other info about the dvd using:
HandBrakeCLI -i . -t 0 --scan
Where the input can either be /dev/dvd or the directory that dvdbackup backed up the dvd to.
So I like to copy the contents of the dvd to my local disk first, so I can then encode entire seasons (or multiple seasons) in one go using a bash script in a screen session. Once it's done, just move the files to your media folders in plex and let plex do the rest.