PT3による多チャンネル録画サーバ作成(PT3ドライバ関連構築編)

PT3が発売された時に、調子こいて3枚も買ってしまいました。
単に沢山録画したいものがあったからなんですが、暫くすると
情熱も覚めちゃって、塩漬け状態のマシンになってました。
(まぁBDレコーダー買うよりは安かったのですが・・・・)

マシンのスペックとしてはこんな感じです。
こんなスペックなので、PCI Expressスロットは全部埋まってます。

種別 名称 備考
CPU

Xeon(R) CPU E31260L @ 2.40GHz

当時安かったので・・・・・orz
マザー

Gigabyte GA-Z77M-D3H

適当に選んだと思われます。
SSD

OCZ-AGILITY3 128GB

OS起動用
Opt. Drive

PIONEER  BD-RW   BDR-205

焼き焼きするかな?と思って。
RAID Card

3ware 9000

Hardware RAID5にしたかったんです・・・。
結構イイお値段しました。中古ですが。
WD RED 3TB*3台ですが、今は1台追加しました。。
DVR Card

PT3

最初から多チャンネル構成しか考えてませんでしたので。

当初はWindows7で組んでいましたが、色々考えた結果24時間可動マシンに
なるので、Linuxの方がいいかな?と思い(当時よりも開発も進んでましたし)
CentOS7にしてみました。

まぁCentOSのインストール自体はGUIでちゃっちゃと出来ちゃうので
以下省略ということで、インストールしてネットワーク周りの設定が
終わった状態からのお話になります。

先ずは色々と面倒の元になるので、こんな感じでSELinuxを切りましょう(ぉぃ)

sed -i 's/SELINUX=enforce/SELINUX=disabled/g' /etc/sysconfig/selinux

後はFirewallですが、こちらは必要に応じて設定してください。
(iptablesもfirewalldも色々面倒なんでw)

で、色々入れていきますが・・・・・
こんなのが必要な感じです。

パッケージ名称 導入方法 入手先サイト
pcsc-lite yumで導入可
pcsc-lite-devel yumから導入
pscs-perl 自前ビルド http://ludovic.rousseau.free.fr/softwares/pcsc-perl/
pcsc-tools 自前ビルド http://ludovic.rousseau.free.fr/softwares/pcsc-tools/
PT3 Driver 自前ビルド https://github.com/m-tsudo/
libarib25 自前ビルド https://github.com/m-tsudo/
recpt1 自前ビルド  http://hg.honeyplanet.jp/pt1/

では、必要なモノの導入をして行きましょう。
先ずはpcsc-perlとpcsc-toolから。
(BCASカード周りを引き受けてくれるみたいです)

cd work
wget http://ludovic.rousseau.free.fr/softwares/pcsc-perl/pcsc-perl-1.4.13.tar.bz2
tar xjf pcsc-perl-1.4.13.tar.bz2
cd pcsc-perl-1.4.13
perl Makefile.PL && make && sudo make install && echo "install OK"
cd ..
wget http://ludovic.rousseau.free.fr/softwares/pcsc-tools/pcsc-tools-1.4.23.tar.gz
tar xzf pcsc-tools-1.4.23.tar.gz
cd pcsc-tools-1.4.23
make && make install && echo "install OK"

導入が正常に終了したら、一度動作確認します。
ここでもpcsc-perlとpcsc-toolsが必要っぽいです。
表示されたら、Ctrl-Cで抜けてください。

pcsc_scan
(色々と表示) 
Japanese Chijou Digital B-CAS Card (pay TV)

次にPT3のドライバを導入します。
導入が終わったら一旦Rebootしましょう。(というか、とりあえずしましたw)
本当はmodprobeだけで良かったのかもしれませんが。

echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf
cd ~/work
git clone https://github.com/m-tsudo/pt3.git
cd pt3/
make clean && make && make install && echo "install OK"

で、再起動したらデバイスが出来てるかを確認します。
ウチの場合PT3が3枚入っているので12個デバイスが出来ていればOKです。

ls -la /dev/pt3*
crw-rw-rw-. 1 root video 248, 0 10月 25 01:39 /dev/pt3video0
crw-rw-rw-. 1 root video 248, 1 10月 25 01:39 /dev/pt3video1
crw-rw-rw-. 1 root video 246, 2 10月 25 01:39 /dev/pt3video10
crw-rw-rw-. 1 root video 246, 3 10月 25 01:39 /dev/pt3video11
crw-rw-rw-. 1 root video 248, 2 10月 25 01:39 /dev/pt3video2
crw-rw-rw-. 1 root video 248, 3 10月 25 01:39 /dev/pt3video3
crw-rw-rw-. 1 root video 247, 0 10月 25 01:39 /dev/pt3video4
crw-rw-rw-. 1 root video 247, 1 10月 25 01:39 /dev/pt3video5
crw-rw-rw-. 1 root video 247, 2 10月 25 01:39 /dev/pt3video6
crw-rw-rw-. 1 root video 247, 3 10月 25 01:39 /dev/pt3video7
crw-rw-rw-. 1 root video 246, 0 10月 25 01:39 /dev/pt3video8
crw-rw-rw-. 1 root video 246, 1 10月 25 01:39 /dev/pt3video9

例のアレもビルドしましょう。
細かいことは聞かないでください。

wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make clean && make && make install && echo "install OK"
echo '/usr/local/lib' | tee -a /etc/ld.so.conf
ldconfig

最後にrecpt1をビルドしましょう。
こちらも細かいことは聞かないでw

wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
tar xjf tip.tar.bz2
cd recpt1
sed -i 's/pt1video/pt3video/g' pt1_dev.h
./autoge.sh
./configure --enable-b25 && make && make install && echo "install OK"

さて・・・ここまで来たら、ようやく録画のテストが出来ます。
この場合、某国営放送を10秒間録画します。
こんな感じでファイルができたら、適当なプレイヤーで再生してみてください。
(細かくは聞かないでw ウチではこれで再生できました。)

recpt1 --b25 --strip 27 20 test.ts
using B25...
enable B25 strip
pid = 3467
C/N = 29.482054dB
Recording...
Recorded 21sec
ls -l 
合計 39404
-rw-r--r--. 1 root root 40349124 10月 25 02:08 test.ts

とりあえずPT3ドライバー周りの導入はここ迄。