2011年7月23日土曜日

PT2 をハードディスク・レコーダーへ (2)

前回に引き続いて PT2 を使ってハードディスク・レコーダー化のレポートです。

前回まででに PT2 のインストールが完了して手動で番組録画出来るようになっています。今回は EPGrec をインストールして、番組表の取得や録画予約が出来るようにします。これで本格的にハードディスク・レコーダーへ変身します。

参考にしたのはもちろん EPGrec の公式ホームページです。
録画予約システムepgrec
http://www.mda.or.jp/epgrec/

公式ホームページでは EPGrec を稼働させるために必要な apache php mysql などのインストール方法が詳しく述べられていません。ここでは私がインストールした時のメモも紹介します。

apache2 php5 mysql のインストール
まず必要なシステムを aptitude でインストールします。
# aptitude install apache2 php5 php5-cli php5-mysql mysql-server ffmpeg

mysql をインストールしているときに root のパスワードの設定があります。ここで自分で決定したパスワードを入力して設定します。この root のアカウントとパスワードは EPGrec の設定で使用しますので忘れないようにしてください。

一連のインストールが終了したところで mysql のデータベースを作っておきます。まず root ユーザーで mysql へログインします。mysql> と表示されればログイン成功です。
$ mysql -u root -p
password *****
mysql>


次にデータベースを作ります。私は epgrec の名前でデータベースを作りました。内部の構造までは作る必要はなく、EPGrec のインストーラーで設定してくれます。データベースを作ったら exit; で mysql からログアウトします。
mysql> create database epgrec;
mysql> exit;


epgdumpr2 のインストール
次に公式ホームページから epgrec で使用する epgdumpr2 のソースコードを取得してきます。ここでutf8コードに対応したパッチも用意されているので一緒にダウンロードしておきます。
  • epgdumpr2.tar.gz   ソースコード
  • epgdumpr2-utf8.tar.gz パッチ

このソースコードとパッチを解凍展開します。作業は PT2 の作業ディレクトリ内で行いました。パッチの epgdumpr2-utf8.tar.gz はソースコードを解凍展開して出来た epgdumpr2 の中へ上書きをしてしまうようです。
$ cd ~/PT2
$ tar zxvf epgdumpr2.tar.gz
$ tar zxvf epgdumpr2-utf8.tar.gz

