Chinachu Air から Mirakurun を使用するみたいなので環境を構築してみた。
Mirakurun + Rivarun で Chinachu を動かし、TVTest を使用して Windows からも視聴できるようになります。

 

Mirakurun

kanreisa氏が作成した Nodejs で動いている Spinel とか BonDriverProxy みたいなもんです。
UnixSocket でも、TCPでも動かせます。

Mirakurun – github

 

Rivarun

こちらも kanreisa氏が作成した Mirakurun のクライアントです。
ちなみに、Chinachu Air 用ではないらしいです。

Rivarun – github

 

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 を起動して、チャンネルスキャンとかやれば視聴できると思います。
もし見れない場合は ファイアーウォールの設定だったり色々確認してみてください。