Chinachu Air から Mirakurun を使用するみたいなので環境を構築してみた。
Mirakurun + Rivarun で Chinachu を動かし、TVTest を使用して Windows からも視聴できるようになります。
TOC
Mirakurun
kanreisa氏が作成した Nodejs で動いている Spinel とか BonDriverProxy みたいなもんです。
UnixSocket でも、TCPでも動かせます。
Rivarun
こちらも kanreisa氏が作成した Mirakurun のクライアントです。
ちなみに、Chinachu Air 用ではないらしいです。
BonDriver_Mirakurun
h-mineta氏が作成した TVTest で動かすための BonDriver です。
ソースファイルしか上がっていないのでビルドする必要があります。
MITライセンスなのでビルド済みを配布しておきます。
Download – BonDriver_Mirakurun
BonDriver_Mirakurun – github
構成
配信サーバー
OS | IP | チューナー | 構成 |
Ubuntu 14.04 LTS | 192.168.20.7 | PT2 | Mirakurun |
Chinachu サーバー
OS | IP | 構成 |
Ubuntu 16.04 LTS | 192.168.20.12 | Chinachu + Rivarun |
クライアント TVTest
OS | IP | 構成 |
Windows 10 x64 | 192.168.20.253 | TVTest + BonDriver_Mirakurun |
本当は 配信サーバーと、Chinachu サーバーは一緒が良かったんですけどどうも Chinachu を入れるのに失敗してしまい、VMに建てました。
配信サーバー
PT2 / PT3 ドライバーのインストールならびに、カードリーダー、recpt1 のインストールは他サイトを参考にしてください。
Mirakurun を構築するために Nodejs => 5.0.0 以上をインストールします。
nodejs と npm をインストール
npm を使うためにまずは最新ではないものをインストールします。
# apt-get install -y nodejs npm
n package をインストール
# npm cache clean # npm install n -g
n package を使って nodejs をインストール
n package を使うと最新の nodejs をインストールすることができるらしいです。
# n stable # ln -sf /usr/local/bin/node /usr/bin/node
最新版がインストールされたかを確認
# node -v v6.2.0 # npm -v 3.8.9
ちなみに npm は Ubuntu 標準のレポジトリからインストールしたものですが普通に動いているので大丈夫だと多分。
よく分からないです。
PM2 のインストール
# npm install pm2 -g
arib-b25 のインストール
# npm install arib-b25-stream-test -g --unsafe
Mirakurun のインストール
# npm install mirakurun -g --unsafe --production
Mirakurun の設定
最初はサーバーの設定
終了時は Shift + ZZ で上書き保存します。
# mirakurun config server path: /var/run/mirakurun.sock port: 8888 ←リッスンポート host: ~ ←全てのIPから受け付ける logLevel: 2
次はチューナーの設定
# mirakurun config tuners - name: PT2-S1 types: - BS - CS isPT2: true command: recpt1 --device /dev/pt1video0 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PT2-S2 types: - BS - CS isPT2: true command: recpt1 --device /dev/pt1video1 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PT2-T1 types: - GR isPT2: true command: recpt1 --device /dev/pt1video2 <channel> - - decoder: arib-b25-stream-test isDisabled: false - name: PT2-T2 types: - GR isPT2: true command: recpt1 --device /dev/pt1video3 <channel> - - decoder: arib-b25-stream-test isDisabled: false
isPT2 isDisabled command name は各自設定してください。
見て分かる通り recpt1 のインストールが必要です。
チャンネルの設定
# mirakurun config channels - name: MX type: GR channel: '16' - name: CX type: GR channel: '21' - name: TBS type: GR channel: '22' - name: TX type: GR channel: '23' - name: EX type: GR channel: '24' - name: NTV type: GR channel: '25' - name: NHK E type: GR channel: '26' - name: NHK G type: GR channel: '27' - name: NHK BS1 type: BS channel: BS15_0 serviceId: 101 - name: NHK BS1 (Sub) type: BS channel: BS15_0 serviceId: 102 - name: NHK BS Premium type: BS channel: BS15_1 serviceId: 103 - name: NHK BS Premium (Sub) type: BS channel: BS15_1 serviceId: 104 - name: BS Nippon type: BS channel: BS13_0 serviceId: 141 - name: BS Nippon (Sub) type: BS channel: BS13_0 serviceId: 142 - name: BS Asahi type: BS channel: BS01_0 serviceId: 151 - name: BS Asahi (Sub) type: BS channel: BS01_0 serviceId: 152 - name: BS-TBS type: BS channel: BS01_1 serviceId: 161 isDisabled: false - name: AT-X type: CS channel: CS16 serviceId: 333 isDisabled: false - name: BS SPTV type: SKY channel: Ch485 serviceId: 33353 satelite: JCSAT3A isDisabled: false - name: AT-X HD type: SKY channel: ATXHD serviceId: 33435 satelite: JCSAT3A isDisabled: false - name: AXN HD type: SKY channel: AXNHD serviceId: 33418 satelite: JCSAT4A isDisabled: false
ちなみに 場所によっては isDisabled があるので使用するものは false とする必要があります。
Mirakurun を起動する
# mirakurun start [PM2] Applying action restartProcessId on app [mirakurun-server](ids: 0) [PM2] [mirakurun-server](0) ✓ ┌──────────────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ mirakurun-server │ 0 │ fork │ 10577 │ online │ 6 │ 0s │ 17.703 MB │ disabled │ └──────────────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app
きちんと起動しているかは少し時間が経った後に
# lsof -i:8888 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME Mirakurun 10577 root 12u IPv4 44941 0t0 TCP pen4.luis.local:8888 (LISTEN) Mirakurun 10577 root 13u IPv4 44942 0t0 TCP localhost:8888 (LISTEN) Mirakurun 10577 root 15u IPv4 45022 0t0 TCP pen4.luis.local:8888->192.168.20.253:53171 (ESTABLISHED)
とすれば確認できます。便利ですよ lsof
Chinachu サーバーの設定
Chinachu のインストールは Github を見て下さい。
Installation – Github
Rivarun のインストール
前準備として Nodejs => 5.0.0 が必要なので上を見てインストールしてください。
# npm install rivarun -g
Chinachu の設定
# vim /home/chinachu/chinachu/config.json { "recordedDir" : "./recorded/", "temporaryDir": "/tmp/", "wuiUsers": [ ":" ], "wuiAllowCountries": ["JP"], "wuiPort" : 10772, "wuiHost" : "::", "wuiTlsKeyPath" : null, "wuiTlsCertPath" : null, "wuiOpenServer" : false, "wuiOpenPort" : 20772, "wuiXFF" : false, "wuiPreviewer" : true, "wuiStreamer" : true, "wuiFiler" : true, "wuiConfigurator": true, "recordedFormat": "[<date:yymmdd-HHMM>][<type><channel>][<tuner>]<title>.m2ts", "tuners": [ { "name" : "PT2-S1", "isScrambling": false, "types" : [ "BS", "CS" ], "command" : "/usr/local/bin/rivarun --mirakurun 192.168.20.7:8888 --b25 --priority 1 --sid <channel> - -", "noEpg" : false }, { "name" : "PT2-S2", "isScrambling": false, "types" : [ "BS", "CS" ], "command" : "/usr/local/bin/rivarun --mirakurun 192.168.20.7:8888 --b25 --priority 1 --sid <channel> - -", "noEpg" : false }, { "name" : "PT2-T1", "isScrambling": false, "types" : [ "GR" ], "command" : "/usr/local/bin/rivarun --mirakurun 192.168.20.7:8888 --b25 --priority 1 --sid <sid> --ch GR/<channel> - -", "noEpg" : false }, { "name" : "PT2-T2", "isScrambling": false, "types" : [ "GR" ], "command" : "/usr/local/bin/rivarun --mirakurun 192.168.20.7:8888 --b25 --priority 1 --sid <sid> --ch GR/<channel> - -", "noEpg" : false } ], "channels": [ { "type": "GR", "channel": "16" }, { "type": "GR", "channel": "21" }, { "type": "GR", "channel": "22" }, { "type": "GR", "channel": "23" }, { "type": "GR", "channel": "24" }, { "type": "GR", "channel": "25" }, { "type": "GR", "channel": "26" }, { "type": "GR", "channel": "27" }, { "type": "BS", "channel": "101" }, { "type": "BS", "channel": "102" }, { "type": "BS", "channel": "103" }, { "type": "BS", "channel": "141" }, { "type": "BS", "channel": "151" }, { "type": "BS", "channel": "161" }, { "type": "BS", "channel": "171" }, { "type": "BS", "channel": "181" }, { "type": "BS", "channel": "191" }, { "type": "BS", "channel": "192" }, { "type": "BS", "channel": "193" }, { "type": "BS", "channel": "200" }, { "type": "BS", "channel": "211" }, { "type": "BS", "channel": "222" }, { "type": "CS", "channel": "CS4", "sid": "100" }, { "type": "CS", "channel": "CS16", "sid": "333" } ] }
BS / CS のコマンドは
/usr/local/bin/rivarun –mirakurun 192.168.20.7:8888 –b25 –priority 1 –sid <channel> – –
GR のコマンドは
/usr/local/bin/rivarun –mirakurun 192.168.20.7:8888 –b25 –priority 1 –sid <sid> –ch GR/<channel> – –
と若干違います。また、IPアドレスは Mirakurun サーバーのIPアドレス、ポートは指定したポートを設定してください。
あとは ./chinachu update -f とかして正常に動作するか確認してください。
TVTest の設定
BonDriver_Mirakurun のビルド済みをダウンロードし、TVTest と同じディレクトリに保存してください。
各チューナーの設定ファイルを弄って下さい。
[GLOBAL] SERVER_HOST="pen4.luis.local" ←Mirakurun サーバーIP SERVER_PORT=8888 ←Mirakurun サーバーのポート
あとはTVTest を起動して、チャンネルスキャンとかやれば視聴できると思います。
もし見れない場合は ファイアーウォールの設定だったり色々確認してみてください。