ソースコードの展開が終わったら epgdumpr2 をビルドします。
$ cd epgdumpr2
$ make
$ su
# make install
make: *** ターゲット `install' を make するルールがありません. 中止.

ビルドが終了したところでスーパーユーザーとなってインストールを試みてみました。しかし make ファイルにインストールに関する情報がなかったようで上記のとおりインストールはできませんでした。そこで公式ホームページに記述されているとおりにコピーによりインストールしました。
# cp epgdump /usr/local/bin

at の設定
次に公式ホームページでは at の設定がありますが、Debian Squeeze では標準でインストールされているため新しくインストールをする必要はありません。

apache2 の設定

EPGrec は apache2 が提供するウェブサーバーの上で動作します。動作確認のためにブラウザのURLの部分に http://192.168.*.*/ とハードディスク・レコーダーとなるマシンの IP アドレスを入力して動作を確認してみます。IT works! と表示されていれば apache2 が正常に動作しています。


次にそこで EPGrec が使用するユーザーアカウントの www-data についていくつか設定を行っておきます。

まずは /etc/at.deny に設定されている www-data を削除して at で自動実行ができるようにします。どうも録画開始時刻の設定などで使用するものと思われます。vi エディタでファイルを開いた後、最終行にある www-data を削除します。
# vi /etc/at.deny
alias
backup
bin
daemon
ftp
games
gnats
guest
irc
lp
mail
man
nobody
operator
proxy
qmaild
qmaill
qmailp
qmailq
qmailr
qmails
sync
sys
www-data --- この行を消去します。

次に /etc/passwd の確認をしておきます。Debian Squeeze では apache2 をインストールした後の passwd の www-data の初期値は次のようになっていて変更の必要はありません。/sbin/nologin となっていないことを確認するだけです。
# cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/bin/sh

EPGrec のインストールと設定

まずはソースコードを公式ホームページからダウンロードしてきます。私は2010年3月22日版(epgrec-20100322.tar.gz)をダウンロードしてきました。作業をするデスクトップパソコンでsourceforgeからダウンロードした後、ハードディスク・レコーダーとなるマシンへ転送しました。

Debian Squeeze で apache2 のデフォルト・ディレクトリは EPGrec の説明文と同じ /var/www/ と同じとなっています。公式ホームページの説明文どおりに作業を進めてゆきます。

■EPGrec のソフトウェアを apache2 のデフォルト・ディレクトリとなる /var/www/ へ展開します。
$ su
# tar xvzpf epgrec-20100322.tar.gz -C /var/www/

念のためにパーミッションのチェックをします。パーミッションの内容は公式ホームページを参照してください。私の場合には問題なく展開されていました。
# ls -l /var/www/epgrec/

■EPGrec の動作を制御する config.php を設定します。

config.php は config.php.sample として存在していますのでコピーして作り出します。
# cp /var/www/epgrec/config.php.sample /var/www/epgrec/config.php

そして内容を住んでいる地域に合わせて編集します。
# vi /var/www/epgrec/config.php

私が住む地域では次のように設定しました。
// 識別子 => チャンネル番号
$GR_CHANNEL_MAP = array(
"GR14" => "14", // NHK
"GR15" => "15", // 教育
"GR18" => "18", // RCC
"GR19" => "19", // HTV
"GR22" => "22", // UHT
"GR23" => "23", // TSS
);

■録画スクリプト(do-record.sh)の設定

次の4つのサンプルが存在しています。
  • /var/www/epgrec/do-record.sh.friio
  • /var/www/epgrec/do-record.sh.sample
  • /var/www/epgrec/do-record.sh.pt1
  • /var/www/epgrec/do-record.sh.test

もちろん PT2 で使用できるdo-record.sh.pt1を使用します。
# cp --archive /var/www/epgrec/do-record.sh.pt1 /var/www/epgrec/do-record.sh

録画スクリプトの内容を一応確認してみます。最終行の部分が PT2 をインストールして録画テストをした時と同じ構文になっていることを確認しておきます。
# cat /var/www/epgrec/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/recpt1

$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null


これでインストールは終了となります。あとはブラウザから EPGrec へアクセスして設定作業を行います。

ブラウザで http://192.168.*.*/epgrec/index.php へアクセスをします。公式ホームページでは index.php の記述がありませんが、私が作業をした環境では自動的に index.php をウェブサーバーが送信してくれませんでした。そこで index.php の部分まで指定して初期インストーラーを起動させました。

まず最初に環境のチェックが行われます。問題がなければそのまま次のステップへ進みます。


次にステップでは mysql のデータベースの設定が行われます。基本的に初期値のままでも大丈夫なのですが、ハードディスク・レコーダーとして使用するには外部のパソコンからブラウザでアクセスが出来ないと問題となります。「インストールURL」の部分のところは localhost ではなく、IP アドレスか内部の LAN で使用しているホスト名を設定するようにしましょう。


デジタルチューナーの設定では PT2 に合わせて地デジチューナーの台数は2台にしておきます。その他は使用される環境に合わせて変更します。この部分は後からでも変更することができます。


EPG初回受信を行います。このページに書かれているとおりに定期的に EPG 受信をするスクリプトをコピーによって設定しておきます。
# cp /var/www/epgrec/cron.d/getepg /etc/cron.d/



しばらくすると次のページに切り替わります。これでEPG初回受信が終了しています。


再び EPGrec のトップページへブラウザでアクセスをして動作確認をします。番組表が表示されて、番組の部分をクリックすると番組予約のポップアップが表示されるはずです。後は実際に各部を操作してみて操作方法を体得するだけのようです。直感的な操作方法なので特に問題はないと思います。


なお一連の設定が終了した後、どうも上手く動作していない場合には次のページへブラウザでアクセスすると設定をし直すことができます。
http://192.168.*.*/epgrec/install/step1.php

1 件のコメント:

  1. こんにちは! あなたのブログを読んで, 私はあなたがepgrecを使用することを見た. 私はあなたにサービスを頼む,あなたが同意する場合、私は感謝するでしょう. あなたは、シリアルを登録することができる場合 "ポケットモンスター ベストウイッシュ" の TSC. 日本にいるではない、私はそれを得ることができません。そして私はこのシリーズの情熱です。(スタッフを使用してください。Tsは) ご返信いただきありがとうございます。(答えなら私はあなたのブログに続く) ありがとうございます。(私はトランスレータを使用)

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。