備忘録のため,内容の正当性については責任を持ちません。

CentOS 5.6 (64bit) と Quixun の地デジチューナ QRS-NT100P で録画サーバを構築する方法をメモしておく。 B-CAS カードリーダには,定番の SCR3310-NTTCom を使用する。

QRS-NT100P



必要なパッケージのインストール

recfriio などのプログラムをコンパイルする際に必要となるパッケージを yum でインストールする。

# yum -y install glib glib-devel gcc-c++ glib2-devel libX11-devel libXtst-devel libstdc++-devel boost-devel libusb-devel

カードリーダの認識

pcscd の動作に必要なパッケージを yum と RPM でインストールする。

# yum -y install ccid pcsc-lite-devel
# yum -y install perl-Gtk2 --enablerepo=rpmforge
# mkdir /usr/local/rpm
# cd /usr/local/rpm
# wget http://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-perl-1.4.6-2.fc8.x86_64.rpm
# wget http://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/x86_64/os/Packages/pcsc-tools-1.4.10-1.fc8.x86_64.rpm
# rpm -ivh pcsc-perl-1.4.6-2.fc8.x86_64.rpm pcsc-tools-1.4.10-1.fc8.x86_64.rpm
# wget -O /usr/share/pcsc/smartcard_list.txt http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt

pcscd を起動する。

# chkconfig pcscd on
# /etc/init.d/pcscd start

カードリーダを接続して B-CAS カードを挿入し,認識されるか確認する。

# pcsc_scan
PC/SC device scanner
V 1.4.10 (c) 2001-2007, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.3.3
Scanning present readers
0: SCM SCR 3310 NTTCom 00 00

Sun Jun 19 20:10:34 2011
 Reader 0: SCM SCR 3310 NTTCom 00 00
  Card state: Card inserted,
  :
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
        Japanese Chijou Digital B-CAS Card (pay TV)

recfriio などのインストール

SKNET_AS11Loader.sys (080701 版) を入手してきて,

/lib/firmware/

に配置する。

DTV関係ツールのアップローダから,必要なファイルをダウンロードしてくる。

# wget http://2sen.dip.jp/cgi-bin/friioup/source/up0777.zip
# wget http://2sen.dip.jp/cgi-bin/hdusup/source/up0127.zip
# wget http://2sen.dip.jp/cgi-bin/hdusup/source/up0257.zip
# wget http://2sen.dip.jp/cgi-bin/pt1up/source/up0215.zip
# wget http://www.geocities.co.jp/SiliconValley/3689/ps3_dtv/ut100b_patch.zip

zip ファイルを解凍する。

# unzip up0777.zip
# cd recfriior4
# unzip ../up0127.zip
# unzip ../up0257.zip
# unzip ../up0215.zip
# unzip ../ut100b_patch.zip

パッチをあてる。

# cd recfriior4
# patch -p1 < ../hdus-recfriior4/recfriior4.diff
# patch -p1 < ../recfriio-newpatch/recfriior4-newhdus.patch
# cd ../arib25v021
# patch -p1 < ../recpt10.0.6patch/arib25v021_023.patch
# cd ../recfriior4
# patch -p1 < ../ut100b.patch
# sed -i -e "s/\-mt//g" Makefile

2ch のスレより,

194:login:Penguin:2009/12/26(土) 17:07:27 ID:Wg1BO/PD
誰か recfriio + QRS-NT100P (0x6052) で録画できてる人いますか?

CentOS5.4 で make できたけど、生成された ts ファイルが再生できない。。
tsselect.exe では「error – failed on select_unit_size()」て言われました。
(以下省略)

197:login:Penguin:2009/12/26(土) 19:09:15 ID:IGCeeLy3
>>194
たぶん自前で PRODUCT ID のチェックを入れたんだろうけど,
QRS-NT100P って HDP じゃなくて HDUS として扱うべきなんじゃね?

らしいので,QRS-NT100P 用に setting.hpp を編集する。

# cd ../recfriior4
# vi setting.hpp
const uint16_t TARGET_ID_PRODUCT_HDUS = 0x6051;
  ↓
const uint16_t TARGET_ID_PRODUCT_HDUS = 0x6052;

コンパイルする。

# make

できあがった実行ファイルを /usr/local/bin にコピーする。

# cp /usr/local/src/recfriio/recfriior4/recfriior4/recfriio /usr/local/bin
# cp /usr/local/src/recfriio/recfriior4/arib25v021/arib25/src/b25 /usr/local/bin
# cp /usr/local/src/recfriio/recfriior4/hdus-recfriior4/as11loader/as11loader /usr/local/bin

QRS-NT100P を認識させる。

# cd /lib/firmware
# as11loader

認識されたか確認する。

# lsusb
Bus 002 Device 013: ID 3275:6052 VidzMedia Pte Ltd
  :

録画できるかどうかのテストは次のようにすれば良い。

$ recfriio --b25 --hdus 21 15 test.ts

epgrec のインストール

フロントエンドは epgrec を使用する。

epgdump をダウンロードしてコンパイルし, /usr/local/bin にコピーする。

# wget -O epgdumpr2.tar.gz "http://www.mda.or.jp/epgrec/index.php?plugin=attach&refer=%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99&openfile=epgdumpr2.tar.gz"
# tar -xvzf epgdumpr2.tar.gz
# cd epgdumpr2
# make
# cp epgdump /usr/local/bin

epgrec をダウンロードする。

# cd /usr/local/src
# wget -O epgrec-20100406-test.tar.gz "http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fepgrec%2F46823%2Fepgrec-20100406-test.tar.gz"
# tar -xvzf epgrec-20100406-test.tar.gz
# cp -r epgrec /var/www

Apache の設定を変更して,web ブラウザでアクセスできるようにする。

# vi /etc/httpd/conf.d/epgrec.conf
alias /epgrec /var/www/epgrec

<Directory /var/www/epgrec>
    Options Indexes
</Directory>
# vi /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.var
  ↓
DirectoryIndex index.html index.php
# /etc/init.d/httpd reload

epgrec の設定を行なう。

# cd /var/www/epgrec
# chmod 0777 cache/ templates_c/ video/ thumbs/ settings/
# cp config.php.sample config.php
# vi do-record.sh
#!/bin/sh

echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"

RECORDER=/usr/local/bin/recfriio

if [ ${MODE} = 0 ]; then
   $RECORDER --b25 --hdus --strip $CHANNEL $DURATION ${OUTPUT}
   echo $RECORDER --b25 --hdus --strip $CHANNEL $DURATION ${OUTPUT}
fi

あとは設置した URL にアクセスして,適宜設定を行なえば設置完了だ。

なお,録画するときに

PHP Notice: Constant RECORDER_CMD already defined in /var/www/epgrec/recorder.php on line 14

のようなエラーが出る場合は,recorder.php を次のように修正する。

# vi /var/www/epgrec/recorder.php
if( ! defined( RECORDER_CMD ) ) {
  ↓
if( ! defined('RECORDER_CMD') ) {

参考ページ

コメント

コメント(1) “Linux + QRS-NT100P で録画サーバを構築する”

  1. あなたが私にあなたのepgrecアクセスもを与えることができる、してください?

コメントする




CAPTCHA