How I rip DVDs and Blu-Rays into my Mac (2022 Edition)

It's been more than a decade since I wrote Ripping Movies from Blu-Ray, HD-DVD and DVD, Getting them onto Apple TV, iPad, iPhone, etc.. Heck, back then I didn't write everything as a 'blog post'—that was labeled as an 'article' :P

In a surprising twist of fate, we went from a somewhat more centralized online media situation back then (basically, Netflix) to a hellscape of dozens of streaming services today. And in many cases, older movies can only be found as used and/or pirated DVDs on eBay!

Thus, I'm writing a fresh guide to how I rip DVDs and Blu-Ray discs into my Mac, then transcode them with Handbrake. Heck, some people who are deeper into the r/datahoarder rabbit hole even have dedicated transcoding servers so they can generate optimal archival copies in 4K, 1080p, etc. akin to how YouTube and other online platforms set up their files!

But for me, the basic process goes:

  1. Rip the physical disc's main title (usually the longest) to an MKV file using MakeMKV. (I bought a license years ago, since I use it so darn much, but it's also shareware that can be used for free.)
  2. Transcode the .mkv file to .mp4 using Handbrake's 1080p or 4K presets.
  3. Edit the file metadata using MetaZ.
  4. Copy the file to my NAS's Media directory.

After that last step, Jellyfin automatically scans the new movie and adds it to my library.

TV shows are a different beast—you have to rip in each episode, transcode them in a batch, edit the metadata in a batch, then ideally stick the episodes into a folder for each season so Jellyfin picks them up correctly.

In the end, I'm mystified it's still so hard to buy older movies so I can watch them on my networked devices. You'd think Hollywood would've learned from the music industry that if you just let people legally pay for non-DRM media, and make the process easy and convenient (certainly more convenient than sailing the seven seas or ripping discs), people will pay.

But whatever. I'll keep ripping video content off physical disks until the day I die, I guess.

Note: If you want to rip DVD content directly using Handbrake, you can install libdvdcss manually or with Homebrew: brew install libdvdcss. Then run the following command to copy the libdvdcss libraries into the path Homebrew expects:

sudo cp /opt/homebrew/lib/libdvdcss.* /usr/local/lib/

Comments

I personally use ffmpeg for all of my transcoding needs. Simple to use once I figured out the basics.

Have been converting our massive collection very SLOWLY over the last couple of years using using Handbrake + VLC. We have multiple platforms (iOs, Windows, Android, TV's, PS4, etc) so I went with a 4TB HD plugged into router, but want to switch to a full-time ASUS NAS system....

1) Is it no longer possible to join Handbrake + MPVMake together in order to rip/transcode blu-rays at the same time?

2) Why the need to edit file Metadata (what does that mean and do)?

3) Having ripped TV show by disc (not episode) & sorting them into files by season. Could you explain the purpose of ripping each individual episode & if the disc menu is still accessible when that's done?

4) Could you expand on the purpose of Jellyfin? (Looks beautiful but am just confused on why its necessary after putting MP4 on storage device)

PLEASE forgive the stupidity of my questions. I'm the equivalent of a 1st grader in program/UI/tech-speak (can figure stuff out but that doesn't mean I understand what was done haha).

I'm a year late to the game, but for anyone browsing the blog in the future, here are some possible answers to the above:

0) FYI, Asustor which is owned by Asus is the brand name of their NAS division.

1) Likely he batches rips discs in batches and then encodes them in batches once complete. I do the same that way I can verify correct tiles are selected, I can trim otherwise non-essential chapters off the beginning and end of titles, etc. This way I can do something else for the ~30 minutes or so that a rip takes. See answer for 3 for more context as to why.

2) Adding metadata means adding additional info to the video file so that Jellyfin or any other media players display correct title info, which allows for more logical file naming (Star Wars: A New Hope vs 04-Star_Wars_A_New_Hope.M4V, also the Fast and Furious franchise is TERRIBLE to sort without metadata, named by actual movie name) on the filesystem.

3) Ripping TV shows a disc at a time, since a season will have ~4-6 discs on average, is the most sane way I've found to manage this workflow. Once you get the first disc ripped, you can playback said rip using the disc menu to find the title/chapter info for each episode, name and batch encode while the second disc is ripping, repeat, repeat.

FYI, older physical media didn't obscure disc title information as much as more modern media does, fake title information, and other nonsense info resulting in garbage rips unless one uses MakeMKV for them (Sony pictures are the biggest culprit here) and then uses said rip to verify correct titles to then encode. This can be done on the fly using MakeMKV to emulate a non-obscured discs, but it's a more manual process and results in only having the encodes after, not a full backup useful for preservation purposes.

4) Jellyfin allows for devices to play media stored on a filesystem by all sorts of devices (android, appletv, smart tvs, game systems, etc) instead of directly playing back using VLC or other software.

These aren't stupid questions at all and they get at the kernel of the "why" when it comes to performing video backups!

Cheers :)

Not sure why you would want to use Handbrake/VLC when they haven't implemented the use of the CUDA cores on Nvidia graphics cards for transcoding!!! With PC & Windows (7 & 10) I have used DVDFab in conjunction with an Nvidia card's CUDA cores to rip standard definition DVD's at, if memory serves me correctly, around 400 frames per second. I was also only using a 750 GTX (or maybe it was my 1050 GTX card?🤔) card at the time which is fairly dated. I think I was able to rip a feature length film (main feature/movie only) in under 10 minutes. Anyway, it was faaast! Waaay faster than Handbrake/VLC which I had previously tried. I have not tried Blu-ray as I don't have a Blu-ray reader in my PC.

After reading this, I embarked on my own Jellyfin build and it's going well. I'm running on an older system running debian 11 and the only issue I'm figuring out is how to expand my RAID as the collection gets bigger. One big help I stumbled across is ARM, the "automatic ripping machine"... While not perfect, it automates a lot of the ripping and transcoding process, once you get the setting figured out.
It is located at "https://github.com/automatic-ripping-machine/automatic-ripping-machine"

Thanks for this guide! I've also increasingly lost patience with streaming services and have now committed to just purchasing DVDs of media that I love.

I appreciate how beginner friendly this is. As a 23 year-old, I've never really had to rip a DVD myself, having grown up just on the tail end of physical media's popularity (although I have fond memories of asking my dad to put my favourite movies on my ipod touch).

It's nice to know that I can still open my 2012 macbook pro (which yes, does have a disk drive and that drive plus all the other ports are the main reason I haven't switched to a better computer yet), pop in a DVD and at the end of the day, have complete control over the media that I love.

Thanks again! Now I can have all the episodes of my favourite shows at easy disposal!