いよいよ録画サーバの構築を進める。Linuxで録画機能を動かすにはPX-Q3PEを認識させて、スマートカードリーダーでB-CASカードを読み込み、録画用のrecpt1というコマンドで録画を行う。もし、録画に失敗した場合は障害ポイントがそこかしこに存在するために切り分けが非常に難しい。そこでまずはwin10で動作確認を行い、次にfoltiaでも動作確認を行い、環境面での問題はないはずという状態を作り上げてから自作の録画サーバに取り組む。既に実績のあるfoltiaのPX-Q3PEドライバ(kernel module)とrecpt1があれば、自分で作ったCentOS6でも録画機能が動作するはずだ。
地上波デジタル・BS・CS 8チャンネル同時録画テレビチューナボード PX-Q3PE by Yahoo! ショッピング |
先日構築したfoltia用の仮想サーバrec1はそのままにして、もう1つ素のCentOS6.7仮想サーバrec2を作る。foltia構築の時と同様にvirt-installの–hostdeviceオプションを使って、仮想サーバにチューナーボードとスマートカードリーダーのデバイスを引き渡す。rec1にデバイスを持ったままだとエラーになってしまうので、rec1の定義ファイルを修正してデバイスを外しておく。virsh edit rec1で<hostdev …> … </hostdev>の辺りを削除するだけ。修正したら再起動してデバイスを手放す。PX-Q3PEドライバと録画用コマンドrecpt1を渡したいので、rec1から該当ファイルをrec2にコピーする。
lsmod | grep -i px
pxq3pe_dtv 286545 2
modinfo pxq3pe_dtv
filename: /lib/modules/2.6.32-573.18.1.el6.x86_64/kernel/drivers/video/pxq3pe_dtv.ko
license: GPL
author:
description: PX-Q3PE driver module
srcversion: A6E2A26B94BF482246AB236
alias: pci:v0000188Bd00005220sv00000B06sd00000002bc*sc*i*
depends:
vermagic: 2.6.32-279.el6.x86_64 SMP mod_unload modversions
parm: irq_debug:enable debug messages [IRQ handler] (int)
parm: vid_limit:capture memory limit in megabytes (int)
ls -l /lib/modules/2.6.32-573.18.1.el6.x86_64/kernel/drivers/video/pxq3pe_dtv.ko
-rw-r--r-- 1 root root 4993716 3月 22 10:12 2016 /lib/modules/2.6.32-573.18.1.el6.x86_64/kernel/drivers/video/pxq3pe_dtv.ko
scp /lib/modules/2.6.32-573.18.1.el6.x86_64/kernel/drivers/video/pxq3pe_dtv.ko rec2:/usr/local/src
scp /usr/local/bin/recpt1 rec2:/usr/local/bin
rec2はbaseリポジトリで作ったので微妙にfoltiaよりkernelが古かったが問題ないレベル。コピーしたカーネルモジュールをrec2で読み込んでみる。PX-Q3PEのデバイスが認識されれば成功。
insmod /usr/local/src/pxq3pe_dtv.ko
lsmod | grep px
pxq3pe_dtv 286545 0
ls -l /dev/pxq3pe*
crw-rw---- 1 root root 248, 0 6月 30 20:15 2016 /dev/pxq3pe0
crw-rw---- 1 root root 248, 1 6月 30 20:15 2016 /dev/pxq3pe1
crw-rw---- 1 root root 248, 2 6月 30 20:15 2016 /dev/pxq3pe2
crw-rw---- 1 root root 248, 3 6月 30 20:15 2016 /dev/pxq3pe3
crw-rw---- 1 root root 248, 4 6月 30 20:15 2016 /dev/pxq3pe4
crw-rw---- 1 root root 248, 5 6月 30 20:15 2016 /dev/pxq3pe5
crw-rw---- 1 root root 248, 6 6月 30 20:15 2016 /dev/pxq3pe6
crw-rw---- 1 root root 248, 7 6月 30 20:15 2016 /dev/pxq3pe7
◇ PLEX/プレクス 地上デジタル/BS・CSクアッドテレビチューナー PCI-Express対応/内蔵型 PX-Q3PE ◆宅
|
どうやらうまくいったようだ。録画のためにはB-CASカードも認識させる必要がある。以下のように必要なパッケージをインストールしてpcsc_scanを使って動作確認をする。インストールをした後にrebootさせないとうまく動作しないかもしれない。
yum install pcsc-lite pcsc-lite-devel pcsc-lite-libs ccid
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/13/Everything/x86_64/os/Packages/pcsc-tools-1.4.16-1.fc13.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/13/Everything/x86_64/os/Packages/pcsc-perl-1.4.8-2.fc13.x86_64.rpm
yum install --enablerepo=rpmforge perl-Glib perl-Gtk2 perl-Pango pcsc-perl-1.4.8-2.fc13.x86_64.rpm pcsc-tools-1.4.16-1.fc13.x86_64.rpm
reboot
起動後にログインして、
pcsc_scan
PC/SC device scanner
V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.5.5
Scanning present readers...
0: MSI StarReader SMART (20070818000000000) 00 00
:
うちの環境は内部USB2.0ピンに接続された3.5インチドライブPF-001CRでB-CASを読ませているが、これも特に問題なかった。復号化に必要なライブラリもインストールする。
cd /usr/local/src
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd /usr/local/src/pt1-c44e16dbb0e2/arib25
make
make install
echo '/usr/local/lib' >> /etc/ld.so.conf
ldconfig
以上で録画のための準備は整った。早速、recpt1コマンドを使って録画処理を試してみる。–b25オプション、–stripオプションのあとにチャンネル、記録秒数、ファイル名、–deviceオプションで録画に使うチューナーデバイスを指定する。地上波用のチューナーデバイスは/dev/pxq3pe2と3と6と7になる。残りがBS用。指定したチャンネルに相当するデバイスを選ばないと正しく記録されないので注意。
recpt1 --b25 --strip 22 5 /tmp/test.ts --device /dev/pxq3pe2
using B25...
enable B25 strip
pid = 2205
C/N = 19.838373dB
Recording...
Available sid = 1048 1049 1432 1183
Chosen sid =
Available PMT = 0x101 0x102 0x1fc8 0x7f0
Recorded 6sec
やった、録画出来た!録画サーバに向けた基本的な環境は準備できそう。Linuxで動作する録画サーバは幾つかあるが、foltiaはアニメ特化かつ有償だし、Chinachuはバイナリ同梱なのでPX-Q3PEで動かすには向いてなさそう。epgrecが1番自由度高そうなので、これを最初に動かしてみるつもり。epgrecにはフォークした派生版が幾つかあって、中でも評判の良さそうなepgrec UNAにトライしてみたい。まだ、幾つか課題があるんだけどね。