2012/12/14

XBMC for Android 設定とMySQL対応

更に快適なXBMC環境にするためにってことで、普通に設定で出来そうなことを色々やってみました。結果、どれも問題なく、いい感じです。以下、自分が行った設定です。


システム設定

外観(Appearance)

日本語化(誰もがやることですね。順番が大事かも)
  1. Skin>Font=>Arial Base
  2. International>Character Set=>Japanese(Shift-JIS)
  3. International>Language=>Japanese
天気予報 (役に立つような立たないような・・)

一般>設定の"Location setup"からLocation 1を選んで、"tokyo"って入れて出てくるメニューから適当に選んで設定。Location 1に"Tokyo,Japan"とか表示されたらOKする。

サーバー

ネットワーク経由のリモートアプリから制御できるように
  • Webサーバー>HTTP経由でのXBMCの制御を有効に=>オン
  • リモートコントロール>システム上のプログラムによるXBMCの制御を許可=>オン
システム
  • オーディオハードウエア>オーディオ出力=>HDMI
  • 入力デバイス>リモコンによるキーボード入力=>オフ
  • 入力デバイス>マウス・タッチスクリーンの有効化=>オフ(これやると外部キーボードだけの操作になる。潔し!)
MK808なので一応HDMIってやりましたが、効果はよくわかりません。パススルーのオーディオ装置をつなげている場合は、パススルー設定にすると処理が軽くなってパフォーマンスがあがるらしいですが、Android端末には関係ない話か。

フルスクリーン化(ナビゲーションバーを消す)

これはXBMCの設定じゃないんですが、XBMCのためにってことで。

Android4.0から(だったかな?)物理キーを持たないPad/Tab系Androidにはシステムナビゲーションバーが画面下に入るようになって、アプリからHide操作しても、’・・・’ってなるだけで完全には消えないんですね。ビデオ再生時もずっといるので目障りで仕方ありません。

HideBarというアプリを使うといいんじゃない?と、http://wiki.xbmc.org/index.php?title=XBMC_for_Android_specific_FAQ で説明されています。ストアには有料版がアップされていますが、無料(デモ)版がいいのでhttp://ppareit.github.com/HideBar/ から、デモバージョン入手してインストールします。たまにバナーが表示されたりしますが気にしません。

それより、これを動かすにはOSがルート化されている必要があるようです。自分は以前の記事の際にやったので大丈夫でしたが、もっと簡単な方法ないですかね。

HideBarとXBMCが連動しているわけではないので、きれいにフルスクリーン化するには手順がちょっとあります。
  1. XBMCが起動していないこと。リジューム状態ではだめです。
  2. HideBarでナビゲーションバーを消す。
  3. XBMCを起動する
すると画面全体をXBMCが使うようになりますので、ビデオ再生でTV画面全部使ってくれます。
逆に、この状態でナビゲーションバーを表示させると、XBMCが上にずれてしまいますが、またバーを消せば元に戻るんで大丈夫。この辺はOS仕様ともに改善されるといいんですが。


advancedsettings.xmlで設定

このファイルにデフォルトを変更するユーザ設定を色々書いてuserdataフォルダに置いておけば反映します。詳細はhttp://wiki.xbmc.org/index.php?title=Advancedsettings.xml

用意したxmlファイルをAndroidの所定の場所にコピーしてXBMCを再起動すれば反映されます。

adbでコピーするなら、コネクトして
$ adb push advancedsettings.xml /sdcard/android/data/org.xbmc.xbmc/files/.xbmc/userdata
ストレージマウントしてコピーしても同じです。

自分は以下の設定を行いました。

<splash>

splashをfalseにすると起動時にスプラッシュロゴ表示がなくなります。

<video>

シーク時間設定
これが出来ないと自分にとって何の意味もないんですが、XBMCはちゃんとできます。

