2016-10-09

Chinachu Beta サーバに Mirakurun 導入してみた。

運用中の Chinachu サーバに Mirakurun (+ Rivarun) を導入し「Mirakurun with Rivarun on Chinachu Beta」を実現した。
その時の覚書。 (設定とかね。)

あと、「Chinachu with Mirakurun Sleep Script」についても。



というわけで、サクッと。
基本的に公式ページの流れに沿ってますが。

環境としては CentOS 7 だけど、あんまり関係ないかな。



Chinachu Beta のサービス停止を停止します。

# service chinachu-operator stop
# service chinachu-wui stop



続いて、Mirakurun と必要なプログラムを導入していきましょう。



Node.js 6.x 系レポジトリ追加。CentOS 7 標準のリポジトリだと随分古いバージョンしかインストールできない。
# root になってからインストールしないと失敗した (つまり、sudo だと失敗) けど、私の環境だけ?

# curl -sL https://rpm.nodesource.com/setup_6.x | bash -


Node.js インストール。

# yum install nodejs


Node.js の動作&バージョン確認。公式ページにかかれているバージョン以上ならOK。

# node -v


PM2 (Node.js デーモン化ツール) のインストール。

# npm install pm2 -g


Mirakurun のインストール。

# npm install mirakurun -g --unsafe --production



続いて設定。



Mirakurun サーバ設定。

# mirakurun config tuners


Mirakurun チューナ設定。

# mirakurun config tuners

# 公式とは異なり recpt1 でデコードする設定になってます。



Mirakurun チャンネル設定。

# mirakurun config channels

内容はこちらを参考に。
不要な項目は消す or 「isDisabled: true」にする。


firewalld が有効な場合には、ポートの許可も。

# firewall-cmd --add-port=40772/tcp --zone=public
# firewall-cmd --permanent --add-port=40772/tcp --zone=public
# firewall-cmd --reload
# firewall-cmd --list-all

# systemctl restart firewalld



Mirakurun 単体では、Chinachu Beta から録画コマンドを叩けないので、Rivarun の導入が必須。
というわけで、導入。



Rivarun のインストール

# npm install rivarun -g


チャンネル取得状況の確認。
チャンネルのリストが埋まればOK。

# rivarun --list


arib-b25-stream-test のインストール。
# ちなみに recpt1 で --b25 オプションをつけてデコードするなら不要 (なはず)。このページにある config ファイルは使わない状況を想定した仕様。

# npm install arib-b25-stream-test -g --unsafe



さらに、Chinachu Beta が Rivarun を使って録画できるように、Chinachu Beta の設定をば。



Chinachu WUI の設定から下記項目を追加・変更のこと。

schedulerMirakurunPath
schedulerEpgRecordTime
tuners

内容はこちらを参考に。
内容としては、PT3 (STZ版 rectp1) 向け、Mirakurun (arib-b25-stream-test) でのデコードはしない設定。


最後に Chinachu Beta のサービス起動します。

# service chinachu-operator start
# service chinachu-wui start



というわけで、構築終了。

rivarun コマンドで録画がうまくいくかチェックはしておいたほうがいいでしょう。
# 検証用スクリプトはこちらを参照。rivaruntest.sh ってやつね。

問題が発生した場合には、rectp1 での録画も試し、どちらの問題か切り分けすべきです。流れはこんな感じでしょうか。

  • lsmod | grep pt3_drv
    • PT3 ドライバがインストールされているか
      • されていないなら、インストール。
  • ls /dev/pt3video*
    • PT3 が認識されているか
    • また Linux Kernel v3.18 以降の場合 (uname -r でチェック) には、earth-pt3 というドライバが入るので、こちらを使うのもあり。recdvb コマンドを録画コマンドとして使うことになるかと。ls /dev/dvb/adapter* で認識しているか確認できるはず。 (※ CentOS 7 は現在 Kernel v3.10 なので関係ない)
  • recpt1 --b25 --device /dev/pt3video2 --strip 27 10 recpt1_gr_test.ts
    • 地上波 (↑はNHK-G 東京) 録画テスト。録画したファイルを実際に再生して確認すべき。
  • recpt1 --b25 --device /dev/pt3video0 --strip 101 10 recpt1_bs_test.ts
    • 衛星放送 (↑はNHK BS1) テスト。地上波同様、実際に再生のこと。地上波はうまくいくのに衛生波が見られない場合には「--lnb 15」オプションを付けて給電すると解決したり。
  • rivarun --sid 1024 --ch GR/27 10 rivarun_test_gr.ts
    rivarun --sid 101 --ch BS/BS15_0 10 rivarun_test_bs.ts
    • rivarun でのテスト。



また、録画中以外はシステムをスリープさせておきたいという方は、「Chinachu with Mirakurun Sleep Script (β)」をご利用いただければと。 「Chinachu Sleep Script (β)」をすでに導入されている方は、

  • /usr/local/bin 配下のそれっぽいファイル (chinachu-api-get-connected-count、chinachu-api-get-next-time、chinachu-api-is-recording、chinachu-check-status)
  • /var/spool/cron/root のそれっぽい行 (# crontab -e で編集可)
  • 電源管理関連のスクリプト (/etc/pm/sleep.d/80-chinachu-sleep or /usr/lib/systemd/system-sleep/chinachu-sleep)
  • インストールファイル群 (/usr/local/src/chianchu-ss)

を削除してから導入してくださいね。



【 参考・関連リンク 】


0 件のコメント :

コメントを投稿