以前(2010年ごろ) LinuxでBDディスクの再生/リッピング という記事を公開しました。
当時はLinux環境でBluRayディスクを再生する方法は限られており、 BDのリッピングツール MakeMKVのストリーミング機能を使って BDを視聴する方法しかないよね…という記事だったのですが、 最近ではもう少し上手い方法があります。
作業内容の説明
上記記事中で
VLCなどで直接BDの再生に対応して頂けると ありがたいのですが。。。
などと書いていますが、今ではVLCで直接再生する方法があります。 ただし、少し工夫が必要です。VLCでBDディスクを再生するには BDのコンテンツガード機構 AACSを解除するための libaacsライブラリや コンテンツにアクセスするための libbluray libbdplus といった各種ライブラリ 最新のAACS鍵情報などを揃えなくてはいけません。
ただ、Linuxでインストールできる libaacsはオープソース版なので せっかく導入しても市販BDの再生が不可能です。 こういった制約のせいでLinuxではデフォルトでのBD再生が難しいわけです。 Windows環境でも有償ソフト以外で簡単にBDの再生が行えないのも このあたりが原因です。
そこで MakeMKV の力を借ります。 MakeMKVはリッピング機能を実現するため libmmbdライブラリという libaacs と libbdplus の挙動をエミュレートするライブラリ を備えています。 そこでシンボリックリンクで libmmbd <- libaacs を作成して VLCに libaacsと見せかけて libmmbd をロードさせることで BDの直接再生を行うことができます。
手順
part1 リポジトリとソフトウェアの導入
まずは必要なソフトウェアを揃えます。 RPMFusionと negativo17のmultimediaリポジトリを追加 すればすべて揃いますので今回はこれを使います。 サードパーティリポジトリを追加するのに抵抗がある場合は 前回記事 などを参考に相当ソフトを 手動で用意しても大丈夫だと思います。
○RPM Fusion の登録
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
○negativo17/multimedia の登録
$ sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-multimedia.repo
○ソフトウェアの導入
$ sudo dnf install vlc libbdplus makemkv
part2 ライブラリの設定
以下一連のコマンドを実行します。 内容は aacsとbdplusライブラリが必要とするデータ(AACS鍵等)を用意するため labdv.com から最新データを取得して所定の位置に展開 さらに MakeMKVのインストールによって入手した libmmbd に libaacs という名前でシンボリックリンクを張っています。
現在 以下のコマンド操作内で使用している http://www.labdv.com/ の データが使用できない状況になっています。 KEYDB.cfg は http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg bdplus は https://www.videolan.org/developers/libbdplus.html が代用できそうです。
$ cd ~/
$ mkdir -p bdtemp/{aacs,bdplus}
$ wget -c http://www.labdv.com/aacs/KEYDB.cfg -O ~/bdtemp/aacs/KEYDB.cfg
$ wget -c http://www.labdv.com/aacs/libbdplus/bdplus-vm0.bz2 -O ~/bdplus-vm0.bz2
$ tar -xvjf ~/bdplus-vm0.bz2 -C ~/bdtemp/bdplus/
$ sudo mv ~/bdtemp/{aacs,bdplus} /etc/xdg
$ sudo chown -R root:root /etc/xdg/{aacs,bdplus}
$ rm -rf bdtemp
$ rm bdplus-vm0.bz2
$ cd /usr/lib64
$ sudo ln -s libmmbd.so.0 libaacs.so.0
再生
以上で準備完了です。 /etc/profile.d/makemkv.sh に必要な環境変数の設定が追加されているので 念の為一度再起動しておきます。
part2 までの設定で VLCからは libaacsがあるように見えるはずなので BDの再生が可能なはずです。
この通り、再生できました。
MakeMKV
今回の作業の副産物(?) としてMakeMKVのインストールが行われます。 このソフトは有償ソフトでライセンスを購入する必要があるのですが、 ベータ版としてしばらく使用するための 無償公認キー が こちら から入手可能です。 これをMakeMKVの [ヘルプ] > [公認] に登録しておくと、一定期間無料で全機能が使用可能です。 期限が切れたらまた 上記ページから最新の公認キーを取得すれば 今の所ずっと使い続けることができます。
ただ、現行法では、私的利用でもコンテンツガード回避を伴った BDの複製が違法になっているので、リッピング・mkv生成機能に関しては 使用してもいいディスクかどうかよく確認して使用してください。
複製が違法ということなので、この記事のように 再生するためだけに使用するならセーフということで 大丈夫だというのが大方の見方のようです。