Docker for Windowsでchinachu γを使ってみる

  • はじめに

 現在PT1+Windowsの構成で、tvrockを使っています。

そのまま構成を変えずにDocker for windowslinuxを走らせてChinachu γを使ってみるテストです。Windows10のマシン1台ですべて完結します。

 

うまくいけば、rasberry pi+kodiにpvr.chinachu入れてみたい!

 

 

  • 構成

必要なのはPT1(もしくはPT3、PT3)の刺さったWindows10のみ。

Windowsで何らかの録画環境が構築できていることを前提にします。

そのうえでChinachuが動くところまで書いておきます。

 Host

Windows10 (celeronD1610 memory8G)

 +BonRecTest +(BonDriverPT_ST人柱版3)

 +nodejs 

        +Mirakurun2.0

        +winser

 +Docker for windows (centos7上でchinachu γを実行)

Client

CentOS7 (仮想マシン

 +Chinachu γ

 

 

Windows10上でのセットアップ作業 

BonRecTestのセットアップ

ソースからのビルドは省略します。他の記事を探してみてください。

 

BonRecTestのフォルダの中身


Name
----
B25Decoder.dll
BonDriver_PT-S.ChSet.txt
BonDriver_PT-S.dll
BonDriver_PT-ST.ini
BonDriver_PT-T.ChSet.txt
BonDriver_PT-T.dll
BonRecTest.exe
PTCtrl.exe

 

BonRecTestの動作確認

つぎのコマンドを実行して確認(関西の人だとN〇Kが録画できます)
BonRecTest --decoder B25Decoder.dll --driver BonDriver_PT-T.dll --log --output d:\test.ts --channel 11

 

つぎのとおり表示されると成功(CTL+Cで終了)

* BonRecTest *

Load BonDriver...
Load Decoder...
Open Output...
Open Tuner...
Start Thread...
Signal: 30.62dB
Abort!
Stop Thread...
Close Tuner...
Close Output...
Unload Decoder...
Unload BonDriver...

 

参考にさせていただきました。

yanoshi.hatenablog.jp

 

Nodejsのセットアップ

 インストーラを使いたくなかったので、手動インストール

Mirakurun2.0のリリースノートにあるとおり、バージョンはNode.js >=6.5.0 <7.0.0

としました。

d.hatena.ne.jp

 

 mirakurunのセットアップ

mirakurunはWindowsでもlinuxでも動作します。今回は、Window上のサービスとして登録することとします。

公式のとおり行います。

node.jsのディレクトリで下記コマンドを実行する。

# Win32 (Windows PowerShell as Admin)
npm install winser -g
npm install mirakurun -g --production

タスクマネージャーでmirakurunがサービスとして実行されているのを確認できれば成功です。

 

mirakurunの設定

explorer C:\Users\%username%\.Mirakurun にファイルが3つあるはずです。 (%username%はインスコのときのadmin)

channels.yml

server.yml

tuners.yml

 

server.ymlは基本的にそのままでOKぽい

tuners.ymlの中身を晒しておきます。まちがってるかもです。

- name: PT1-S1
types:
- BS
- CS
command: BonRecTest.exe --decoder B25Decoder.Dll --driver BonDriver_PT-S.dll --output - --channel <channel>
decoder: ~
isDisabled: false

- name: PT1-S2
types:
- BS
- CS
command: BonRecTest.exe --decoder B25Decoder.Dll --driver BonDriver_PT-S.dll --output - --channel <channel>
decoder: ~
isDisabled: false

- name: PT1-T1
types:
- GR
command: BonRecTest.exe --decoder B25Decoder.Dll --driver BonDriver_PT-T.dll --output - --channel <channel>
decoder: ~
isDisabled: false

- name: PT1-T2
types:
- GR
command: BonRecTest.exe --decoder B25Decoder.Dll --driver BonDriver_PT-T.dll --output - --channel <channel>
decoder: ~
isDisabled: false

channels.yml (大阪の人ならそのままでOK、ただしCSが取得できません。まちがってるものと思われる。まちがいがありますが、だいたいいけてます。)

- name: NHK総合・大阪,
type: GR
channel: '11'
- name: NHK教育・大阪
type: GR
channel: '0'
- name: サンテレビ
type: GR
channel: '13'
- name: MBS毎日放送
type: GR
channel: '3'
- name: KBS京都
type: GR
channel: '10'
- name: ABCテレビ
type: GR
channel: '2'
- name: テレビ大阪
type: GR
channel: '5'
- name: 関西テレビ
type: GR
channel: '4'
- name: 読売テレビ
type: GR
channel: '1'


- name: NHK BS1
type: BS
channel: '9'
serviceId: 101

- name: NHK BS1 (Sub)
type: BS
channel: '9'
serviceId: 102

- name: NHK BS Premium
type: BS
channel: '10'
serviceId: 103

- name: NHK BS Premium (Sub)
type: BS
channel: '10'
serviceId: 104

- name: BS Nippon
type: BS
channel: '7'
serviceId: 141

- name: BS Nippon (Sub)
type: BS
channel: '7'
serviceId: 142

- name: BS Asahi
type: BS
channel: '0'
serviceId: 151

- name: BS Asahi (Sub)
type: BS
channel: '0'
serviceId: 152

- name: BS-TBS
type: BS
channel: '1'
serviceId: 161

- name: BS JAPAN
type: BS
channel: '3'
serviceId: 171

- name: BS Fuji
type: BS
channel: '8'
serviceId: 181

- name: WOWOW Prime
type: BS
channel: '2'
serviceId: 191

- name: WOWOW Live
type: BS
channel: '13'
serviceId: 192

- name: WOWOW Cinema
type: BS
channel: '14'
serviceId: 193

- name: BS11
type: BS
channel: '4'
serviceId: 211

- name: BS SPTV
type: BS
channel: '18'
serviceId: 241

- name: スター・チャンネル
type: BS
channel: '5'
serviceId: 200
- name: スター・チャンネル
type: BS
channel: '15'
serviceId: 201
- name: スター・チャンネル
type: BS
channel: '15'
serviceId: 202

- name: TwellV
type: BS
channel: '6'
serviceId: 222
- name: 放送大学BS1
type: BS
channel: '19'
serviceId: 231
- name: 放送大学BS2
type: BS
channel: '19'
serviceId: 232
- name: 放送大学BS3
type: BS
channel: '19'
serviceId: 233
- name: グリーンチャンネル
channel: '20'
type: BS
serviceId: 234
- name: BSアニマックス
type: BS
channel: '16'
serviceId: 236
- name: FOX bs238
channel: '17'
type: BS
serviceId: 238
- name: J SPORTS 1
type: BS
channel: '21'
serviceId: 242
- name: J SPORTS 2
type: BS
channel: '22'
serviceId: 243
- name: J SPORTS 3
type: BS
channel: '25'
serviceId: 244
- name: J SPORTS 4
type: BS
channel: '26'
serviceId: 245
- name: BS釣りビジョン
type: BS
channel: '27'
serviceId: 251
- name: IMAGICA BS
type: BS
channel: '24'
serviceId: 252
- name: 日本映画専門チャンネル
type: BS
channel: '28'
serviceId: 255
- name: ディズニー・チャンネル
type: BS
channel: '23'
serviceId: 256
- name: D-Life
type: BS
channel: '29'
serviceId: 258


- name: ショップチャンネル
type: CS
channel: '3'
serviceId: 55
- name: スカパー!プロモ
type: CS
channel: '1'
serviceId: 100
- name: QVC
type: CS
channel: '10'
serviceId: 161
- name: 東映チャンネル
type: CS
channel: '3'
serviceId: 218
- name: 衛星劇場
type: CS
channel: '3'
serviceId: 219
- name: チャンネルNECO
type: CS
channel: '1'
serviceId: 223
- name: ザ・シネマ
type: CS
channel: '1'
serviceId: 227
- name: FOXムービー
type: CS
channel: '11'
serviceId: 229
- name: ムービープラスHD
type: CS
channel: '8'
serviceId: 240
- name: sky・Aスポーツ+
type: CS
channel: '1'
serviceId: 250
- name: GAORA
type: CS
channel: '5'
serviceId: 254
- name: 日テレG+ HD
type: CS
channel: '11'
serviceId: 257
- name: ゴルフネットHD
type: CS
channel: '8'
serviceId: 262
- name: SKY STAGE
type: CS
channel: '7'
serviceId: 290
- name: 時代劇専門chHD
type: CS
channel: '6'
serviceId: 292
- name: ファミリー劇場HD
type: CS
channel: '6'
serviceId: 293
- name: ホームドラマCH
type: CS
channel: '2'
serviceId: 294
- name: TBSチャンネル1
type: CS
channel: '0'
serviceId: 296
- name: TBSチャンネル2
type: CS
channel: '10'
serviceId: 297
- name: テレ朝チャンネル
type: CS
channel: '0'
serviceId: 298
- name: テレ朝チャンネル
type: CS
channel: '0'
serviceId: 299
- name: 日テレプラス
type: CS
channel: '11'
serviceId: 300
- name: チャンネル銀河
type: CS
channel: '7'
serviceId: 305
- name: フジテレビONE
type: CS
channel: '9'
serviceId: 307
- name: フジテレビTWO
type: CS
channel: '9'
serviceId: 308
- name: フジテレビNEXT
type: CS
channel: '9'
serviceId: 309
- name: スーパー!ドラマHD
type: CS
channel: '6'
serviceId: 310
- name: AXN
type: CS
channel: '7'
serviceId: 311
- name: FOX
type: CS
channel: '10'
serviceId: 312
- name: 女性ch/LaLa
type: CS
channel: '8'
serviceId: 314
- name: スペシャプラス
type: CS
channel: '11'
serviceId: 321
- name: スペースシャワーTV
type: CS
channel: '10'
serviceId: 322
- name: MTV
type: CS
channel: '2'
serviceId: 323
- name: エムオン!HD
type: CS
channel: '5'
serviceId: 325
- name: ミュージック・エア
type: CS
channel: '3'
serviceId: 326
- name: 歌謡ポップス
type: CS
channel: '2'
serviceId: 329
- name: キッズステーション
type: CS
channel: '5'
serviceId: 330
- name: カートゥーン
type: CS
channel: '10'
serviceId: 331
- name: AT-X
type: CS
channel: '7'
serviceId: 333
- name: ディズニージュニア
type: CS
channel: '3'
serviceId: 339
- name: ディスカバリー
type: CS
channel: '2'
serviceId: 340
- name: アニマルプラネット
type: CS
channel: '2'
serviceId: 341
- name: ヒストリーチャンネル
type: CS
channel: '1'
serviceId: 342
- name: ナショジオチャンネル
type: CS
channel: '7'
serviceId: 343
- name: 日テレNEWS24
type: CS
channel: '3'
serviceId: 349
- name: TBSニュースバード
type: CS
channel: '10'
serviceId: 351
- name: BBCワールド
type: CS
channel: '7'
serviceId: 353
- name: CNNj
type: CS
channel: '2'
serviceId: 354
- name: 旅チャンネル
type: CS
channel: '11'
serviceId: 362
- name: 囲碁・将棋チャンネル
type: CS
channel: '1'
serviceId: 363
- name: スカチャン0
type: CS
channel: '4'
serviceId: 800
- name: スカチャン1
type: CS
channel: '4'
serviceId: 801
- name: スカチャン2
type: CS
channel: '4'
serviceId: 802
- name: スカチャン3
type: CS
channel: '4'
serviceId: 805

github.com

 

Docker for windows のセットアップ 

下記リンク記事のとおり進めればOKです。

起動しないときはファイヤーウォール関係とかごにょごにょする必要あるかもですが、普通にインストールしてdocker infoなどのコマンドが動けば基本設定完了です。

Chinachu動かすOSは参考記事が充実していたCentos7を選択しました。

www.atmarkit.co.jp

 

windows10上の設定はここまでです。

続いて、Dockerコンテナ上のCentOSのセットアップ

 Docker上でCentOS動かすまでは、ググればたくさんの情報がありますので割愛します。

Centos上でのセットアップ作業

基本的に下記の手順のとおりです。

コピペお許しくださいm(__)m

まず時間の確認 

dateコマンドで確認。

9時間ずれていたらUTCになってるので

# cp /etc/localtime /etc/localtime.org  バックアップして

# cp  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# strings /etc/localtime

再度dateコマンドで時間が正常に表示されることを確認します。

 

さて、セットアップ作業

アセンブラ(yasm)をインストールします。

# mkdir -p ~/src
# cd ~/src
# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
# tar xvzf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make
# make install make in
stall

 

Chinachu用のユーザー追加(私はkodiで行いました)

[root@centos]# useradd koki
[root@centos]# su - kodi
 
 
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd ~/chinachu
$ ./chinachu installer
 
    [!] These are installed under all /home/chinachu/chinachu/...
    [!] Recommend the Auto installation.
    1) Auto (full)            5) Node.js Modules       9) libfdk-aac
    2) Auto (fast)            6) epgdump              10) libogg
    3) submodule              7) libx264              11) libvorbis
    4) Node.js Environment    8) libvpx               12) ffmpeg
    what do you install? > 1   <--- "Auto (full)"を選択

 

 以下の作業は下記の記事のとおり進めればOKです。

www.jifu-labo.net

 

設定が無事に終われば、docker commit コンテナID 保存したいImage名でイメージを保存します。

 

Windowsとファイル(d:/TS_rokuga)を共有しつつ、外部からWebにアクセスできるようにしてみます。下記コマンド実行してコンテナを起動します。

docker run -it -p 20772:20772 -v d:/TS_rokuga:/media/TS_rokuga --privileged コミットしたイメージ名 /sbin/init

 

つぎに

docker excec -it hogehoge /bin/bashで接続します。

 

 

windows側ホストでブラウザを起動し、localhost:20772にアクセスしてみるとwow!

 

f:id:Qvrick:20170326151014j:plain

 

 アクセスできないときは、

route -p add 172.17.0.0 mask 255.255.0.0 192.168.0.xxxとかが必要だったかも。(あくまで私の環境です。)

 

これから、raspberry piの設定や、予約録画について調査しないといけませんが、偉大なる先人たちの遺産があるのでなんとかなることでしょう。

 

先人たちの熱意に感謝です。

 

なお、記事には初心者ゆえ誤りもあるかもですm(__)m。