左右キーでのシーク時間変更 timeseekforward と timeseekbackward
上下キーでのシーク時間変更 timeseekforwardbig と timeseekbackwardbig

これ以外にもvideoタグ内では色んな設定が出来ますね。

<videodatabase> と <musicdatabase>

ビデオデータベース変更

ライブラリとか視聴記録とかの管理データを、内臓データベース(SQLite3)から外部データベースへ変更することが出来ます。
メリットは、データベースを外部に持つことで複数のXBMC端末からライブラリを共有できるようになることかなと思いますが、自分が考えているのは、地デジ録画システムから視聴した場合でも情報が連動するように出来たらいいなぁと思ってます。


実際にXBMCに食わせたadvancedsettings.xmlがこちら
<advancedsettings>

<splash>false</splash>

<video>
  <timeseekforward>30</timeseekforward>
  <timeseekbackward>-30</timeseekbackward>
  <timeseekforwardbig>60</timeseekforwardbig>
  <timeseekbackwardbig>-60</timeseekbackwardbig>
</video>

<videodatabase>
  <type>mysql</type>
  <host>{MYSQLサーバーIPアドレス}</host>
  <name>xbmc_video</name>
  <user>xbmc</user>
  <pass>xbmc</pass>
</videodatabase>

<musicdatabase>
  <type>mysql</type>
  <host>{MYSQLサーバーIPアドレス}</host>
  <name>xbmc_music</name>
  <user>xbmc</user>
  <pass>xbmc</pass>
</musicdatabase>

</advancedsettings>


MySQLサーバー側の設定

$ mysql -uroot -p

# ローカルホストとLAN上のホストからアクセス可能なユーザ'xbmc'を作成
create user 'xbmc'@'localhost' identified by 'xbmc';
create user 'xbmc'@'192.168.1.%' identified by 'xbmc';

# 'xbmc'ユーザにデータベース作成権を与える
grant all on *.* to 'xbmc'@'localhost';
grant all on *.* to 'xbmc'@'192.168.1.%';

flush privileges;
exit;

別ホストからアクセスできるように設定変更

$ sudo emacs /etc/mysql/my.conf
bind-addressの行をコメントアウト
$ sudo service mysql restart
リスタート

ポイントは、'xbmc_video'とか、自分でデータベースを作ってはいけないということ。
XBMCがデータベース自体を作成します。最初これを理解していませんでした。

デバッグログ出力を有効にして、/data/data/org.xbmc.xbmc/cache/temp/xbmc.log を読んでエラー箇所を見つけてやっと理解しました。自ら作ろうとしてるぞ?!ってね。

作成できるように強い権限を与える必要があるため、上のように、localhostとLAN内からのアクセスに限定しています。

古いバージョンデータベースを見つけたらアップデートは勝手にやってくれるようですね。空っぽのxbmc_videoDBを最初作ってしまったものだから権限与えてもエラーになっていて、ちょっとハマりました。

advancedsettings.xmlでデータベース名を'xbmc_video'って書いてありますが、データベース名のprefixを指定しているにすぎません。実際のデータベース名はXBMCのライブラリバージョンごとに変わるようです。
実際には'xbmc_video75'と'xbmc_music32'というのがXBMCによって作られました。
最後の数字はライブラリバージョンらしいです。

これで地デジ録画サーバー上のMySQLにXBMCのライブラリが共存するように出来たので、視聴記録の連動とかがしやすいかな。

次はある意味、設定変更なんですが、再ビルドしないとならない自分勝手な変更を行う内容を書く予定。


追記

この記事を書いているときに、MK803と呼ばれているものが出てるのを知りました。
性能変わらず値段は若干安いようですが、気になる点は、AVポートとして、HDMIではなく、CVBSとAudioLRミニジャックポートになっていることでしょうか。昔のTVに繋ぎたい人向け?
それと、Wifiがb/gだけになっているのもMK808の廉価版な感じですかね。


0 件のコメント:

コメントを投稿