raspbmcでXBMCを動かしてみた

Raspberry PiをXBMCというオープンソースのメディアセンターソフト専用機にするディストリビューション「raspbmc」を試してみました。

Raspbmc

以下は2012年9月1日現在の話です。

raspbianと同様、新しいSDカードを用意してWindows等でイメージを書き込みます。
イメージファイルは上記のリンクから、Downloadを選択して、

just want an image? Of course, you can get the latest installer image here.

というリンクからダウンロードできます。

Windows用インストーラもダウンロードできますが、ツールはなるべく統一したいので使いませんでした。

イメージファイルはgzipで圧縮されていますので、gzipに対応したアーカイバで解凍します。(Lhazとか)

で、前回と同様、イメージをSDに書き込みます。

イメージファイルは75MBと小さいのですぐ終わります。
これをRaspberry Piにセットして、ここからが長いです。

実はraspbmcはネットワークインストールになっていて、そのインストーラが75MBなのです。

DSC_5440.jpg

起動すると、こんな感じでダウンロードが始まります。

DSC_5441.jpg

ダウンロードが済んだら、こんどはインストールです。
コーヒーでも飲んでろということで、2~30分かかります。

そのあとさらにカーネル、モジュール類、ライブラリ類などのインストールが続きます。
最後に最新のXBMCがダウンロードされて、ようやく完了です。

まあ、基本的に完了するまでほっておいてOKです。
で、すべて完了すると…

DSC_5449.jpg

こんな感じでXBMCが起動します。
OpenGLで書かれているらしく、なかなか見栄えがします。

DSC_5450.jpg

システム全体は700MBくらいのようです。
タイムゾーンなど最低限の設定はしたほうが良いですが、言語は日本語にすると表示されませんので要注意。
あと、音声出力はデフォルトでHDMIになっていますので、アナログ出力したい場合は

  Settings→System→Audio output

で設定が必要です。

DSC_5469.jpg

初期状態ではローカルのファイルを再生することができます。
また、Add sourceでNFSやWindowsファイル共有のディレクトリを指定すると、そこに置いてある音楽やビデオを再生できます。

YouTubeは見れないの? と思うわけですが、もちろん見られます。

DSC_5452.jpg

インターネット上のコンテンツを見るには、対応するAdd-onをインストールします。

Add-onの実態は、おそらくWebページを解析して動画のリンクを抽出するスクリプトではないかと思います。
うまく動作しない場合もありますし、コンテンツの一覧を表示させるまでに結構時間がかかる場合もあります。

DSC_5465.jpg
DSC_5464.jpg
DSC_5463.jpg

このraspbmcですが、GUIはかなり綺麗です。
ただ、CPUパワー的には足りていない感じで、ハングアップしたかと思うこともしばしば。
当たり前ですが完成品としてのメディアセンター端末を探しているなら、Apple TVとか買うほうが良いと思います。
まあ、最近のテレビにはメディアセンター機能はたいてい搭載されていますが…。

実用的な価値は別として、ネットでHD映像を受信して再生する端末なんてことを、2,000円のボードでhackして遊べるというのはなかなか楽しいですね。

テレビなどの製品に組み込まれているものと、本質的なところは大きく変わらないはずなので、勉強にもなると思います。

Raspberry Piで遊ぶ(普通の意味で)

DSC_5423.jpg

Raspberry Piの最大の特徴はGPUですが、GPUには動画再生以外に3Dグラフィックの機能もあります。
その機能を使って作られたソフトがあったので試してみました。

Penguins Puzzleという単純なパズルゲームで、カーソルキーでペンギンを操ってExitまで連れて行きます。

インストールは

sudo apt-get install penguinspuzzle

です。

操作方法などはこちら。

Penguins Puzzle Home

X Windowは必要ありません。
コンソール上で動作します。

効果音とかは無いので、ちょっと物足りない感じかもしれません。

普通に遊べるゲームとしては、抽象芸術的弾幕シューティング「noiz2sa」がいいかもしれません。
15年くらい前のPC+Linuxでも動作していましたので、Raspberry PiのGPUはあまり関係ありませんが。

これもXではなくコンソール上で動かした方が、快適に動作します。

同じ作者さんのparsec47もapt-get installはできるのですが、私のところでは残念ながら起動しませんでした。
そういえば、15年前のPCでDebianで試したときも動作しなかったような記憶が、微かにあります…。
OpenGLを使用するものは、おそらく動作しません。

Raspberry Piでのビデオ再生

Raspberry Piのハードウェアで特徴的なのが、3DグラフィックスとHD動画再生支援の機能を持つGPUが搭載されている点です。
早速、この動画再生の機能を試してみました。

Raspberry Pi用のメディアプレーヤーソフト「omxplayer」は、最初からインストールされています。
コマンドラインで動作しますので、X Windowの起動は不要です。

使い方は

omxplayer ファイル名

です。

再生中のキー操作は、

・カーソル左右 早送り、巻き戻し
・+、- 音量調整
・SPACE ポーズ

などが使えます。

PCから動画ファイルをいくつか持ってきて再生してみました。
ファイルを持ってくるには、USBメモリが手っ取り早いです。
USBメモリは

sudo mount /dev/sda1 /mnt

で、/mntの下にマウントすることができます。
複数のストレージデバイスを使っている場合はsda1のところが変わってきますが、まあRPiではそのような使い方はあまりしなさそうですね。

USBメモリを外すときは

sudo umount /mnt

でアンマウントしてから外します。

ちなみに、modulesディレクトリを見てみたら、vfatはもちろんのこと、各種ファイルシステム関連のモジュールは完備されている様子でした。

さてRaspberry Piの動画再生能力ですが、MPEG4ファミリ(DivX、H.264など)は再生できます。
一方、MPEG2については利用できません。

以下の記事によると、MPEG2およびVC1(WindowsMediaで使われているコーデック)については、ライセンスキーを購入すれば利用可能となるそうです。

New video features! MPEG-2 and VC-1 decode, H.264 encode, CEC support | Raspberry Pi

また、H.264のエンコード機能は無償で利用できることとなり、既に最新のファームウェアでは有効になっていて、あとは誰かがツールを実装してくれるのを待っている状態だそうです。
Raspberry Piにはカメラモジュール用のパターンが基板に用意されているらしいので、ライブカメラなども将来は作ることができるかもしれません。
なかなか楽しみですね。

ちょっと脱線しましたが、動画再生の方に戻ると、手持ちの動画ファイルをいくつか再生してみたところ、720p以下のMP4、MOV、AVI、DIVXなどのファイルは、ほぼ問題なく再生できました。
1080pでは一部のファイルで引っかかりが生じる場合もありました。

YouTubeの動画ファイルも1080pや720pのMPEG4をダウンロードして再生してみましたが、特に問題はありませんでした。
MP4ファイルをダウンロードしながら再生するようなYouTubeプレイヤー(スマホで使われているような)は、Raspberry Piでも作ることができるかもしれませんね。

なお、ちなみにですが、YouTubeからの動画ダウンロードは、ChromeのYouTube Downloaderという拡張機能を使うと簡単です。