4 min read

PT3とChinachuのセットアップ

Chinachuの作者様であるkanreisa様、素晴らしいソフトウェアを作っていただきほんとうにありがとうございます。

私がセットアップした時に大変お世話になったサイト様はこちら
自分用のメモなのでこちらのサイト様からの引用がほとんどです。

注意
私は構築をしながら、足りないパッケージなどをその都度確認してインストールするということをしています
一応「dpkg -l | grep hoge」でインストールパッケージの確認は行いながら書いていますが、この記事のことをそのまま行ってもエラーを吐く可能性があることをご了承ください

~/chinachu/を作業ディレクトリとします。
この記事を使い、Chinachuのインストールをすると、~/chinachu/Chinachu/にChinachu本体がインストールされます。

update

$ sudo apt-get update

カードリーダーを利用可能に

$ sudo apt-get install pcscd libpcsclite-dev libccid pcsc-tools
$ pcsc_scan

「Japanese Chijou Digital B-CAS Card (pay TV)」が最後に表示されればOK。
^Cで終了してください

arib25のインストール

放送波をデコードしてくれるやつ

$ cd ~/chinachu
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
$ unzip c44e16dbb0e2.zip
$ cd pt1-c44e16dbb0e2/arib25
$ sudo make
$ sudo make install

ここの2行目のことですが、最新版ならgitからcloneすればいいなと思っていました。しかしそうやっているサイトは数少なかったです。(というかないに等しい)
ですのでgitからcloneではなくwgetでダウンロードする方式を取りました。

recpt1のインストール

録画するためのソフトですね。ChinachuはこいつをGUIから操作しているということです
最初recpt1をレセプトワンとか読んでいましたがよく考えればレックピーティーワンですよね・・・

$ cd ~/chinachu
$ git clone https://github.com/stz2012/recpt1.git
$ cd recpt1/recpt1
$ sudo ./autogen.sh
$ sudo ./configure --enable-b25
$ sudo make
$ sudo make install

最後の4〜6行目はsudoいらないのかもしれないですけど一応。

PT3のドライバのインストール

$ cd ~/chinachu
$ git clone https://github.com/m-tsudo/pt3.git
$ cd pt3/
$ sudo make
$ sudo make install
$ sudo reboot

いろいろなサイトを見ていてもやはりrebootしないと認識されないようです

$ ls /dev | grep pt3

これでpt3video0からpt3video3まで出てくれば成功です。
0, 1:BS/CS
2, 3:地上波
ですね

録画テスト

recpt1 --b25 --strip 27 10 ~/test.ts --device /dev/pt3video2

とりあえずコピペすれば録画されます
意味は以下

27:27ch(NHK東京総合)
10:10秒間録画して
~/test.ts:tsファイルの保存先(この場合ホームディレクトリにtest.tsで録画されます)
--device:どのデバイスで録画するか。今回はNHK東京総合なので地上波であるvideo2ですね。3でもいいわけです

東京のチャンネル一覧はページの最下部に載せておきます

Chinachuのセットアップ

いよいよ主役であるChinachuのセットアップです
参考にしたサイト様にも書いてありますが、チュートリアルを実行すれば大丈夫です。
私もサイト様と同じようにユーザーを分けないやり方でやりました

以下、ほとんどチュートリアルからの引用です。

前提パッケージのインストール

$ sudo apt-get install build-essential curl git-core libssl-dev yasm libtool autoconf libboost-all-dev

git clone & install

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

1のAuto(full)を選択
ここでかなり時間かかるので気長に待ちましょう

configファイルを作りましょう

$ cp config.sample.json config.json
$ vim config.json
# wuiOpenServerをtrueにするとLAN向けの無認証サーバーが立ち上がります (デフォルトポート:20772)
# tuners の配列を確認。設定例としてPT3以外のチューナー設定も入っているので要注意
# channels の配列を確認
# ケツカンマの消し忘れに注意

この設定関連はConfigurationをよく読んでカキカキしましょう。SSLだって使えちゃいます

空のルール設定ファイルを作りましょう

$ echo [] > rules.json

動作チェック

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

$ ./chinachu update -f
# EPG取得テスト

サービスの登録

$ ./chinachu service operator initscript > /tmp/chinachu-operator
$ ./chinachu service wui initscript > /tmp/chinachu-wui
$ sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/

これでsudo serviceでChinachuが扱えるようになりました

$ sudo insserv chinachu-operator
$ sudo insserv chinachu-wui

こいつをやってあげればシステム起動時に自動で開始してくれます。
私はrc.localに書く派なのでしませんでした。

Chinachu起動!

$ sudo service chinachu-operator start
$ sudo service chinachu-wui start

すべてデフォルトの設定で起動したならば、http://[サーバーIP]:10772にアクセスしてユーザー名とパスワードを入力すれば(調べてね)Chinachuに入れるはずです

ShellScript(?)

どうもChinachuはoperatorとwui、2つで一つのようなのでそれ用のスクリプトを書いた。

status () {
	sudo service chinachu-operator status
	sudo service chinachu-wui status
}

start () {
	sudo service chinachu-operator start
	sudo service chinachu-wui start
}
stop () {
	sudo service chinachu-operator stop 
        sudo service chinachu-wui stop
}
unlock () {
	sudo ~/chinachu/Chinachu/chinachu unlock
}

case "$1" in
  start )
    start;;
  stop )
    stop;;
  restart )
    stop
    sleep 2
    start;;
  status )
    status;;
  unlock )
    unlock;;
  *)
    echo "Usage: $NAME {start|stop|restart|status|unlock}" >&2
    exit 1
    ;;
esac

使い方は至って簡単。
例えばこれを~/chinachu/chinachuというスクリプトにしたとする。(ちゃんと実行権限を与えてくださいね)

Chinachu起動
$ ~/chinachu/chinachu start

Chinachu停止
$ ~/chinachu/chinachu stop

Chinachu再起動
$ ~/chinachu/chinachu restart

Chinachuの状態
$ ~/chinachu/chinachu status

Chinachu unlock
$ ~/chinachu/chinachu unlock

以上。
unlockというのは、Chinachu自身が録画などでチューナーをロックしたが、録画が終了してもロックを解除しなかった場合などに強制的(?)にロック解除させるコマンドです

東京のチャンネル一覧

地デジ

放送局名 物理チャンネル
NHK総合 27
NHK Eテレ 26
日テレ 25
テレビ朝日 24
TBS 22
テレビ東京 23
フジテレビ 21
TOKYO MX 16
放送大学 28

BS

放送局名 物理チャンネル
NHK BS1 101
NHK BS1(sub) 102
NHK BSプレミアム 103
BS日テレ 141
BS朝日 151
BS-TBS 161
BSジャパン 171
BSフジ 181
WOWOWプライム 191
WOWOWライブ 192
WOWOWシネマ 193
スターチャンネル 200
BS11 211
TwellV 212

WOWOWとスターチャンネル、TwellVはいらないと思った。近々消そう。

CSは契約してないしそもそも見る気がないので追加してません

最後に私のChinachuのチャンネル設定の配列を書いて終わりたいと思います

  "channels": [
    { "type": "GR", "channel": "27" },
    { "type": "GR", "channel": "26" },
    { "type": "GR", "channel": "25" },
    { "type": "GR", "channel": "24" },
    { "type": "GR", "channel": "22" },
    { "type": "GR", "channel": "23" },
    { "type": "GR", "channel": "21" },
    { "type": "GR", "channel": "16" },
    { "type": "GR", "channel": "28" },
    
    { "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" }
  ]

じゃあのw