CentOS7.4 + PLEX PX-Q3U4 に Chinachu γ を構築してみた。
- 2018/04/20
- 02:05

前回の記事:CentOS7.4 + Intel Media Server Studio 2018 R1 + PLEX PX-Q3U4 を使って QSV対応Linux録画サーバー を構築してみた。 の続きです。
録画してQSVエンコードって環境を目指しています。
QSVの前にまずは chinachu γ のセットアップからですね。
実験機の備忘録なのでそこかしこが適当なので注意です。
![]() |

QSV用のアップデート対策
とりあえずカーネルあがるのを止めておけばいいかなという適当さで。
ついでに起動設定も足しておきます。
その後、全てシステムアップデートしています。
# nano /etc/yum.conf
…
distroverpkg=centos-release
exclude=kernel* centos*
# nano /etc/sysconfig/kernel
…
UPDATEDEFAULT=no
NTP
先にNTPを設定しちゃいます。
# yum -y install ntp
# nano /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
# systemctl start ntpd
# systemctl enable ntpd
# ntpq -p
Mirakurun インストール
chinachu γ をいれるための、Mirakurun をいれるための、Node.js をいれます。
https://github.com/Chinachu/Mirakurun/blob/master/README.md
を確認すると「Node.js ^8.9.4 < 9」とあるのでまずはバージョン指定してインストールですね。
# curl -sL https://rpm.nodesource.com/setup_8.x | bash -
# yum update
# yum -y install nodejs
# node -v
v8.11.1
続いて Mirakurun のインストールです。
# npm install pm2 -g
# npm install mirakurun -g --unsafe --production
# npm install rivarun -g
# npm install arib-b25-stream-test -g --unsafe
# pm2 status
┌──────────────────┬──────┬────────┬───┬─────┬───────────┐
│ Name │ mode │ status │ ↺ │ cpu │ memory │
├──────────────────┼──────┼────────┼───┼─────┼───────────┤
│ mirakurun-server │ fork │ online │ 0 │ 0% │ 52.9 MB │
└──────────────────┴──────┴────────┴───┴─────┴───────────┘
設定はデフォルトのままでよいとして、チューナー設定は必要ですね。
PT3の設定が出てきたのでずばっと消して PLEX PX-Q3U4

