Playing Blu-ray

From Funtoo
Revision as of 07:15, September 4, 2016 by Mf2 (talk | contribs) (Created page with "=== 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 ste...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to 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 No results.

   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 No results and No results 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 No results. This article will explain both ways.

Playing Blu-ray disks using makemkv

This section explains how to play Blu-rays using the proprietary software No results. 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.

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

root # emerge media-video/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 No results and No results.

First, emerge media-video/mpv or No results 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 encrypted. 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