This week, I made a rare appearance on a podcast other than our own The Committed podcast. I was a guest on The Next Track, a podcast about music and related things, hosted by iTunes AppleScript guru Doug Adams and my regular The Committed podcast cohost Kirk McElhearn.
We spent 30 minutes discussing ripping Blu-rays and DVDs to the Mac. I know, a real stretch topic for me, given I’ve never written about it!
Anyway, it was a fun show, so if you’d like to hear the voice behind these words, give it a listen.
An obvious interest area of mine is in ripping (and watching) movies using my Mac. I’ve talked about everything from installing the tools I use to how I rip to how to make sure I update the ripping tools. And though I’ve included some comparison pictures in the how-I-rip article, I’ve never done a deep dive into the various ripping options and how they compare on three key fronts:
- Speed: Faster is better; measured in minutes required to rip.
- Size: Smaller is better; measured in MB of drive space used.
- Quality: Higher is better; the closer the image quality is to the original, the better.
An ideal rip would be one that happens in seconds, saves into a 10KB file, and has quality matching the original. The reality, though, is far from the ideal. Ripping a movie involves making trade-offs between those three competing measures: Maximizing any one measure requires some sort of tradeoff with one or both of the other measures.
After ripping so many DVDs and Blu-rays over the years, I was curious about how HandBrake and Don Melton’s Video Transcoding tools handle those tradeoffs, so I decided to do some testing.
If you’d like to see what I discovered about ripping time, file sizes, and—with lots and lots of frame grabs—image quality, keep reading…
As I’ve written about in the past, I use Don Melton’s video transcoding tools to rip Blu-Ray discs. I also use Homebrew to install some of the transcode video dependencies, as well as other Unix tools.
Keeping these tools current isn’t overly difficult; it only requires a few commands in Terminal:
$ brew update
$ brew upgrade
$ sudo gem update video_transcoding
My problem is that I often forget to do this, because—unlike most GUI Mac apps and the Mac App Store—there’s no built-in “hey, there’s an update!” system. Suddenly, two months and many revisions later, I finally remember (usually when I see a tweet about a new version of something.) So I thought I’d try to write my own simple update reminder.
I didn’t really want a scheduled task, like a launchd agent—it’s not like these tools need to stay current on a daily basis. (And one of them needs to run with admin privileges, which complicates things.) I just wanted something that would remind me if it’d been a while since I last checked for updates, and then install the updates if I wanted it to do so.
After mulling it over, I came up with a script that runs each time I open a Terminal window (which I do daily). The referenced script looks at the date on a check file, and asks me if I’d like to check for updates if that date is more than a week older than today’s date. This is perfect for my needs: The reminder is automatic, but I can choose when to install the updates based on what I’m doing at the time. If it’s been under a week since I last checked, nothing at all is different about my Terminal launch.
Read on for the script and implementation details. (Note: This is not written for a Terminal beginner, as it assumes some knowledge about how the shell works in macOS.)
While writing up this week’s Watch It selection (The Stunt Man), I was rewatching the movie on my TV, and wanted to switch over to the computer. I own a many-years-old DVD version, so I popped it into my iMac, fired up HandBrake and set to ripping it. But I got nothing—HandBrake ripped a 4KB file, then claimed it was done. Not a good start.
A glance at HandBrake’s activity window showed this error:
libdvdread: CHECK_VALUE failed in ifo_read -- error message
Searching on that error message pointed to an error in dvdnav, and some suggested ways of working around it, including installing a patched version. There were also other errors, and searching on those indicated something about the copy protection was causing a read error with the disc.
I also tried RipIt’s built-in rip-and-compress, but it also failed. After mucking about with those two apps, and nearly every other video-related app I own, here’s how I finally managed to rip my legally-purchased version of The Stunt Man:
- Used RipIt to copy the DVD to my hard drive. (No settings to worry about here at all.)
- Used MakeMKV to make an MKV from the ripped file. I pointed it at the folder from step one, and clicked the Make MVK button. The end result was a number of files, with the longest one being the movie itself.
- Used HandBrake to convert the longest MKV file to an m4v file. I just left the settings at the default (high quality), and the end result was a nice quality 1.9GB movie (down from a 7GB MKV file) that plays on all my devices.
I’m posting this here mainly so I remember what I did, but perhaps it’ll help with your stubborn discs as well.