Raspberry PiでAmazonプライムビデオプレイヤ作ろうとしてダメだった件

f:id:karaage:20150927175431j:plain:w640

Amazonプライムビデオプレイヤとかあったら素敵やん

 Amazonプライムビデオが始まりましたね。自分はあんまり分かってなかったので、購読しているはてなブログの皆様が記事書いているのをボケーっと眺めていました。

 そしてふと、妻が子供用品を定期購入するのにお得だからといってプライム会員になっていたな。ということは自分も見れるのかとかと自分ごとになって初めて気づきました。これビデオ見放題のどえらいサービスじゃないかと!

 ただ、見るのにパソコンが占有されてしまうのがイマイチだなと。Fire TV Stickなるものもあるみたいですが、5000円をAmazonに更に献上するのもなんか悔しい(!?)

Fire TV Stick

Fire TV Stick

 そう、私にはRaspberry Pi 2があるじゃないか!AirPlay対応のオーディオサーバだって作ったしAmazonプライムビデオプレイヤも作るっきゃないだろと思い立ちました。ただ先に結論から書いておくと、私では実用的なプライムビデオプレイヤ作ることはできませんでした。はっきりいってボツネタなのですが、誰かが同じことをして悲しむといけないので記録に残しておきます。近い将来、スーパーハッカーが私の屍を乗り越えてRaspberry Pi2でAmazonプライムビデオプレイヤを構築してくれる日を夢見ております。

Raspberry PiでAmazonプライムビデオプレイヤ構築する方法

 大きくOSCMというディストリビューションとRaspbianという代表的なディストリビューション使う方法の2種類にトライしました。端的には、OSCMは日本のプライムビデオには対応しておらず断念。RaspbianはDRMエラーで表示できないのと、そもそも重すぎるということで断念しました。
 ここからはRaspberry Pi2やLinuxに関してある程度の知識があることが前提となりますし、最後までこの通りにやってもプライムビデオプレイヤは完成しませんが、それでも見たいという変態さんだけ続きを読むをクリックください。

必要なもの

 まあ以下のもの揃えてもできないんですけどね!使ったものです。
 

Raspberry Pi 2 Model B (1)

Raspberry Pi 2 Model B (1)

 これ以外は以下の記事をもとに、足りてないものを適当に揃えて下さい。
 

Raspberry Pi+OSCM

 きっかけは下記記事。あとは参考サイトを参照しながらインストール。

 特に難しいことはなくインストールできたのですが…

f:id:karaage:20150927171201j:plain:w640

f:id:karaage:20150927171239j:plain:w640

 何もビデオが出てこない。日本に対応していないのが原因だと思いますが、ひょっとしたら他にも原因があるのかもしれません。一刻も早く日本のプライムビデオに対応して欲しいところです。
 しかしこのOSCMというディストリビューションは、クールだし起動もめちゃ早だしでなかなか好印象でした。今後、別の用途で普通に使ってみたいなと思いました。

Raspberry Pi+Raspbian

 そのままだと悔しくてなんとかできないかなと思っていて、ふと思ったのが「別にRaspberry PiのデフォルトのOS(Raspbian)でいいんじゃない?」ということ。というわけでチャレンジしてみました(結局ダメだったのですが)。

基本セットアップ

 まずは、以下の記事らへんを参考に初期セットアップ

 他プライムビデオプレイヤのためにやったことを追記します。

日本語化

 日本語入力が必要になります。そういえば、今までまともにRaspberry Piの日本語化したことなかった(必要なかった)ので、調べてやってみました。

 基本セットアップでロケールの設定が終わっている前提だと、以下のコマンドでフォント(vl gothic)とibus-anthyをインストールすればOK。

$ sudo apt-get update
$ sudo apt-get install fonts-vlgothic
$ sudo apt-get install ibus-anthy

 あとは、startxして、ibusの設定を開いて、インプットメソッドにJapanese(Anthy)をちょこちょこっと追加するだけ。ちょこちょこの部分がよくわからないという人は、以下のサイトが画像があってわかりやすくて良いです!(他人任せ)

Raspberry Pi メモ (34) デスクトップの軽量な日本語化

ブラウザ(Chromium)+ Flashインストール

 デフォルトのブラウザだとFlashが再生できないので調べたらChromiumというGoogle Chromの従兄弟みたいなブラウザとPepperFlashという謎のFlashプレイヤで再生できるらしい。
 具体的には以下のいくつかのコマンドを打ってchromiumインストール(chromium-l10nは多国語対応らしい)。

 以下コマンドで公開鍵を取得

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5B393194

 以下コマンドでファイル編集

$ sudo vi /etc/apt/sources.list

 以下の行を追加

