8回目 録画サーバー立った!Mirakrun+Chinashu

スポンサーリンク

こんにちは。一昨日初めてIT勉強会というものに参加してきて、モチベーションMAXのるなです。
ちなみに行って来たのはこちら

今日は、録画サーバーが単体で動くところまで頑張りたいと思います。

実はもうすでに数時間頑張っているんですが、最初の頃に色々頑張った形跡が邪魔をして、どうにもうまく動かず・・・。
まっさらな状態から、6回目の分を設定し直し、今、テスト録画が終わったところです(*´ω`*)
書き漏れがあったりしたので、更新かけています。
これで、書いてあるとおりにコピペしていけば、サーバーたてられます!

録画サーバーは、

6回目記載のものを全てインストール

Mirakurunをインストール

Chinachuをインストール

で、完成になります!

Mirakurunをインストール

Node.jsをインストール

(1)をしないと、最新のものが勝手にインストールされてしまうみたいです。
でも、対応しているバージョンを入れたいので、Mirakurunの公式サイトを確認して、10を入れることにしました。
setup_xxのxxに入れたいバージョンを指定してください。

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - ・・・・・・・・・・・・・・・(1)
$ sudo apt-get install nodejs

トラブルシューティングmemo

$ sudo apt-get install nodejs npm

npm(パッケージ管理ツールだそう)もついでにインストールしてって書いてあることが多かったので、↑を実行したのですが、↓のエラーが出るので断念。
npmのインストールをやめちゃえば、問題なくインストールできました。
欲しいのはnodejsだけなので、とりあえずこのまま進めていきます。

以下のパッケージには満たせない依存関係があります:
 nodejs : 競合: npm
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

PM2のインストール

$ sudo npm install pm2 -g
$ sudo pm2 startup

Mirakurunのインストール

改造するかしないかでインストールの仕方が変わります。
とりあえず、改造しない版のインストール。

$ sudo npm install mirakurun -g --unsafe-perm --production

こんなメッセージが出ればOK。
(1)がonlineになっていること。

---------------------------------------------------------------
| Name             | id | mode | status | ? | cpu | memory    |   ・・・・・・・・・・・・・・・・・・(1)
---------------------------------------------------------------
| mirakurun-server | 0  | fork | online | 0 | 0%  | 23.3 MB   |
---------------------------------------------------------------
 Use `pm2 show <id|name>` to get more details about an app
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
Thank you for using mirakurun!
If you rely on this package, please consider supporting our open collective:
> https://opencollective.com/Mirakurun/donate

+ mirakurun@2.11.0
added 170 packages from 101 contributors in 34.633s

チューナーの設定

Mirakurunのチューナーの設定をします。
これをすると、Mirakurunがチューナーを認識してくれます。

「tuners.yml」に以下を追記。
パスは「user/local/etc/mirakurun」の中です。
コマンドでするなら、こちら。
ただし、私の場合は、権限の問題かな?うまくできませんでした。

$ sudo mirakurun config tuners
- name: PX-S1UD-1
types:
- GR
command: recdvb --b25 --dev 0 <channel> - -
isDisabled: false

トラブルシューティングmemo

ファイルの追記がうまくできず、パーミッション確認したらrootしか修正できないようになっていました。
めんどくさかったので、rootでログインして直接変更。
修正できましたー!

チャンネルの自動設定

$ curl -X PUT "http://localhost:40772/api/config/channels/scan"

ヒットしないと(1)のようになりますが、ヒットすると(2)みたいになります。

channel: "15" ...
-> no signal. [Error: stream has closed before get network]   ・・・・・・・・・・・・・・・・・・(1)

channel: "16" ...
-> 3 services found.
-> {"name":"TOKYO MX","type":"GR","channel":"16"}   ・・・・・・・・・・・・・・・・・・(2)

確認

Mirakrunを再起動します。

$ sudo mirakurun status

再起動が出来たら、以下のAPIを実行します。
GETなので、curlでもいいし、ブラウザで実行してもOK。

http://[IPアドレス]:40772/api/channels

結果がこんな感じで帰ってくれば、チャンネルの登録はできています。

[{"type":"GR","channel":"16","name":"TOKYO MX","services":[{"id":3239123608,"serviceId":23608,"networkId":32391,"name":"TOKYO MX1"},{"id":3239123609,"serviceId":23609,"networkId":32391,"name":"TOKYO MX1"},{"id":3239123610,"serviceId":23610,"networkId":32391,"name":"TOKYO MX2"},{"id":3239123992,"serviceId":23992,"networkId":32391,"name":"MXワンセグ1"},{"id":3239123993,"serviceId":23993,"networkId":32391,"name":"MXワンセグ2"}]},{"type":"GR","channel":"18","name":"tvk","services":[]},{"type":"GR","channel":"21","name":"フジテレビ","services":[]}~略~]

[]みたいな、空っぽが返ってくる場合は、登録できていません。
↓のトラブルシューティング等を確認してみて下さい。

トラブルシューティングmemo

(1)のようなエラーが出る場合は、チューナーが正しく認識されていません。
「tuners.yml」を見直してください。
絶対「tuners.yml」があってるって場合は、そもそもチューナーが繋がってないかも。
recdvb単体でのテスト録画をしてみて下さい。

channel scanning... (type: "GR")

channel: "13" ...
-> no signal. [Error: no available tuners]   ・・・・・・・・・・・・・・・・・・・・・・(1)

channel: "14" ...
-> no signal. [Error: no available tuners]

channel: "15" ...
-> no signal. [Error: no available tuners]

Chinachuのインストール

やっと後半戦…。Chinashuを入れていきます。
↑のチャンネル登録までできていないと動かないので、終わらせてからこちらに進んでください。
インストールのタイプを聞かれるので、「All」を選びます。

git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
cd ~/chinachu/
./chinachu installer

設定

設定ファイルを作ります。
サンプルをコピーして、必要な部分だけ変更。

cp config.sample.json config.json
vim config.json

とりあえず、ユーザー名だけ変更して、残りは必要になったときに設定していきます。

"uid":null
→"uid":"pi"

空のルールファイルを作成。

echo [] > rules.json

起動

起動します。

./chinachu service wui execute
# 問題なく起動できたらCtrl+Cで終了

./chinachu update
# EPG取得テスト(エラーが出た場合は恐らく Mirakurun に接続できていません)

動作確認①wui

もう一度、起動コマンドをたたき、起動したまま以下のアドレスにアクセス。

./chinachu service wui execute
http://[IPアドレス]:20772/

……。

出たーーー!
嬉しい(*´ω`*)

動作確認②operator

chinachuは、2つのプロセスで動いていて、wui:↑の画面の表示。画面からの予約とか、ルールの設定とか。画面から動かすものを担当
operator:録画予約に従って、録画を実行のようです。
↓のように録画をしてみたのですが、operatorが起動していなかったので、録画されず…。
ちゃんとoperatorも起動してください!
ということで、コンソールをもう1つ開いて、↓こちらも実行

./chinachu service operator execute

とりあえず、適当な番組を予約してみることに!

ちょっと休憩…。
撮れたかどうかは、来週ご報告します(笑)

参考サイト

Mirakurunの公式サイト。

Chinachu/Mirakurun
A Modern DTV Tuner Server Service for ISDB. Contribute to Chinachu/Mirakurun development by creating an account on GitHub.

Chinachuの公式サイト。

Chinachu/Chinachu
Most Lovely DVR Software in Japan. Contribute to Chinachu/Chinachu development by creating an account on GitHub.

次回

次回は、ハードディスクを繋いでいきたいと思います。

6/23(日)up予定!

スポンサーリンク
スポンサーリンク
未分類
るなをフォローする
マイクロサービスの自由研究

コメント

タイトルとURLをコピーしました