PT3による多チャンネル仮想録画サーバ構築 〜recpt1仕込みまで

2015年12月13日

recpt1は派生バージョンが色々あるみたいですが、
やり方はどれも同じです。
この記事は一例とお考えいただければと思います。

ここを見ているということは、以下の点については
終わっているのでは?と思いますのでパスします。
・OSのインストール
・PT3ドライバのインストール
・カードリーダー(BCASカード)のインストール
・OSの設定(SELinuxやfirewall、ネットワーク共有等)

私のポストよりも遥かに詳しく書かれているサイトがありますので詳細は「自分に負けないラボラトリー」さんの各ポストを参照頂ければと思います。

とはいえ、さすがに何も書かないのはアレなので、私がやった手順をちょっと残しておきます^^;;;
モジュールのブラックリストに対する追記はもはや不要かもしれませんね。

# cd ~/src
# git clone https://github.com/m-tsudo/pt3.git
# cd pt3
# make
# make install
# echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf
# sync
# sync
# sync
# reboot

 

私の環境では、PT3を3枚入れておりますので、PT3ドライバが
正しくロードされていれば、以下の通り表示されると思います。
味噌としては、物理マシンと全く同じことをするだけで良いということでしょうか。(Path−Trueなので当たり前なのですが)

# dmesg | grep -i pt3
[   20.738801] pt3_drv: module verification failed: signature and/or required key missing - tainting kernel
[   20.739325] PT3: pt3_drv 0.0.1rev105 2015-11-09
[   20.739888] PT3: Bus Mastering Enabled.
[   21.978388] PT3: device[0]=          (null)
[   21.978837] PT3: card_number=0 channel=0
[   21.979451] PT3: card_number=0 channel=1
[   21.980002] PT3: card_number=0 channel=2
[   21.980593] PT3: card_number=0 channel=3
[   21.980927] PT3: Bus Mastering Enabled.
[   23.290097] PT3: device[0]=ffff88023094c800
[   23.290103] PT3: device[1]=          (null)
[   23.290567] PT3: card_number=1 channel=0
[   23.291097] PT3: card_number=1 channel=1
[   23.291657] PT3: card_number=1 channel=2
[   23.292215] PT3: card_number=1 channel=3
[   23.292536] PT3: Bus Mastering Enabled.
[   24.274086] PT3: device[0]=ffff88023094c800
[   24.274088] PT3: device[1]=ffff8802302a9800
[   24.274090] PT3: device[2]=          (null)
[   24.274490] PT3: card_number=2 channel=0
[   24.275063] PT3: card_number=2 channel=1
[   24.275603] PT3: card_number=2 channel=2
[   24.276331] PT3: card_number=2 channel=3

また、デバイスファイルはこんな感じです。

# ls -l /dev/pt3*
crw-rw-rw- 1 root video 249, 0 12月  8 16:55 /dev/pt3video0
crw-rw-rw- 1 root video 249, 1 12月  8 16:55 /dev/pt3video1
crw-rw-rw- 1 root video 247, 2 12月  8 16:55 /dev/pt3video10
crw-rw-rw- 1 root video 247, 3 12月  8 16:55 /dev/pt3video11
crw-rw-rw- 1 root video 249, 2 12月  8 16:55 /dev/pt3video2
crw-rw-rw- 1 root video 249, 3 12月  8 16:55 /dev/pt3video3
crw-rw-rw- 1 root video 248, 0 12月  8 16:55 /dev/pt3video4
crw-rw-rw- 1 root video 248, 1 12月  8 16:55 /dev/pt3video5
crw-rw-rw- 1 root video 248, 2 12月  8 16:55 /dev/pt3video6
crw-rw-rw- 1 root video 248, 3 12月  8 16:55 /dev/pt3video7
crw-rw-rw- 1 root video 247, 0 12月  8 16:55 /dev/pt3video8
crw-rw-rw- 1 root video 247, 1 12月  8 16:55 /dev/pt3video9

 

recpt1ビルドに必要なarib25ライブラリをビルドします。
世の中には色々な物が出回っているようですが・・・・今回はこれにしてみました。

# cd src
# git clone https://github.com/stz2012/libarib25.git
# cd libarib25
# make
# make install
# echo /usr/local/lib > /etc/ld.so.conf.d/usr-local-lib.conf
# ldconfig

 

次に、recpt1コマンドをビルドします。
今回はepgrecUNAを使用するので、httpパッチを適用したものにします。
(必要なパッチは、http://d.hatena.ne.jp/katauna/ から入手し、~/srcへコピーしておきます)

# cd ~src
# wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
# tar xjf tip.tar.bz2
# tar xvzf recpt1-http-rev3.tar.gz
# patch -p2 -d pt1-c8688d7d6382/recpt1/ < recpt1-http-rev3/recpt1-http.diff
# patch -p2 -d pt1-c8688d7d6382/recpt1/ < recpt1-http-rev3/tssplitter-apnd.diff
# cd pt1-c8688d7d6382/recpt1/
# sed -i".org" 's/pt1video/pt3video/g' pt1_dev.h
# ./autogen.sh
# ./configure --enable-b25
# make
# make install

 

ビルドができたら、テストしましょう。
地上波、BS、CSの各放送を少しだけキャプチャーしてみます。

# recpt1 --b25 --strip 27 10 /tmp/test_nhk.ts
(地上波・NHK総合第一・東京)
# recpt1 --b25 --strip --sid 192 BS5_0 10 /tmp/test_wowow.ts
(BS・WOWOWプライム)
# recpt1 --b25 --strip --sid 340 CS6 10 /tmp/test_discovery.ts
(CS・ディスカバリーチャンネル)

続きはおいおいと・・・・。