Chinachuは衝撃的だった
初めて録画環境をLinuxに乗り換えようと奮起させてくれたのはChinachuのおかげでした。
ネットで情報を集めていくと結構なインストール例があって、導入もスムーズに行えたのもテンションが上がって楽しかったです。
設定を煮詰めて行くと。。。
しかし設定を煮詰めて行けば行くほど、痒い所に手が届かなくなり、「ここでエンコード設定変えられたらなぁ」とか「この放送はきっちり最後まで録画してほしいけど、こっちは頭削られても構わない」など欲しい機能が増えていきました。
すると最近開発が活発だとの噂を聞き調査をしたらEPGStationでした。
EPGStationはChinachuと似たような環境で作られているようですがUIがスマホ等から操作しやすいよう工夫されていたり、細かな所がなかなか良くできています。
でもまた環境を一からインストールしなおすのもちょっと・・・と思っていたので腰が重かったです。
今日試しに使ってみたいなという軽い気持ちでインストールしたら意外と簡単に乗り換えられたので紹介したいと思います。
元の環境はCentOS7、Node.jsが6(バージョン控えておくの忘れた)、Chinachu,Mirakurun,PT2という構成で話を進めて行きます。
Chinachuの停止
停止する前に今までルールを積み上げた人はどこか別にテキスト化して保存しておきましょう。jsonでよければrule.jsonを取っておくのもいいかもしれません。また録画中でない事を確認しましょう。(私録画1本飛ばしてしまいました。トホホ)
その後、私の環境はpm2による自動起動で動いていたのでpm2から停止させます。
1 2 3 4 5 |
pm2 status pm2 stop chinachu-wui chinachu-operator pm2 del chinachu-wui pm2 del chinachu-operator pm2 save |
そしてNode.jsもアップグレードするので今動いているmirakurun,pm2-logrotateも停止します。
1 2 3 |
pm2 stop mirakurun pm2 stop pm2-logrotate pm2 save |
Node.jsのアップグレード
stable版をインストールします。
1 2 3 |
curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum clean all yum -y install nodejs |
私の環境では一時node.jsがバージョンアップしてくれませんでした。再起動とか何度かしてから気が付いたのですがyumではキャッシュが残っている時があってrepoを追加しただけでは無理でした。ですのでyum clean allを実行しています。
1 2 |
# node -v v10.15.3 |
pm2他を最新のものにします。
1 2 3 4 5 |
npm install pm2 -g npm install mirakurun -g --unsafe --production npm install rivarun -g npm install arib-b25-stream-test -g --unsafe pm2 install pm2-logrotate |
現在のステータスを表示します。
1 |
pm2 status |
mirakurunとpm2-logrotateだけ動いていれば成功です。
チューナー設定等はChinachuで設定完了しているはずなのでそのまま続けます。
EPGStationにはffmpegが無い
Chinachuでvaapiを利用するためにコンパイルされた方なら問題ないのですがそれ以外の方は手動でインストールする必要があります。Centos7リポジトリのffmpegは古いのでこれを機会にインストールしてしまいましょう。インストールの仕方は
を読ませていただきました。
1 |
ffmpeg -version |
で/usr/local/binに入っているものと仮定します。
私のvaapi対応ffmpegの設定とかほしい方いますかな・・・。
mariadb(mysql)をインストール
Chinachuでは使われてない一つにmariadb(mysql)が必要になります。
sqlite等も使えるようですが、ここは例に従ってインストールしたいと思います。
1 |
yum install mariadb mariadb-server |
1 |
vi /etc/my.cnf |
書き換える内容としてはcharacter-set-server=utf8を追加します。
1 2 3 |
[mysqld] : character-set-server=utf8 |
その後
1 2 3 |
systemctl enable mariadb systemctl start mariadb mysql_secure_installation |
mysql_secure_installationの受け答えはなるべく「消せるものは消す」ということを概念に入れておいてください。
mariadbに入りDBとユーザを作っておきます。
1 2 3 |
# mysql -u root -p > create database epgstation; > grant all on epgstation.* to epgstation@localhost identified by 'パスワードを入力'; |
EPGStationのインストール
私はEPGStationをインストールするためにユーザーepgstationを作成しました。Chinachuと同じです。
1 2 3 |
useradd epgstation passwd epgstation su - epgstation |
そしてEPGStationをgit cloneしコンフィグファイルの例をコピーします。
1 2 3 4 5 6 7 8 |
$ git clone https://github.com/l3tnun/EPGStation.git $ cd EPGStation $ sudo npm install $ sudo npm run build $ cp config/config.sample.json config/config.json $ cp config/operatorLogConfig.sample.json config/operatorLogConfig.json $ cp config/serviceLogConfig.sample.json config/serviceLogConfig.json $ vi config/config.json |
config.jsonがviで開きますので以下の箇所を変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
"dbType": "sqlite3", ↓変更 "dbType": "mysql", 以下追加 "streamFilePath": "/tmp", "recorded": "/home/samba/video(録画ファイルを保存する場所に変える)", "mysql": { "host": "localhost", "port": 3306, "user": "epgstation", "password": "mariadbでユーザー追加した際に設定したパスワード", "database": "epgstation", "connectTimeout": 20000, "connectionLimit": 10 }, |
EPGStationをpm2から起動します。
1 2 3 4 5 6 |
$ exit # pm2 startup # pm2 status # pm2 start /home/epgstation/EPGstation/dist/server/index.js --name "epgstation" # pm2 save # pm2 status |
これでepgstation、mirakurun-server、pm2-logrotateがonlineになっていれば起動されています。
http://(サーバーIP):8888/
で開けば動作完了しています。何か適当な番組を手動で録画してみて下さい。エラーが出ていなければ完成です。
あとは使ってみて「ここは何ができるんだろう」とか設定をしていく形になるのでどんどん使っていきましょう。
推奨から外れますがこの方法ならChinachuにも戻る事もできなくはなさそうです。
コメント