|
2012/02/12 23:01
だいぶ前にPT2を買って録画鯖を構築したので備忘録として手順とかまとめてみました。
素人なりに色々調べてやったことなので設定とかどっかおかしい所があるかもしれませんがご容赦下さい。
まずICカードリーダーを使えるようにします。今回はNTTのSCR3310-NTTComを使用しました。
sudo apt-get install libccid pcsc-tools libpcsclite-dev pcscd
これでカードリーダーが使えるよになったはずなので
sudo pcsc_scan
とやってずらずらと文字列が出て最後の方にJapanese Chijou Digital B-CAS Card (pay TV)と出てればOKです。
カードリーダーのランプがチカチカ点滅してたらちゃんと認識できてるはずです。
次はPT2のドライバとかをインストールします。
ソースコードからコンパイルしないといけないみたいなのでコンパイルに必要なパッケージを最初にインストールします。
sudo apt-get install build-essential
次にsourceforge のepgrec 置き場からPT2のドライバをダウンロードします。
ダウンロードしたファイルを展開して出来たディレクトリに移動してドライバをコンパイルしてインストールします。
私がやったときはpt1-drv_20111001.tar.gzをホームフォルダのDownloadに保存してpt1-7662d0ecd74bってディレクトリが出来ました。
コマンドで
cd ~/Download/pt1-7662d0ecd74b/driver/
make
sudo make install
とやればインストールできます。
pt1-7662d0ecd74bに録画プログラムのrecpt1も入っているのでコンパイルしてインストールします。
さっきの続きで
cd ../recpt1/
make
sudo make install
です。
それでARIB STD-B25 仕様確認テストプログラムをインストールします。
ドライバ置場のhg no longer accepts '#' in a templateをクリックして左のbz2をクリックしてファイルをダウンロードして展開します。
pt1-c44e16dbb0e2ってディレクトリができるのでさっきと同じようにmakeしてinstallします。
cd ~/Download/pt1-c44e16dbb0e2/arib25/
make
sudo make install
ここまでやったら一旦再起動します。再起動したら
lspci |grep Xilinx
とやって
04:06.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)
みたいなメッセージが出ればPT2を認識しています。それで
ls -lart /dev/ |grep pt1
で
crw-rw-rw- 1 root video 250, 3 2012-02-12 08:55 pt1video3
crw-rw-rw- 1 root video 250, 2 2012-02-12 08:55 pt1video2
crw-rw-rw- 1 root video 250, 1 2012-02-12 08:55 pt1video1
crw-rw-rw- 1 root video 250, 0 2012-02-12 08:55 pt1video0
とか出ればドライバがインストールされてます。
あとカーネルが更新されるとドライバを入れ直す必要があるので、
cd ~/Download/pt1-7662d0ecd74b/driver/
make clean
make
sudo make install
でドライバを入れ直します。それでPT2がちゃんと動くかテストします。
カレントディレクトリに大きなファイルを作りたくない場合は適当にcdしてから
recpt1 --b25 --strip 25 30 test.ts
とやれば私の場合NHKが30秒録画されます。
適当な動画プレイヤーでtsがちゃんと再生できれば成功です。
次に録画予約システムのインストールです。
私はepgrecを使ってます。epgrecはLAMP環境が必要なのでまずLAMP環境を構築します。
パッケージを個別に入れてもいいのですがtaskselを使ったほうが簡単です。
sudo apt-get update
sudo tasksel
これでtaskselが起動するので「LAMP server」を選択します。
選択のON/OFFはスペースキーで行いTABキーを押してokをEnterします。
あとはパッケージがインストールされてMySQLのroorのパスワードを設定して完了です。あとMySQLのデータベース作るときにphpmyadminがあると便利なのでインストールします。
sudo apt-get install phpmyadmin
インストールするときにどのウェブサーバーを設定するかみたいなことを聞いてくるのでapache2を選択、
次にデータベースがどうのこうのとか聞いてくるので「はい」を選択、
更に管理者権限のパスワードを聞いてくるのでさっきのパスワードを入力、
phpmyadminがデータベースサーバに登録するパスワードを聞いてくるので同じパスワードを入力、
パスワードの確認をしてくるのでもっかい同じパスワードを入力してインストールは完了。
次にepgdumpr2のインストールです。最初の方のsourceforge のepgrec 置き場からepgdumpr2をダウンロードして展開、
出来たディレクトリの中のepgdumprを/usr/local/binにコピーします。
cd ~/Download/epgdumpr2/
sudo cp epgdumpr /usr/local/bin
test.tsのあるディレクトリで
epgdump test test.ts - | less
とやってずらずらっと番組名っぽいのが表示されたらepgdumpのインストールは成功です。
次にatをインストールします。
sudo apt-get install at
epgrec本家サイトのインストール前の準備を参考に適当なエディタで/etc/at.denyを開いてwww-dataの記述を削除
sudo gedit /etc/at.deny
次にepgrecで使うデータベースをphpmyadminで作ります。適当なウェブブラウザでhttp://localhost/phpmyadminを開きます。
ログイン画面が出るのでさっき設定したパスワードでログインします。
ちなみにlocalhostの部分を録画鯖のIPアドレスにすればLAN内の他のPCからphpmyadminにログインすることも出来ます。
それで特権タブをクリックして「新しいユーザーを追加する」をクリック適当なユーザー名とパスワードを入力、
ホストはローカルに設定、「同名のデータベースを作成してすべての特権を与える」にチェックして作成。
私は分かりやすいようにユーザー名「epgrec」で作成しました。
データベースの作成が終わったらepgrecのインストールに移ります。
まず、sourceforge のepgrec 置き場からepgrecをダウンロードして/var/www/に展開します。
sudo tar xvzpf epgrec-20111001.tar.gz -C /var/www/
展開したらepgrec本家サイトの「epgrecのインストールと設定」を参考にパーミッションを変更します。
パーミッションの設定は以下のとおり
ファイル/ディレクトリ パーミッション
cache/ 777
templates_c/ 777
video/ 777
thumbs/ 777
settings/ 777
その他のディレクトリ 755
do-record.sh* 755
do-record.sh.friio* 755
do-record.sh.test* 755
do-record.sh.pt1* 755
getepg.php* 755
recomplete.php* 755
gen-thumbnail.sh 755
その他のファイル 644など
次はconfig.phpの設定です。
まず/var/www/epgrec/config.php.sampleをconfig.phpにリネームします。
sudo mv /var/www/epgrec/config.php.sample /var/www/epgrec/config.php
リネームしたら適当なエディタで開きます。
sudo gedit /var/www/epgrec/config.php
開いたらチャンネルマップを編集します。ここは自分の住んでる地域にあわせて設定して下さい。
私の住んでるところだと以下のとおりです。
$GR_CHANNEL_MAP = array(
"GR25" => "25", // NHK
"GR13" => "13", // 教育
"GR33" => "33", // 毎日
"GR23" => "23", // 京都
"GR38" => "38", // 朝日
"GR17" => "17", // 関西TV
"GR35" => "35", // 読売TV
"GR27" => "27", // 大阪TV
);
次はdo-record.shの設定です。私はPT2を使ってるので
sudo cp /var/www/epgrec/do-record.sh.pt1 /var/www/epgrec/do-record.sh
とします。次に大きファイルができても構わないディレクトリに移動して
OUTPUT=test.ts CHANNEL=25 DURATION=30 TUNER=0 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh
これでうまく録画できたらhttp://localhost/epgrec/にアクセスして言われるまま設定します。
ここでさっき作ったデータベースとかパスワードを入力します。
私は大容量のHDDに録画したtsを保存したかったので/var/www/epgrec/video/にシンボリックリンクを貼りました。
次にepgを自動受信するためにcronを設定します。
sudo cp /var/www/epgrec/cron.d/getepg /etc/cron.d/
として、適当なエディタで/etc/cron.d/にコピーしたgetepgを下記のように編集します。
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
29 */4 * * * www-data /var/www/epgrec/getepg.php
これで4時間ごとにepgを取得してくれます。手動でepgを取得する場合は
/var/www/epgrec/getepg.php
です。これで作業は完了です。あとはhttp://localhost/epgrec/にアクセスして録画予約するだけです。
|