NUCでChinachu γの安定動作ができた件
【概要】
前回、RaspberryPi3に導入しようとしていたChinachu γをNUCにインストールした。
この結果、安定的に動作することが確認できた。
やはり一定以上のスペックは必要なようだ。
【作業環境・パッケージ】
- NUC (NUC7PJYH)
- Debian (カーネル:4.19.12-1~bpo9+1)(NUC7PJYHのHDMI Audioに対応させるためBackports版を利用)
- Nodejs v10.15.1
- Mirakurun 2.8.4(コミット:ed205a71adb1486e9f0a634dccc7b234a9890206(2019/01/30))
- Chinachu γ 0.9.5(コミット:721615b52fec4a5056a5f4769cc1faf52d9275a4(2019/02/06))
【行った作業】
前回記事の内容・Chinachu Github Wikiの内容をベースに作業する。
-
epgdatacapbon氏バージョンのrecdvbの導入
オリジナルのrecdvbでは、チャンネル・SIDの指定方法がrecpt1とは異なっているが、これがChinachu γを導入するにあたっては障壁となるので、各種指定をrecpt1に合わせているrecdvbを導入する。
前回では、dogeel氏のものを使用していたが、今回はforkされたepgdatacapbon氏のものを利用する。
ただし、b25ライブラリがlibarib25→libaribb25に変更になっている点に注意する。 -
最新版node.jsの導入
まずapt-get purge nodejs
で最新版とコンフリクトする旧バージョンを削除し、
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
sudo apt-get install -y nodejsを実行し、apt-getから最新版のnode.jsを落とせるようにする。
-
Mirakurunと必要なパッケージをインストール
sudo npm install pm2 -g
sudo pm2 startup
sudo npm install mirakurun -g --production
sudo mirakurun init
sudo mirakurun restartでインストール
-
b25-stream.sh作成
b25-stream.sh · GitHubを参考にして、b25-stream.shを/usr/local/binに作成する。sudo nano /usr/local/bin/b25-stream.sh
を実行し、
#!/bin/sh
sh -c cat | b25 -v 0 /dev/stdin /dev/stdout | catの内容で保存。
続いて、sudo chmod +x /usr/local/bin/b25-stream.sh
を実行し、実行可にする。
-
Mirakurunセットアップ
sudo EDITOR=nano mirakurun config server
を実行し、
port: 40772⇒適当なポート番号に変更
続いて、
sudo EDITOR=nano mirakurun config tuners
を実行し、
- name: PX-S1UD-1
types:
- GR
command: recdvb --dev 0 <channel> - -
decoder: b25-stream.sh
isDisabled: false
- name: PX-BCUD-1
types:
- BS
- CS
command: recdvb --dev 1 <channel> - -
decoder: b25-stream.sh
isDisabled: falseを追記。
また、/usr/local/etc/mirakurun/channels.ymlを
Gamma Installation V2 · Chinachu/Chinachu Wiki · GitHubや再編後のチャンネルに対応 · GitHub
あたりを参考に設定。
この後、sudo mirakurun restart
を実行する。
- Chinachu γインストール
まず、Chinachu γインストールに必要パッケージを
sudo apt-get install git-core vainfo
を実行して、インストール。
続いて、
git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
でChinachuを(とりあえず)インストールする。
cd ~/chinachu/
./chinachu installer
最後に、
./chinachu service wui execute
を実行してみて、以下のようなエラーが出ないことを確認する。
Error: Cannot find module '.....'
出た場合、
npm install .....
で不足モジュールをインストールする。 - Chinachu設定ファイルの作成
cp config.sample.json config.json
を実行する。
echo [] > rules.json
config.jsonの設定に関しては、Gamma Configuration · Chinachu/Chinachu Wiki · GitHubを参考に設定する。
次に、
./chinachu service wui execute
を再度実行し、ChinachuのWeb UIにアクセスできることを確認する。 - Chinachuが自動起動するようにする
自環境ではChinachu導入時に、.nave内にnodejsの実行ファイルが生成されなかったので、前準備として、以下のコマンドでnodejsの実行ファイルを持ってくる。(.nave/node・.nave/npmのリンク先を確認しておくこと。)
mkdir .nave/installed/<nodejsのバージョン>/bin
続いて、以下のコマンドで、スタートアップ時にChinachuを起動するようにする。
cp /usr/bin/node .nave/installed/<nodejsのバージョン>/bin
cp /usr/bin/npm .nave/installed/<nodejsのバージョン>/bin
sudo pm2 start processes.json
sudo pm2 save - ログローテーションの設定をする。
yoki氏のブログ記事(1・2)によると、Mirakurun・Chinachuともに(というかpm2で動作しているプロセス)は、自動でログローテーションはしないそうなので、設定しておく。
以上のブログ記事ではログローテーションに「pm2-logrotate」が必要とされているが、PM2 — Log HandlingやPM2 - Log Managementなどを見る限り、システムのlogrotateに頼れば不要のようだ。
ということで、/usr/lib/node_modules/pm2/lib/templates/logrotate.d/pm2を参考にして以下のように設定。
sudo pm2 logrotate -u root
sudo nano /etc/logrotate.d/pm2-root
####以下を追記
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
weekly
rotate 4
missingok
notifempty
compress
delaycompress
copytruncate
create 0644 root staff
}
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
{
daily
rotate 7
missingok
notifempty
compress
delaycompress
copytruncate
create 0644 root staff
}
【結果】
結果として、導入から数日経った今も安定的に動作している。
また、PX-S1UDとPX-BCUDに加えて、US-3POUTを付け足しても安定動作することを確認した。
なお、BonDriver_Mirakurun+TVTestでも安定して見れることを確認した。
RaspberryPiでの動作時のような途切れも発生しておらず、スペックの差を感じている。
NUCの動作音も気にならない程度なので、リビング動作させてもOKで満足している。
製品紹介(Amazon.co.jpアソシエイト)-----------------
インテル Intel Celeron プロセッサを搭載した Intel NUC キット BOXNUC7PJYH
- 出版社/メーカー: インテル
- 発売日: 2018/05/11
- メディア: Personal Computers
- この商品を含むブログを見る
PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0
- 出版社/メーカー: PLEX
- 発売日: 2015/09/10
- メディア: エレクトロニクス
- この商品を含むブログを見る
Digibest 地上デジタル・BS・110°CS 3波 +ワンセグ対応 USB接続 外付けチューナー さんぱくん外出 US-3POUT
- 出版社/メーカー: Digibest
- メディア: エレクトロニクス
- この商品を含むブログを見る