テーマは
@K_Pst すべてのメディアプレイヤーを駆逐してやる!!
— ぶっちー (@guys_dolls) 2014, 1月 8
リビングにある鈍重なWindowsPCにとって変われる省スペース&電力なメディアプレイヤーが作れないかなーと試行錯誤してます。ちょっと煩雑ですが一気に書き残します。
Raspbianにxbmcをインストール
プレイヤーソフトの要はXBMC。 NoobsではOpenELEC Mediacenterディストリビューションが入っていたものの、rpmもwgetも未導入で大変面倒な事が分かりました(当然ではありますが)。なので最初はRaspbianを選択し、通常のLinuxBoxにしてから手動でコンパイル済みのxbmcをインストールする方法をとりました。Rspbianはraspi-configにてUTF8で設定。ユーザーは初期に作られる”pi”をそのまま使った方が後々面倒が無いようです。
参考にしたのはXBMC for Raspberry Pi | Michael Gorven – cocooncrash。
まずは/etc/apt/sources.list を変更してダウンロードリポジトリを追加
deb http://archive.mene.za.net/raspbian wheezy contrib
次にxbmcをインストールします
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED sudo apt-get update sudo apt-get install xbmc
ユーザーは”audio video input dialout plugdev tty”に入っている必要がある、との事ですが
root@RaspberryPi01:~# id pi uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio), 44(video),46(plugdev),60(games),100(users),105(netdev),999(input),1002(spi),1003(gpio)
確認したら最初から入ってました。 inputが無い場合は作ります。
addgroup --system input
/etc/udev/rules.d/99-input.rules を編集し、以下と同じにします。
SUBSYSTEM=="input", GROUP="input", MODE="0660" KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
あとはpiユーザーになって”xbmc-standalone”と入力すればxbmcが起動します。RaspberryPi起動時にxbmcを自動起動させたい場合は/etc/default/xbmcを開き、 ENABLED=0 を ENABLED=1 に変更します。
温度ロガーをセットする
使った温度センサ、ツールは以下の記事を御覧ください。
これをcrontabコマンドでジョブに組み込み、定期的に測定、アップロードします。
root@RaspberryPi01:~# crontab -l # Edit this file to introduce tasks to be run by cron. # 略 # m h dom mon dow command 0,30 * * * * /usr/local/bin/DHT11/DHT11 >> /var/log/outer_temperature_1F.csv 0 * * * * cp /var/log/outer_temperature_1F.csv /mnt/webcam/
毎時0分と30分に温度を記録、/var/log/outer_temperature_1F.csvへ吐き出します。毎時0分にログファイルをコピーする/mnt/webcamはcifsでマウントされたWHS2011のDropboxフォルダ。これで外部やiOSデバイスから室温が確認ができるようになりました。
root@RaspberryPi01:~# cat /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p5 /boot vfat defaults 0 2 /dev/mmcblk0p6 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, so no using s...... //192.168.1.x/ドキュメント/Dropbox/webcam /mnt/webcam/ cifs username=windows_username,password=windows_password 0 0
xbmcのスキン変更と日本語化
スキンはPS3のxmbライクなBelloを選びました。 何種類か試したうち余計なメニューがなく、シンプルなこちらに決定。日本語化する場合はまずはフォントファイルを用意する必要あり。これをやらないと日本語名を使った共有フォルダも表示されません。 スキンでどんなフォントが使用されるかは/home/pi/.xbmc/addons/skin.スキン名/720p/Font.xmlに記載されます。
root@RaspberryPi01:/home/pi/.xbmc/addons/skin.bello/720p# cat Font.xml <fonts> <fontset id="Default" idloc="15109" unicode="true"> <font> <name>BackFont</name> <filename>OpenSans-Regular.ttf</filename> <size>22</size> <style>bold</style> </font> …
使ったのはMiguフォント : M+とIPAの合成フォント。Belloの場合は5種類ファイルが使用される(/home/pi/.xbmc/addons/skin.bello/fonts にある)様ですが、面倒なので全部”migu-1p-regular.ttf”で上書きコピーしてしまいました。 ファイルを用意したら、SettingのInternationalからLanguageをJapaneseにすればOK。 こんな感じで表示されます。スッキリしていて読みやすいフォントで気に入ってます。
MPEG-2ライセンスを購入してTSを再生する
MPEGファイルを再生するにはライセンスが必要。これを入れるとハードウェアアクセラレーションが効いたビデオ再生が有効になるようです。 こちらはRaspberry Pi + OpenELEC HWビデオ再生支援機能を試してみた:PC生活めも:So-netブログを参考にさせていただきました。
Raspberry Pi Storeにて£2.00 GBPをPayPal支払い、実際の請求は\359 JPY。二日ほど経つとライセンスという名のテキストがメールで送られてきました。これを/boot/config.txtに書き込みます。が、/bootはRaspbian上で変更不可の為、UbuntuのVMを利用してSDカードをマウントして書き換えました。
この後無事録画TSファイルが再生できました。これで「リビングで録画した番組を消化する」という大目標を達成。CPU負荷68%だから意外と余力があるようです。
MMDで作成した重い動画(H.264 1920×1080 60fps)を再生してみた所。CPUが100%に張り付き音と映像が段々ずれていきます。37fpsしか出てないから当然か。
オーバークロック!
mpeg2のフレームレートを向上させるためオーバークロックにも挑戦。 ライセンスと同じ/boot/config.txtに追記しました。
arm_freq=950 core_freq=450 sdram_freq=450 over_voltage=6
公式に書かれているHigh相当で大体1.2倍ほどの速度アップが期待できるそうな。結局60fpsのコマ落ちは直りませんでしたけどね。消費電力も4Wから変わらず。ファイルが15Mbpsなので、ラズパイののNICの実効値を超えている可能性もあります。
iPad Airで良かったxbmcリモコンソフト2選
最初はトラックポイント付きキーボードを挿していましたが、
raspのxbmcが再生中には早送りを連打するという問題に数日悩んでた。結果的にUSBキーボードドングル外したら直った。 ? ぶっちー (@guys_dolls) 2014, 1月 7
というわけでタブレットで操作できないかな?と思ったらやっぱりありました。iPhone&iPadで操作できるxbmcリモコン。何本か試した中から使えそうな無料アプリ2本を紹介。
まずはxbmc側で設定
アプリの前に外部コントロールを有効にする必要があります。
「HTTP経由でのXMBCの…」をチェック。パスワードの有無は自由です。
「別のシステム上のプログラムによるXBMCの制御を許可」にチェック。
XBMC Touch – Remote Control for XBMC
iPad専用アプリで基本操作とビデオ再生に向いてます。
下からタブをスワイプすると十字キーコントローラーが現れ、直接画面を見ながら操作できるリモコンモードが便利。TVTestと同じ「一定秒数の早送り/巻き戻しボタン」もあるのでTV録画消化で愛用できそう。キーボード入力もできるので日本語ファイルの検索も簡単。
難点としてはフォルダを開く際にあまり時間がかかると「Not Found」が帰ってくる事。自分はSambaでWHS2011のファイルを取り込んでいるので、ミュージックなどは表示しきれずコレになってしまいます。
XBMC Constellation
こちらはiPhoneでも動く音楽再生とクラウド連携が面白い一歩進んだアプリ
こちらはちゃんと大量のフォルダも表示可能(遅いのは直らないけど)。しかし.tsと.mpgを再生できないという動画では致命的な問題もあり。リモコンモードも無いのでXBMC Touchと按分が必要。
面白いのはiPad側でYoutubeを開いてRaspberryPiで再生できる機能。AirPlay的使い方ができます。実際にはラズパイがYoutubeを直に開いている為、再生が始まったらiPadはOFFにしても大丈夫。
おわりに
ラズパイはどんなに負荷をかけても3~4W以上は食わず、常時通電しておけるのが最大の強みではないでしょうか。XBMC Constellationを使えば、TVをつけなくても選曲→再生までできるし、Windowsの起動を待つ必要も無いのでラジカセ(古い)感覚で音楽を鳴らす事ができて家事が捗ります。
まあ時々再生止まったり画面遷移が変になるのはご愛嬌!