deb http://ppa.launchpad.net/canonical-chromium-builds/stage/ubuntu vivid main

 以下コマンドでインストール

$ sudo apt-get update
$ sudo apt-get install chromium-browser chromium-browser-l10n

 次に、以下コマンドでPepperFlashインストール
$ wget http://odroidxu.leeharris.me.uk/PepperFlash-11.7.700.225-armv7h.tar.gz
$ tar xvzf PepperFlash-11.7.700.225-armv7h.tar.gz
$ cd PepperFlash
$ sudo cp libpepflashplayer.so /usr/lib/chromium/plugins/

$ wget  http://mirror.archlinuxarm.org/armv7h/alarm/chromium-pepper-flash-12.0.0.77-1-armv7h.pkg.tar.xz
$ tar Jxvf chromium-pepper-flash-12.0.0.77-1-armv7h.pkg.tar.xz
$ cd PepperFlash
$ sudo cp usr/lib/PepperFlash/libpepflashplayer.so /usr/lib/chromium/plugins/

 Chromiumの設定をコンフィグファイル(/etc/chromium-browser/default)編集して変更。

$ sudo vi /etc/chromium-browser/default

 コンフィグファイルに以下の記述を追加。

CHROMIUM_FLAGS="--ppapi-flash-path=/usr/lib/chromium/plugins/libpepflashplayer.so --ppapi-flash-version=12.0.0.77 -password-store=detect -user-data-dir"


 あとは以下コマンドでchromium起動

$ chromium-browser


 ブラウザ(chromium-browser)起動して、アドレスバーに以下を入力してPepperFlashがプラグインとしてインストールされているか確認

chrome://plugins

 以下のように表示されたらOK

f:id:karaage:20150927173440j:plain
 Always Allowedというところにチェックがなければ上の写真のようにチェックを入れる


 ただ、以下の謎のエラーがでる。

error [1:1:1827694911:ERROR:nss_util.cc(692)] Failed to load NSS libraries.

 気持ち悪いので調べたら、以下で解決するよう。

$ sudo ln -s /usr/lib/arm-linux-gnueabihf/nss/ /usr/lib/nss

 再び実行すると、NSSのエラーは消える。ただ、他にも謎のエラーがポコポコ出る。調べたけど修正の仕方がよくわからないので気にしないことにする。Linuxではよくあること。

リモートデスクトップでRaspberry Piの画面をMacで操作

 遠隔操作できないと不便なのでリモートデスクトップをできるようにする。ただ、tightvncserverだとRaspberry PiのX Window画面とPCのデスクトップを完全に同期させることができなくて、ビデオプレイヤとしては使い辛いものになります。調べたらx11vncを使うのが良い感じらしいのでそちらを使います。

 インストールは以下コマンドで完了。

$ sudo apt-get install x11vnc

 以下コマンドでパスワードを設定

$ x11vnc -storepasswd

 以下コマンドでVNC サーバーを起動

$ x11vnc -forever -usepw

 後はPCからアクセスするのみ。あらかじめifconfigでRaspberry PiのIPアドレスを調べておく。例えば192.168.0.1とすると、Macからだと Macのファインダーの移動 -> サーバーに接続 (Command + KでもOK)から 「vnc:192.168.0.1:5900」にアクセスすれば、リモートアクセスできます。

 以下が参考になりました。

Raspberry Pi のデスクトップをMac に表示する | TETRASTYLE: Support

HDMIで音を出す

 まずは /boot/config.txtを書き換え

$ sudo vi /boot/config.txt

 以下を追記します。

hdmi_drive=2

 あとは以下でHDMIからオーディオを出すように設定。

$ sudo amixer cset numid=3 2
プラムビデオ再生

 これでいよいよ再生できる!と思いきや。

f:id:karaage:20150927175431j:plain:w640
 DRMエラー!!

 DRMエラーって著作権絡みだから、そもそもRaspberry Piが対応デバイスじゃないって話なのかしら。そして予告編の動画は一応再生はできたのですがめちゃくちゃ重い…動画がカクカク飛び飛びでとても実用的ではありませんでした。CPUクロック設定やGPUメモリ設定を色々弄ったけど改善せず…Raspberry Pi2では性能不足なのか、チューニングすればいけるのか、何か変なエラーが発生しているのか…


 夜中にテレビの前で悩んでいるところを妻に激写されるの図

まとめ

 というわけでRaspberry Pi2でプライムビデオプレイヤ作ろうとチャレンジしたけど実力及ばずという話でした。そもそもがんばればどうにかなる話なのかもよく分からない。誰か凄い人が解決してくれる日を祈って自分が足掻いたみっともない記録を晒しておきます。

関連記事