How do I get Handbrake to work on a new Mac with an M1 chip?
- Download and install Handbrake.
- Brew install libdvdcss
- Install Homebrew if you haven’t already
- Type:
brew install libdvdcss
into your terminal and hit return/enter (formulae here).
- Copy
libdvdcss.d.dylib
to/usr/local/lib
/- From within terminal type:
ls /opt/homebrew/Cellar/libdvdcss
and hit return/enter. - Make note of what is shown there (for me, it was
1.4.3
) - Next, confirm that you have a
/usr/local/lib
directory by typing the following into your terminal:ls /usr/local
and hitting return/enter. - If you don’t have it, type
sudo mkdir /usr/local/lib
and hit return/enter (you will be asked for your password, enter it and hit return/enter). - Finally, copy libdvdcss.d.dylib into your /usr/local/lib directory by typing in the following:
sudo cp libdvdcss/1.4.3/lib/libdvdcss.2.dylib /usr/local/lib
/ and hitting return/enter. NOTE: Make sure you replace “1.4.3” with whatever you found in step 2 if you found something other than “1.4.3”. - Open Handbrake and try to rip a DVD (it should work!).
- From within terminal type:

If you’re interested in how I figured this out, read on!

I recently migrated to a new Macbook Pro with an M1 chip. I wanted to use Handbrake to rip some DVDs I purchased to stream on my plex server. Things were not a straightforward as they used to be. Handbrake gave the following error: “Copy-Protected sources are not supported.“
It turns out that on new Macbook Pros with the new Apple Silicon M1 chip, Homebrew now installs to /opt/homebrew/Cellar
/ instead of /usr/local/lib
/. So Handbrake isn’t able to find the requisite libdvdcss
install.
I looked around online for quite some time and never found a solution that worked for me, so I did some digging.
I downloaded the code for handbrake and found where it is looking for libdvdcss.2.dylib:

Then I figured out that Homebrew installs to somewhere other than /usr/local/lib/ on Apple Silicon:

After that it was just a matter of moving the libdvdcss.2.dylib file installed by Homebrew to a place where Handbrake could actually find it. Handbrake is looking specifically for that file rather than just the Homebrew package, so moving the whole package over (as described here) didn’t actually work for me. I had to dig down into the actual package itself and grab the dylib file and move it over.
Viola! Now I can continue ripping in History Channel WW2 Documentarie DVDs like some kind of Boomer 😆.
