BonDriver_LinuxMirakc のビルド~録画設定まで
1. ビルド
$ git clone https://github.com/matching/BonDriver_LinuxMirakc.git --recurse-submodules $ cd BonDriver_LinuxMirakc $ make
2. インストール
$ sudo cp BonDriver_LinuxMirakc.so /usr/local/lib/edcb $ sudo cp BonDriver_LinuxMirakc.so.ini_sample /usr/local/lib/edcb/BonDriver_LinuxMirakc.so.ini
3. BonDriver_LinuxMirakc.so.ini 編集
$ sudo vi /usr/local/lib/edcb/BonDriver_LinuxMirakc.so.ini
接続する Mirakurun/Mirakc との接続情報を修正する。同サーバで動作している場合はUnixドメインソケットで接続したほうがカーネル処理が軽量だと思われるのでおすすめですが、パーミッション(やファイルシステム名前空間とか)は注意。
4. チャンネルスキャン
$ /usr/local/bin/EpgDataCap_Bon -d BonDriver_LinuxMirakc.so -chscan
画面出力として、以下のような行が十数行~数十行(環境による)にわたり出力される。
Sig:6.45 D:0 S:0 sp:0 ch:1 ChScan "フジテレビ" 1/47 remain 460 sec :
Sig欄は本来シグナル(アンテナレベル)ですが、Mirakurun/Mirakcでは取得するインターフェースを持たないため、通信のビットレート(概算)を出力しています。そのため、この値が0のままとなるなら何かしらおかしい状況になっていますので、調査が必要です(放送停止時除く)
SetChannel:442:BonDriver_LinuxMirakc: Tuner unavailable (rc:0, resp:404)
のようなエラーがあった場合、うまくチャンネル拾えていません(mirakc(mirakurun)が返すチャンネルをすべてスキャンする仕組みになっていますが、そのチャンネルから応答がない状態)。
チャンネルスキャンにより以下2ファイルが作成されます。
/var/local/edcb/Setting/BonDriver_LinuxMirakc(LinuxMirakc).ChSet4.txt
/var/local/edcb/Setting/ChSet5.txt
Mirakurun/Mirakc で使用しているチューナーが地上波のみ、もしくは、BS/CSのみ、もしくは、地上波/BS/CSで共用するチューナ数であればこのままサービス起動して使っていいので、次のセクションに進んでください。
EDCBではBonDriver単位でチューナー数は設定できるのですが、地上波チューナ数・BS/CSチューナ数を個別に設定することはできないため、地上波とBS/CSで独立のチューナを使っている環境ではチューナ数をどう設定してもうまくいかない(使い切れない or チューナ不足になる)ため、以下の対応が必要となります。
(補足)例えば PX-W3U4 (地上波独立2ch, BS/CS独立2ch)のチューナをMirakurun/Mirakcで管理している場合、単純に BonDriver_LinuxMirakc のチューナ数を 4 に設定すると、EDCB上は地上波も4ch予約できるような扱いになってしまい、また逆に BonDriver_LinuxMirakc のチューナ数を 2 に設定すると 地上波を同時録画しているだけで、BS/CSが録画できなくなる
地上波のみの BonDriver_LinuxMirakc_T と BS/CSのみのBonDriver_LinuxMirakc_S という(仮想)BonDriverに分割する作業を行います。
BonDriver_LinuxMirakc_T/BonDriver_LinuxMirakc_SというBonDriverを作成
$ sudo ln -s /usr/local/lib/edcb/BonDriver_LinuxMirakc.so /usr/local/lib/edcb/BonDriver_LinuxMirakc_T.so $ sudo ln -s /usr/local/lib/edcb/BonDriver_LinuxMirakc.so /usr/local/lib/edcb/BonDriver_LinuxMirakc_S.so $ sudo ln -s /usr/local/lib/edcb/BonDriver_LinuxMirakc.so.ini /usr/local/lib/edcb/BonDriver_LinuxMirakc_T.so.ini $ sudo ln -s /usr/local/lib/edcb/BonDriver_LinuxMirakc.so.ini /usr/local/lib/edcb/BonDriver_LinuxMirakc_S.so.ini
EDCB上の設定ファイルの分割
$ cp '/var/local/edcb/Setting/BonDriver_LinuxMirakc(LinuxMirakc).ChSet4.txt' '/var/local/edcb/Setting/BonDriver_LinuxMirakc_T(LinuxMirakc).ChSet4.txt' $ cp '/var/local/edcb/Setting/BonDriver_LinuxMirakc(LinuxMirakc).ChSet4.txt' '/var/local/edcb/Setting/BonDriver_LinuxMirakc_S(LinuxMirakc).ChSet4.txt'
$ vi '/var/local/edcb/Setting/BonDriver_LinuxMirakc_T(LinuxMirakc).ChSet4.txt'
→ 地上波の放送局のみ残し他は削除する。
$ vi '/var/local/edcb/Setting/BonDriver_LinuxMirakc_S(LinuxMirakc).ChSet4.txt'
→ 地上波の放送局を削除する。
5. サービス起動
$ vi /var/local/edcb/EpgTimerSrv.ini
→ httpを許可するソースアドレスを環境に合わせて設定する
$ vi /var/local/edcb/HttpPublic/legacy/util.lua
→ ALLOW_SETTING を false から true に変更する
$ /usr/local/bin/EpgTimerSrv &
EDCBアプリ上の設定
ブラウザから ”http://{IPアドレス}:5510/” を入力し、BonDriverの設定に進む。
チューナ数は0になっている。
地上波のみ、もしくは、BS/CSのみ、もしくは、地上波/BS/CSで共用するチューナ の方は
BonDriver_LinuxMirakc.so のチューナ数を適切に設定して設定
逆に地上波とBS/CSで独立チューナを使っている場合は、
BonDriver_LinuxMirakc_T.so と BonDriver_LinuxMirakc_S.so にそれぞれのチューナ数を設定し、BonDriver_LinuxMirakc.so はチューナ数0のままで設定。
再起動しないと有効にならないため
$ kill (EpgTimerSrvのPID)
ちょっと待ってから再度起動
$ /usr/local/bin/EpgTimerSrv &
EPG取得 ボタンを押下し取得できればOK。
参考