channels.ymlはまぁ適当に。
# nano /usr/local/etc/mirakurun/tuners.yml
- name: PX4-S1
types:
- BS
- CS
command: recpt1 --device /dev/px4-DTV0 --lnb 15 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-S2
types:
- BS
- CS
command: recpt1 --device /dev/px4-DTV1 --lnb 15 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-T1
types:
- GR
command: recpt1 --device /dev/px4-DTV2 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-T2
types:
- GR
command: recpt1 --device /dev/px4-DTV3 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-S3
types:
- BS
- CS
command: recpt1 --device /dev/px4-DTV4 --lnb 15 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-S4
types:
- BS
- CS
command: recpt1 --device /dev/px4-DTV5 --lnb 15 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-T3
types:
- GR
command: recpt1 --device /dev/px4-DTV6 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX4-T4
types:
- GR
command: recpt1 --device /dev/px4-DTV7 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
反映させておきます。
# mirakurun restart
【問題メモ1】
後続で気づきますが、EPGが取得できませんでした(汗)
エラーログ(/usr/local/var/log/mirakurun_strerr.log)を確認すると
「Error: spawn recpt1 ENOENT」となっています。
recpt1のパスが通っていないのかなと。
recpt1 は /var/local/bin にあるので…ああ、sudo で動くのですね。
ということで実行ユーザーのPATHを引き継ぐように設定します。
一行追加、一行コメントアウトします。
EPG情報を取得した結果、エラーログも出ずに正常になりました。
$ sudo visudo
…
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults env_keep += "PATH"
…
#Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
…
【問題メモ2】
再起動後、自動起動していなかったので強引に設定します(笑)
# chmod u+x /etc/rc.d/rc.local
# nano /etc/rc.d/rc.local
…
touch /var/lock/subsys/local
/bin/su - root -c "mirakurun restart"
exit 0
Chinachu γ インストール
さて、Chinachu γ のインストールです。
実行ユーザーですが、QSV環境を入れていたユーザーを入れていけばいいかなと思います。
インストールは Auto (full) を選択しました。
設定も uid にユーザー名だけ入れて軽やかにスルーします。
$ git clone -b gamma git://github.com/kanreisa/Chinachu.git
$ cd Chinachu
$ ./chinachu installer
Chinachu Installer Menu:
[!] These are installed under all /home/hogehoge/Chinachu/...
[!] Recommend the Auto installation.
1) Auto (full) 3) Node.js Environment 5) ffmpeg
2) submodule 4) Node.js Modules
what do you install? > 1
…
ffmpeg --> done.
$ echo "[]" > rules.json
$ cp config.sample.json config.json
$ nano config.json
uid : "hogehoge"
あとはログ管理です。
特にこだわりもないので適当です。
# pm2 install pm2-logrotate
# nano /etc/logrotate.d/chinachu
/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
compress
rotate 4
missingok
notifempty
}
そして起動確認したのち、起動です。
ステータスでも確認しましたが特に問題なさそうですね。
最後に保存して完了です。
$ ./chinachu service operator execute
Client {
basePath: '/api',
priority: 2,
host: '',
port: 40772,
socketPath: '/var/run/mirakurun.sock',
userAgent: 'Chinachu/0.9.5-gamma.0 (operator)',
_userAgent: 'MirakurunClient/2.7.0 Node/v6.11.2 (linux)' }
18 Apr 21:43:33 - MKDIR: ./recorded/
18 Apr 21:43:33 - READ: `/home/hogehoge/Chinachu/data/reserves.json` is updated.
18 Apr 21:43:33 - READ: `/home/hogehoge/Chinachu/data/recorded.json` is updated.
…
# pm2 start processes.json
[PM2][WARN] Applications chinachu-wui, chinachu-operator not running, starting...
[PM2] App [chinachu-wui] launched (1 instances)
[PM2] App [chinachu-operator] launched (1 instances)
┌───────────────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├───────────────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ chinachu-operator │ 3 │ fork │ 19788 │ online │ 0 │ 0s │ 49% │ 5.2 MB │ root │ disabled │
│ chinachu-wui │ 2 │ fork │ 19782 │ online │ 0 │ 0s │ 99% │ 7.3 MB │ root │ disabled │
│ mirakurun-server │ 0 │ fork │ 3891 │ online │ 0 │ 109m │ 0% │ 51.3 MB │ root │ disabled │
└───────────────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
Module activated
┌───────────────┬─────────┬────────────┬────────┬─────────┬─────┬─────────────┬──────┐
│ Module │ version │ target PID │ status │ restart │ cpu │ memory │ user │
├───────────────┼─────────┼────────────┼────────┼─────────┼─────┼─────────────┼──────┤
│ pm2-logrotate │ 2.4.0 │ N/A │ online │ 0 │ 0% │ 29.957 MB │ root │
└───────────────┴─────────┴────────────┴────────┴─────────┴─────┴─────────────┴──────┘
# pm2 save
【問題メモ3】
pm2で再起動後も自動起動するはず…と思ったのですがしないです。
status上stopになっているわけでもないです。
まぁ、やりたいことはここではないので、これまた強引に自動起動してしてしまいます。
リストを確認して完了です。
$ ./chinachu service operator initscript > /tmp/chinachu-operator
$ ./chinachu service wui initscript > /tmp/chinachu-wui
$ cd /tmp
$ sudo chown root:root chinachu-*
$ sudo chmod 755 chinachu-*
$ sudo mv chinachu-* /etc/init.d/
$ su
# chkconfig --add chinachu-operator
# chkconfig --add chinachu-wui
# chkconfig --list chinachu-operator
# chkconfig --list chinachu-wui
EPG情報を取得します。
なんか段階的に取得しましたが、そんな感じなんですかね。
$ ./chinachu update
あとは実際にアクセスして画面が出て終了です。
デフォルトなので http://192.168.XXX.XXX:20772 で見れました。
テスト録画も試しましたが特に問題ありませんでした。
sidはlistで確認した値をいれました。
$ rivarun --list
$ rivarun --b25 --sid 12345 --ch GR/16 15 test.ts
status: 200
headers: {"server":"Mirakurun/2.7.0","content-type":"video/MP2T","date":"Wed, 18 Apr 2018 15:03:26 GMT","connection":"close","transfer-encoding":"chunked"}
所感
とりあえずセットアップをやってみました。
ところどころ調査をせずに解決した箇所もありましたが
リアルタイム視聴ができるところまでできました。
予約などは追々確認していこうかと思います。
PLEX PX-Q3U4

まぁすぐに止まりますが。
やはりクアッドチューナーというのが無理があるのでしょうか。
とはいえいまのところ動作・映像的には特に問題無い感じです。

- 関連記事
-
- CentOS7.4 + PLEX PX-Q3U4 で Chinachu γ + QSVエンコード をやってみた。 (2018/04/22)
- BRIX s (i3-6100U) を 8GB から 16GB(8GB x 2) にしたらQSVの速度がまともになった話。 (2018/04/21)
- CentOS7.4 + PLEX PX-Q3U4 に Chinachu γ を構築してみた。 (2018/04/20)
- CentOS7.4 + Intel Media Server Studio 2018 R1 + PLEX PX-Q3U4 を使って QSV対応Linux録画サーバー を構築してみた。 (2018/04/17)
- BRIX s (i3-6100U) + CentOS7 + Intel Media Server Studio 2017 R3 で QSV を使ってみた。 (2018/03/17)
- foltiaのCentOSをアップグレード。CentOS 6.7 で動かしてみた。 (2015/09/05)
- Firefoxアドオンを使って UNCパス からフォルダを開けるようにしてみた。(xpi作成編) (2015/08/19)

BRIX s (i3-6100U) を 8GB から 16GB(8GB x 2) にしたらQSVの速度がまともになった話。 ホーム
CentOS7.4 + Intel Media Server Studio 2018 R1 + PLEX PX-Q3U4 を使って QSV対応Linux録画サーバー を構築してみた。