#topicpath

** Raspbmc [#nb0e75fd]
*** はじめに [#h856747a]
- Raspbmc とは~
-- はじめに(他のソフトウエアとの関係)~
~
[[XBMC>http://xbmc.org/]](XBox Media Center)と呼ばれるソフトウエアがある。XBOX 用に開発されたテレビに接続するタイプのメディアプレーヤーである。[[OpenELEC>http://openelec.tv/]](Open Embedded Linux Entertainment Center)は、スクラッチから記述された Linux 用の メディアプレーヤーであり、これ自身も [[Raspberry Pi>../]] でも使われているようである。しかし、さらに Raspberry Pi に特化したLinuxカーネルを含むパッケージとして、[[Raspbmc>http://www.raspbmc.com/]] がある。インターネット上の情報は、圧倒的に Raspbmc が多いので、以下では、Raspbmc について、私なりにまとめてみる。~
~
※ 最近、XBMC は [[kodi>http://kodi.tv/]] に名称変更になったようである。Raspbmc は[[OSMC>https://osmc.tv/]]というソフトへ移行しつつある。(2015-01-12 (月) 10:14:04)~
~
- Raspbmc にできること
-- テレビにつなぐメディアプレーヤー~
XBMC と同様に、Raspberry Pi に Raspbmc を導入してテレビに HDMI ケーブルで接続すると、Raspberry Pi は様々なメディアのプレーヤーになる。特にビデオを再生できることは重要である。パソコン内に保存されているような動画ファイルを Raspberry Pi で再生できる。ポータブルなメディアプレーヤーとなるわけである。~
~
-- テレビのリモコンで操作できる~
さらに重要なのは、Raspberry Pi に接続された HDMIケーブルを通じて、通常のテレビのリモコンで Raspberry Pi を制御できる点である。HDMI は双方向通信ができ、Toshiba の REGZA や Sony の Bravia など、CEC (Consumer Electronics Control)規格のテレビは、付属のリモコンで操作できるようになる。家電として機能するようになる、とも表現できる。~
しかし、時々うまくいかない。このページ内の CEC に関する情報を参照のこと。~
~
-- スマートフォンやモバイル端末で操作できる~
その上、テレビのリモコンでなく、iOS や Android のソフトを入れれば、そうしたソフトで操作できる点も特徴である。~
~
-- Airplay の機能を使える~
iPad, iPhone で表示している端末の映像をテレビで大きく映すことができる。これはモバイルのプレゼンテーション環境となりうる。~
~
-- その他~
インターネット上の様々なメディアを楽しむことができる。リモコンが使えるので、テレビのリモコンで Youtube とか、podcast とか、Internet Radio なども楽しめるようだ。~
(しかし、個人的にはそれらは、よりパフォーマンスの高いパソコンで視聴すればいいと思っている。)~
~
*** 導入(インストール) [#p535ea01]
- 必要なもの
#style(class=table_left)
|物品 | 価格 | コメント |h
| [[Raspberry Pi (Type A)>http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/7568317/]]|RIGHT: 2800| Model A(販売リスト上は Type A) の 256MB でも動くようにしていると、raspbmc 本家のホームページに書いてあった。Model B (販売リスト上は[[Type B>http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/7568308/]], 3940円)の方がメモリ、LANポートの面でいいのかもしれない。 |
|SD カード(&amazon(B000O76ZGM);) |RIGHT: 470| 2GBもあればよい。DOS/Vパラダイスで、2GBの micro SD が100円ぐらいで売られていた。|
|USBケーブル(Type A - micro B)|RIGHT: 108| ダイソーで|
|USB無線LANアダプター &amazon(B003NSAMW2,image);|RIGHT: 714| Model A をネットワークに載せるために|
|セルフパワー USBハブ &amazon(B001QS17X4,image); |RIGHT:1036 |安定的にメディアプレーヤーとして利用するのならば必須だと思われる。|
|HDMIケーブル&amazon(B0037UTV3M,image);|RIGHT: 820|HDMI 1.4 以上を選ぶ。以前、私は DOS/Vパラダイスで購入した安物のケーブルを使っていた。その結果、最初は機能していた CEC がおかしくなり、テレビのリモコンで操作できなくなった。最新規格フル対応をうたっている JVC のケーブル(&amazon(B0037UTV3M);)に変更して解決した。(……と思ったら、時間と共に、次第に CEC でコントロールできる時間が減少していく。原因は不明。)|
|HDMIケーブル&amazon(B0037UTV3M,image);|RIGHT: 820|HDMI 1.4 以上を選ぶ。以前、私は DOS/Vパラダイスで購入した安物のケーブルを使っていた。その結果、最初は機能していた CEC がおかしくなり、テレビのリモコンで操作できなくなった。最新規格フル対応をうたっている JVC のケーブル(&amazon(B0037UTV3M);)に変更して解決した。(……と思ったら、時間と共に、次第に CEC でコントロールできる時間が減少していく。後述するように CEC の設定を変更して解決?)|
|合計|RIGHT: 5948| Raspberry Pi Model A (Rapsbery Pi Type A)と、ほぼ同額の機材を追加で買い、倍額支払うことになる。それでも6000円程度で収まる。 |
#clear
~
~
- 手順
++ ダウンロード~
次の場所から standalone のイメージファイルをダウンロードする。ところが、これが非常に混雑していてダウンロードするのにとても時間がかかる。
 http://www.raspbmc.com/download/
++ SD カードへの書き込み~
これも時間がかかる。40分ぐらいかかると見込むべきである。デバイスファイルを必ず確認してから(それが例えば sdc なら)次のようにする。~
root 権限で実行する。デバイスファイルを間違えるととんでもないことになるので気をつける。
 # zcat raspbmc-final.img.gz | dd of=/dev/sdc
なお、このコマンドの実行状況は、root で別の端末から
 # pkill -USR1 dd
で表示される。終了してから
 # sync
してからカードを抜く。~
~
++ 配線~
後述のように電源を補強するために USB ハブを用いて接続する。この図(&ref(RaspberryPi.gif,noimg);)を参照して配線する。~
SDカードを装着し、HDMI ケーブルでテレビに接続し、最後に Raspberry Pi の電源となる micro USB のケーブルを刺す。~
~
++ 初期設定
+++ 最初の起動~
いくつかの初期設定があるので、USBキーボードを接続して起動するとよい。最初に言語設定が聞かれる。~
日本語設定を選択すると再起動する。しかし、特に変化はなかった。~
~
+++ 日本語設定~
言語設定をする前に、フォンとの選択をしなければならない。それをしないで日本語に言語を設定すると、~
文字がほとんど表示されなくなる。~
 System > Settings > Appearance > Skin > Fonts
を Arial based に
 System > Settings > Appearance > International > Language
を Japanese にセットする。~
~
+++ 画面解像度~
 システム > 設定 > システム > ビデオ > 画面解像度
で解像度を設定する。~
~
+++ ネットワークの設定~
まず、
 プログラム > Raspbmc Settings > Network Configuration
でネットワークの設定を行う。まず、有線LAN ではなく、無線LAN を使うことをここで設定する。また、例えば、DHCP(IPアド~
レス自動取得) ではなく、固定の IP アドレスを利用する場合はここを設定する。
  update now
にもチェックを入れた。ネットワークが正しく設定されると、いきなり最新版のダウンロードとインストールが開始される。~
インストールと呼べるのは、事実上、ここまでかもしれない。~
~
+++ 動画フォルダの指定~
 動画 > ファイル > ビデオを追加
で、NFS や Samba などで動画のフォルダを指定できる。後述のように、「選択したフォルダーをスキャン対象から除外する」にチェックを入れるようにする。~
~
+++ Wake up on LAN の設定~
iPad や Android には、raspbmc をコントロールするリモコンソフトがある。そのリモコンソフトには、Wake up on LAN の機能がついている。~
これを使うためには、raspbmc 側でも設定しなければならない。~
 プログラム > Raspbmc Settings > System Confuguration > MAC address for Wake on LAN
で手持ちの iPad の MAC アドレスを入力する。~
※ Wake up on LAN については、うまくいっていない。~
~
+++ CEC の設定~
基本的には必要ない。自分の場合、後述の REGZA との兼ね合いでうまく動かなかったので、次のようにして概ね良好になった。~
 システム > 設定 > システム > 入力デバイス > 周辺機器
を選択。ここに CEC の設定項目があるので、それを選ぶ。「有効にする」以外は、テレビとの連携をなくしてみたところ、概ね~
良好のようである。再現性が悪い現象なので、これで改めて様子をみる。(2015-01-12 (月) 10:13:19)~
~
*** その他の設定 [#d908d169]
- iPad をリモコンにする
-- ソフトウエアの導入と設定~
xbmc をネットワーク経由でコントロールするための iPad,iPhone,Android 用のソフトがいくつかある。[[xbmcremote>http://wiki.xbmc.org/index.php?title=Official_XBMC_Remote]]は、純正のソフトウエアである。これを導入する。~
右下の電源マークの横をクリックすると、接続についての画面が現れる。Add Host を選択して Find XBMC をクリックすると自動的に raspbmc を探してくれる。~
Save で保存するとセットされる。~
~
-- うまくいかないとき~
次のような点に注意する。
--- 「別のシステムによる…」
 システム > 設定 > サービス > リモートコントロール
の 「別のシステム上のプログラムによる XBMC の制御を許可」は機能させないようにする。(チェックを外しておく)
--- Zeroconf
 システム > 設定 > サービス > Zeroconf
の 「本サービスを Zeroconf 経由でアナウンスする」は機能させるようにする。(チェックを入れておく)~
~
- mpeg2 ライセンスの購入
++ どんな意味があることか~
mpeg2 は動画圧縮形式の一つである。これは、国際的な規格ではある。しかし、その復号技術(画像に戻すための技術)は、特許申請されている。~
多分そのために、Raspberry Pi に搭載されている GPU で mpeg2 のファイルを復号するためには、余分な費用がかかることになり、必要な人だけ~
買うというスタイルになったのではないか。(どうでもいい話だ。)~
~
++ 購入するためのサイト~
[[Pi Store>http://www.raspberrypi.com/]] から購入する。£2.40 だけど、paypal で購入すると £2.00 になっていた。説明にもあるように、シリアル番号を cat /proc/cpuinfo で取得しておく。~
~
++ ライセンスの追加~
購入するとライセンス番号がメールで送られてくる。つぎのうち、どちらかをする。
+++ raspbmc の起動画面で、プログラム > Raspbmc Settings > System Configuration > MPEG2 codec license でライセンス番号を入力する。~
+++ /boot/config.txt に書き加える。~
 decode_MPG2=0x12341234
なお、ここの[[config.txtの書式についての説明>http://www.raspberrypi.org/documentation/configuration/config-txt.md]]は参考になるだろう。~
~
その後、再起動して有効にする。~
~
- Airplay~
-- Airplay とは~
iPad などで表示されているものを Airplay のストリーミング先デバイスで表示・再生する機能である。iPad などには標準的に組み込まれているようだ。~
-- raspbmc での設定~
 システム > 設定 > サービス > Airplay
で「 XBMC の Airplay コンテンツ受信を許可する」にチェックを入れる。これだけ。~
-- 利用方法~
例えば、iPad で Youtube を利用して動画を再生中に画面をタップする。すると、画面の右下に四角と三角を組み合わせた「Airplay アイコン」が表示~
される。そこをクリックすると、表示する場所を選べる。「iPad」なら手元の画面、「XBMC(raspbmc)」なら raspbmc が接続されたテレビとなる。~
~
*** 問題点 [#g201fa1f]
+ 安定しない~
Raspberry Pi の USB ポートに無線 LAN アダプタを刺して使っている。ところが、Raspberry Pi の USB ポートに供給される電源の電流量が少ない~
上に、そもそも、Raspberry Pi に供給される電流量に限りがあるので、いずれにしても外部電源で USB ポートに刺したデバイスの電源をまかなうべき~
である。また、Raspberry Pi の電源供給が microUSB であるので、こちらも USB ハブから電源供給できるはずである。いくつかのホームページを見~
ると、Raspberry Pi の microUSB のポートには通信機能がないので、次のように配線しても問題ないとのこと。実際、今のところ問題ない。~
&ref(RaspberryPi.gif,,30%);~
~
+ 負荷が高い~
CPU の負荷が高いのは、いくつか可能性がある。一つは、設定した動画ファイルのデータベースを作ろうと、動画一つ一つを読みこんで、サムネイル~
を作っているからだと思われる。そこで、動画フォルダ登録時に「選択したフォルダーをスキャン対象から除外する」にチェックを入れておく。~
あるいは事後に、
 ビデオ > ファイル
で表示されたフォルダで右クリックして「コンテンツを設定」で、同様の設定をする。~
~
+ Samba で接続した時の問題点~
時々、ファイルを格納したフォルダをクリックすると、"ロックの設定" という表示が現れる。そして、ユーザー名とパスワードを求められる。~
これが出てくると、そのディレクトリはアクセスできない。この問題は、パーミッションの問題で、Samba として提供されている側のパーミッション~
では、アクセスできない時に発生するようである。サーバー側のパーミッションを調整する。~
~
+ レグザのリモコンが効かない~
東芝のレグザ(REGZA, レグザリンク)、ソニーのブラビア(Bravia, ブラビアリンク)、パナソニックのビエラ(VIERA, ビエラリンク)では、リモコンで~
raspbmc をコントロールできる。ところが、うまく操作できなかった。~
結論としては、どうやらケーブルの問題らしい。[[HDMIには、いくつかのバージョン>http://ja.wikipedia.org/wiki/HDMI]]がある。HDMI 1.4 からケーブル経由のコントロールを許す CEC~
(Consumer Electronics Control) のための信号線が加えられ、2.0 では規格の拡張が行われている。[[価格.com>http://kakaku.com/kaden/hdmi-cable/]]での商品検索にも、バージョン選択肢~
が入っている。HDMIケーブルを変えることで、私の場合にはうまくいった。~
~
 → この件は、再現性が悪い現象で、ケーブルを変えると最初のうちはテレビのリモコンが機能していたり、それでもやがて機能しなくなったりしていた。原因を特定し辛かった。しかし、多分、上述の CEC の設定で解決したと思われる。(2015-01-12 (月) 10:05:59)
~
*** Linux マシンとしての基本情報 [#f1077ae5]
+ 名前の参照~
DHCP などで起動する場合、IPアドレスが不定である。この点について、raspbmc では、[[Avahi>http://ja.wikipedia.org/wiki/Avahi]] (Zeroconf,Bonjour)で参照できるようになっている。~
そこで、適切に設定されたマシンからは raspbmc.local というホスト名で raspbmcを搭載した raspberry pi にアクセスできる。~
~
+ CUI でアクセスしたいとき
++ ssh 経由のアクセス
 ssh pi@raspbmc.local
++ 終了を選択して~
raspbmc を終了させると、画面に一瞬、「ESC キーを押すとコマンドラインが使えるよ」と英語で表示される。~
そのタイミングで ESC キーを押す。~
~
+ ログインするとき~
次のユーザー名とパスワードでログインできる。
#style(class=table_left)
| user name | password |h
| pi | raspberry |
#clear
~
+ root の権限を使いたいとき
 sudo su -
~
+ deb パッケージを導入したいとき~
例えば xbmc.bin が動いていて負荷が高い時に、どんなファイルをアクセスしているかがわかれば、対応のし方もある。そこで、 lsof パッケージ~
を導入したくなる。しかし、おそらくメモリーの量の関係で、apt-get で導入しようとすると、うまくいかない。そこで、
 http://archive.raspbian.org/raspbian/pool/main/
以下にアクセスして、必要なパッケージをダウンロードし、dpkg -i で導入する。~
~

トップ   編集 差分 添付 複製 名前変更 リロード   新規 検索 最終更新   ヘルプ   最終更新のRSS