Windows10で録画サーバー
前略
鴉河雛です
というわけで、以前から作りたかった録画サーバーですが、
ラズパイでうまくできなかったので、Windowsにターゲットを変えて構築してみました。
一応毎回言っていますが・・
ここから書く内容は素人がなんとなくやったらできたよ!っていうものですので、ご承知おきください
1.構築にあたって
今回構築する環境は以下になります
Windows10 Home 64bit (Intel NUC6i5SYH)
チューナー:PX-S1UD v2
カードリーダー:ジェムアルト ICカードリーダ
Mirakurun + Chinachu γ
2.Mirakurunを導入する
まずはよく聞くMirakurunを導入していきます。
導入については今回、以下を参考にさせていただきました。
BonRecTestをビルド
MirakurunはBonRecTest経由でチューナーへアクセスするようですので、こちらをビルドします。
・GitHub - rndomhack/BonRecTest: Recoding test program for BonDriver
また、B25Decoderも必要ですが、こちらは各自で探してみてください
Node.jsをインストール
MirakurunはNode.jsの6.5.0以上、7.0.0未満が必要らしいので、そちらをインストールします
Node.jsにアクセスし、推奨版をインストールしましょう。
winser 及び Mirakurunをインストール
winserはnode.jsでwindowsのサービスを管理するツールらしいです。
こちらも必須になっているので導入していきます。
PowerShellを管理者権限で起動し、以下を実行してください。
npm install winser -g
npm install mirakurun -g --production
完了したら、設定をしていきます。
設定ファイルは C:\Users\%username%\.Mirakurun
にありますので、こちらを参考に設定していきます。
まず、tuners.ymlですが、今回はPX-S1UD-1なので、以下の通りに。
- name: PX-S1UD-1
types:
- GR
command: BonRecTest.exe --decoder B25Decoder.dll --log --driver BonDriver_Siano.dll --output - --channel <channel>
decoder: ~
isDisabled: false
channels.ymlは地域に合わせて、設定します。
server.ymlは参考通りでいいと思います。
最後に、ファイアウォールにNode.jsのexeファイルを例外に追加して完了です。
3.Chinachu γをDocker上で動かす
Chinachu γはDocker上で動かします。
こちらは以下を参考にさせていただきました。
まず、Windows上でDockerを動かせるように、Docker toolboxを導入します。
Docker Toolboxをインストール
まず、こちらにアクセスして、DL後インストールします。
インストールしたら、Docker Quickstart Terminalが表示されると思うので、そちらを起動します。
(動作確認や詳細は端折ります・・)
Chinachu γのイメージを取得
起動したターミナルへ、以下を入力してchinachuのイメージをDLします。
docker pull kunitaya/chinachu_g
docker-composeの設定
docker-composeを使用すると管理しやすいと聞いたので、そちらを使用して設定をしていきます。
適当なフォルダを作成し、その中にdocker-compose.yml
を作成してください。
作成した設定ファイルへ以下を記載します。
chinachu:
image: chinachu_g
volumes:
- [録画データの保存先]:/opt/chinachu/recorded
- /host/ssd/chinachu:/opt/settings
- ./config.json:/opt/chinachu/config.json
- ./rules.json:/opt/chinachu/rules.json
- ./data:/opt/chinachu/data
privileged: true
ports:
- 20772:20772
extra_hosts:
- "mirakurun:[mirakurunのIPアドレス]"
command: /sbin/init
[mirakurunのIPアドレス]
にはmirakurunをインストールしたPCのIPアドレスを記載します。
[録画データの保存先]
には録画フォルダを指定します。
その際、ユーザフォルダ以外にする場合は、VirtualBoxにて共有フォルダーを追加する必要があります。
該当の仮想PCの設定で(初期はdefault)共有フォルダーの設定に移動します
新規追加ボタンを押して、
マウントしたいフォルダーのパスを指定し、ゲスト側でのフォルダー名を指定します。
自動マウントと永続化にチェックを入れてOKです。
Chinachuの設定ファイルはdocker-compose.ymlと同じフォルダに作成されます。
(先にサンプルの設定ファイルを置いておく必要があるかもしれません)
Chinachuの実行
docker-compose up -d
実行できているか、確認してみます。
$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------
dockerwork_chinachu_1 /sbin/init Up 0.0.0.0:20772->20772/tcp
dockerwork_chinachu_data_1 echo chinachu_g data volum ... Exit 0
chinachuがUPしてれば問題なしです。
それではブラウザでアクセスしてみましょう。
※Edgeだと表示できなかったので、Chromeをお勧めします
chinachuの右上に設定があるので、そちらを押し設定を変更していきます。
config.json
{
"uid": "chinachu",
"gid": "video",
"mirakurunPath": "http://[MirakurunのIPアドレス]:8888/",
"recordedDir" : "./recorded/",
"vaapiEnabled": false,
"vaapiDevice": "/dev/dri/renderD128",
"wuiOpenServer": true,
"wuiOpenHost": "0.0.0.0",
"wuiOpenPort": 20772,
"wuiXFF": false,
"wuiDLNAServerEnabled": false,
"wuiMdnsAdvertisement": false,
"recordedFormat": "[<date:yymmdd-HHMM>][<channel-name>]<fulltitle>.m2ts",
"storageLowSpaceThresholdMB": 3000,
"storageLowSpaceAction": "remove",
"storageLowSpaceNotifyTo": null,
"storageLowSpaceCommand": ""
}
こちらにも同じように[mirakurunのIPアドレス]
にはmirakurunをインストールしたPCのIPアドレスを記載します。
完了したら、保存を押しましょう。
Chinachuを再起動する
設定を反映させるため、Chinachuを再起動します。
docker-compose restart
再起動完了後、録画・視聴等が行えるか確認し、問題なければ完了です。
別PCよりアクセス可能にする
このままだとDockerを動かしているPC上からしかchinachuにアクセスできないため、
ネットワークの設定を変更します。
※インターネットから直接アクセスできるようにはしないよう注意してください
VirtualBoxを開き、Defaultマシンの設定へ移動します。
左ペインのネットワークを選択し、右ペインのアダプター1の高度をクリックします。
ポートフォワディングをクリックして、新規ルールを追加します。
以下の画像のように設定すれば問題なしです。
最後に、ファイアウォールの詳細設定→受信の規則へ新しい規則を追加します。
ポートで20772を指定しましょう。
ローカルネットワーク上の別PCからchinachuにアクセスできれば完了です。
ってことで、こんな感じでとりあえずの設定が完了しました。
では今回はこの辺で、ではまた。
追記:
録画データを再生する場合、Android等はVLC、WindowsはK-Lite Codec Packで普通に再生できたりしますが、
字幕データを表示させたい場合は、対応したVLCを使う必要があるみたいです。
(私は字幕表示でいつもテレビを見てるので録画でもほしかったので助かりました・・)
ということで、メモ。
上記からVLCをDLできます。
17/10/23追記:
結局おかしくなってWindowsはやめました。
Ubuntuで組みなおしてます。
Ubuntu Server 17.04 + Mirakurun + Chinachu で録画サーバ
そういえば、Windows Subsystem for Linuxはデバイスとかどうなんだろう・・・
つかめるならいい感じにまた組めるのかな。