Playing Blu-ray

From Funtoo
Jump to: navigation, search

Introduction

The purpose of this article is to explain how to play Blu-rays under Funtoo Linux. Since (nearly all) Blu-rays are encrypted and copy-protected, some steps are necessary to allow playing the content with a media player like media-video/mpv or media-video/vlc.

   Warning

Playing Blu-ray involves circumventing the copy protection and encryption of the discs. In some areas of the world, this may be illegal.

To be able to play Blu-ray disks using mpv (or any other player), it is necessary to circumvent the encryption scheme of the disk. At the moment, there are two possible ways to do this:

Possibilites

At the moment, there are two possible ways to decrypt and play a Blu-ray:

MethodDescription
libaacs & libbdplusGPL'd software, does not work with recent disks.
makemkvProprietary software, works with all disks.

If you don't want to use proprietary software, using media-libs/libaacs and media-libs/libbdplus will be the solution of your choice. If you however have very recent Blu-ray disks or don't mind installing a proprietary application, consider using media-video/makemkv. This article will explain both ways.

Playing Blu-ray disks using makemkv

This section explains how to play Blu-rays using the proprietary software media-video/makemkv. makemkv has been originally designed to copy Blu-rays to mkv files, but using the shipped libraries it is also possible to play disks on-the-fly.

Installation

First, emerge media-video/mpv or media-video/vlc with the bluray useflag. Then, install makemkv:

root # emerge media-video/makemkv

License key

Using MakeMKV requires a license key which you may get either by purchasing the software or by using a free beta key, which is available at the MakeMKV Forums.

Copy the key and insert it into your settings.conf:

   ~/.MakeMKV/settings.conf
app_Key = "Your Key here"

Using MakeMKV

To make sure that your player uses the libraries shipped with makemkv, the following environment variables need to be set:

    - Environment variables
LIBAACS_PATH=libmmbd 
LIBBDPLUS_PATH=libmmbd

So, assuming that your Blu-ray is mounted at /media/bluray, you can play it like this:

root # LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd mpv bluray:////media/bluray

If you want to use vlc, run it like this:

root # LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd vlc

Then use the play disc menu entry.

Playing Blu-ray disks using only free software

This section explains how to play Blu-rays using media-libs/libaacs and media-libs/libbdplus.

First, emerge media-video/mpv or media-video/vlc with the bluray useflag.

Then, make sure that both libraries are installed:

root # emerge media-libs/libaacs media-libs/libbdplus

As the next step, you will need to store a file called KEYDB.cfg into the following folder: ~/.config/aacs This file contains keys which have been extracted from hardware players. Such a key is needed to decrypt Blu-rays. At the time of this writing, in can be downloaded at [1]. Note that recently no new keys have been extracted, therefore very new Blu-rays cannot be played using this method.

After this step, you should be able to play the Blu-ray if and only if it can be decrypted. For VLC, chose the play disc option from the menu. For mpv, assuming that your blu-ray drive is located at /dev/sr0:

root # mount /dev/sr0 /media/bluray
root # mpv bluray:////media/bluray