So-net無料ブログ作成
検索選択

OpenELEC+ISDB対応パッチ [録画・再生]

OpenELECの操作に必要なのはリモコン(MCE)のみなので、家電感覚で便利に使わせて貰っている。ただ映画などで音声が再生されない場合には不便、Ubuntu上のXBMCであれば即Mplayer(DTV関連ツールのもの)に切換えてその場をしのいで来たが、こちらでは別PCを立ち上げてからと言うことになる。そこで、このMplayer(DTV関連ツール)用のISDB対応パッチをOpenELECへ適用することにした。まず最初にここを参考にソースからビルドし、変更を加えるためのベースとなる環境を構築した。因みにビルドはUbuntu(Oneiric)上で行った。
$ sudo apt-get install g++ nasm flex bison gawk autopoint gperf autoconf automake m4 cvs libtool byacc texinfo gettext zlib1g-dev libncurses5-dev libxml-parser-perl
$ git clone https://github.com/OpenELEC/OpenELEC.tv.git
$ cd OpenELEC.tv
$ PROJECT=ION ARCH=x86_64 make release
$ ls target/
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.kernel
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.system
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.tar.bz2
正常に終了すれば「target」以下に上記3ファイルが生成されるが、ベースとする環境の構築が目的なので、今回はこれらは使用しない。あと小さいとは言えOpenELEC自体が一つのディストリビューション、必要なファイルのダウンロードとコンパイルを繰返しながらなので初回は3時間以上(CPU:i5-2405S)かかった。
これをベースに変更を加えることになるが、前述ISDB対応パッチの他に日本語フォントの追加も行った。デフォルトの日本語フォントでは表示されない文字があるためである。(例えば「〜」が「□」となってしまう)
最初にISDB対応パッチであるが必要なのは「ffmpeg」関連のみになる。
$ wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0719.zip
$ wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0799.zip
$ unzip up0719.zip
$ unzip up0799.zip
$ mkdir xbmc-patches/
$ cp mplayer-patches-0.97/000[1-3]* xbmc-patches/
$ cp mplayer-patches-0.97/001[0-3]* xbmc-patches/
$ cp mplayer-patches-0.98/0014* xbmc-patches/
$ ls xbmc-patches/
   0001-make-AAC-playout-robust-against-irregular-input.patch
   0002-add-support-for-audio-channel-reconfiguration.patch
   0003-add-switching-auto-selection-features-for-dual-mono-.patch
   0010-fix-sample-rate-calculation-in-SBR-AAC-HE-AAC.patch
   0011-detect-channel-config-change-on-a-stereo-dmono-switc.patch
   0012-fix-the-problem-of-not-allocated-channel-element-in-.patch
   0013-decrease-verbosity-of-an-error-message.patch
   0014-check-the-decoded-result-of-PCE.patch
ここで「0001」から「0003」については「ffmpeg」以外の不要部分を削除してからパッチを当てた。
$ tar xvfJ OpenELEC.tv/sources/xbmc/xbmc-f76c547.tar.xz (xbmc以下のf76c547は可変)
$ cd xbmc-f76c547/ $ patch -p1 < ../xbmc-patches/0001-make-AAC-playout-robust-against-irregular-input.patch
・・・・・・
「0001」から「0003」は「rej」ファイルから手による修正が必要、修正はその都度してから次のパッチを当てるようにした。(2012.3.11追記:まとめたパッチをこちらに置いておいた)
全てのパッチを当てたらxbmcを元の位置へ、
$ cd ../../
$ tar cvfJ xbmc-f76c547-patched.tar.xz xbmc-f76c547/
$ cp xbmc-f76c547-patched.tar.xz OpenELEC.tv/sources/xbmc/xbmc-f76c547.tar.xz
次に日本語フォントの追加であるが使用したいフォントを
$ cp /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf OpenELEC.tv/packages/mediacenter/xbmc/fonts/Arial.ttf
のようにしておけば良い。ここまで用意したら、
$ cd OpenELEC.tv/
$ make clean
$ PROJECT=ION ARCH=x86_64 make release
$ ls target/
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.kernel
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.system
OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.tar.bz2
これでISDB対応と日本語フォントが追加されたカーネル・ルートイメージ(kernel、system)が作成される。アップデートはOpenELECマシンのIPアドレスが「192.168.1.x」だとすると
$ scp target/OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.kernel root@192.168.1.x:.update/KERNEL
$ scp target/OpenELEC-ION.x86_64-devel-20120211xxxxxx-rxxxx.system root@192.168.1.x:.update/SYSTEM
このあとOpenELECマシンを再起動し、オープニングメニュー画面が正常に表示されれば完了である。これで以前、音声が出なかった番組の再生や一部表示されなかった番組名の表示も正常に行われることが確認できた。特にTSファイルの音声再生の改善には非常に満足している。後日、UbuntuのxbmcにもISDB対応パッチを適用したいと思っている。

タグ:ION xbmc OpenELEC
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。