Can linux play blu-rays?

So I recently bought a blu-ray drive since I started accumulating a bunch of movies and shows on the format, and I was wondering if linux/ubuntu can actually play them? If not it's fine I can just reboot into windows but I have vlc player, restricted extras and the stuff required to play dvds, and my ubuntu partition plays dvds just fine. I'm in Australia (region 4) if that changes anything


Solution 1:

Open-source Blu-ray playback is a cat and mouse game, which involves constantly waiting for hackers to discover up-to-date keys to play more recent titles. But there is another option, involving partially proprietary closed-source software, which is (for the moment) free to use on Linux.

MakeMKV is an application that decodes Blu-ray disks and saves them to DRM-free files – they either have their own official decryption key or they have found one by hacking some OEM device and are keeping it unpublished to avoid it being revoked, and hence it can always decode the latest titles. It will eventually become a paid app, but is free to use whilst in beta (requires entering a new temporary activation code every 30 days, found here: http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053). It's been in beta for several years already, so here's hoping they do a GMail.

The marvellous thing about MakeMKV however is that it can "emulate" libaacs and libdplus – meaning any calls from apps that link to those libraries expecting the default open source decoder will instead get passed through MakeMKV's closed-source decoder – hence any video playback software which uses those libraries will automatically use MakeMKV's decoder and be able to play the latest titles.


To install and set up MakeMKV:

Step 1: Install it
(I built from source so haven't actually tried these packages myself)

sudo add-apt-repository ppa:heyarje/makemkv-beta
sudo apt-get update
sudo apt-get install makemkv-bin makemkv-oss

Step 2: Uninstall the open-source libaacs

sudo apt-get remove libaacs0

Step 3: Symlink MakeMKV's libmmbd to emulate libaacs and libdplus
(/usr/lib might not be the correct directory for you – do a search for "libmmbd.so")

cd /usr/lib
sudo ln -s libmmbd.so.0 libaacs.so.0
sudo ln -s libmmbd.so.0 libbdplus.so.0

And just like that, VLC (You may have to mount it before reading from device - /dev/sr0 for example) and other players configured to use libbluray will be able to play any blu-ray disk, without any "no valid AACS key found" errors.

Note: it might require a reboot (sudo shutdown -r now) to get VLC to work with libmmbd.so.0.

Solution 2:

Blu Ray support is installed with this command:

sudo apt-get install vlc libaacs0 libbluray-bdj libbluray1

These 2 command create a hidden directory and download an aacs keys file for VLC:

mkdir -p ~/.config/aacs/
cd ~/.config/aacs/ && wget http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg

and VLC will play Blu-Rays.

Source


See http://www.videolan.org/developers/libbdplus.html on support for BD+. libbdplus adds BD+ (it does not add encryption keys though). So that would become:

sudo apt-get install vlc libaacs0 libbluray-bdj libbluray1 libbdplus