2011年7月24日、地上波のアナログ放送が終了しました。しかし、地元 CATV 局が暫くの間、デジタル放送をアナログ電波に変換して放送(デジアナ変換)してくれているお陰で、従来のアナログ放送専用機器でもデジタル放送を受信できるようになっています。
ところで、自宅で使用していた DVD-HDD レコーダは、アナログ チューナーのみを搭載している東芝製 RD-XS38 なのですが、アナログ放送終了と同時に電子番組表の提供も併せて停止されてしまったため不便な思いをしていました。番組を録画することはできても、目的の番組を録画予約したい場合には、古いビデオデッキのように、テレビ欄を見ながらチャンネル、放送開始時間、放送終了時間を都度設定しなければなりません。機械的にも全く問題ないのに、そのためだけにデッキを買い換えるのも勿体無いです。
そこで、番組表から一発で録画予約できるようにしてみました。以前のようにデッキだけで録画予約というわけにはいきませんが、テレビ欄を見ながらちまちまとチャンネルや放送時間を設定するよりは格段に楽チンだと思います。
RD シリーズには、電子メールで番組予約をする機能があります。なんらかの方法で、番組表から予約メールを飛ばすことができれば、チャンネル番号や放送開始時間、放送終了時間を都度都度入力して録画予約する手間が省けます。
ソースコードを Trac リポジトリから取得してください。バグ チケットの管理および最新版の配布等も Trac 上で行っています。
プロキシは Web サーバ上で動作する CGI スクリプトになっています。Web サーバはレンタル サーバを借りるなり、自宅サーバを建てるなり、何とか頑張って用意してください(^^;)ゞ ダウンロードしたスクリプトを、以下の設定項目を適切に変更した後に設置してください。この記事では、Web サーバの構築方法や一般的な CGI の設置手順などは説明していません。
もし、公衆ネットワークに公開された Web サーバに CGI を設置した場合には、その存在を秘密にするか、または適切な認証方法で CGI の実行を保護してください。そうしなければ、あなた以外の誰もが自由にあなたのデッキに番組予約できてしまいます。
########################################################################
### ユーザごとの各種設定
########################################################################
### 予約用メールアドレス
my $mail_address = 'rd@your.domain.example.com';
my $from_address = 'EPG2RD Proxy';
### メール予約パスワード
my $mail_password = 'rdstyle';
### チャンネル名とチャンネル番号の対応表
my %ch_name_num = (
'NHK総合1・京都' => 1,
'NHKEテレ1大阪' => 2,
'MBS毎日放送' => 3,
'KBS京都' => 4,
'ABCテレビ1' => 5,
'関西テレビ1' => 6,
'読売テレビ1' => 7,
);
### メール送信プログラムの指定
my $sendmail = '/usr/sbin/sendmail';
$mail_address$mail_passwordrdstyle が使われるようです。%ch_name_num$sendmail
通常、ブックマークを選ぶと、登録しておいた Web ページに一発で移動することができます。これと同じように、ブックマークを選ぶと、登録しておいた JavaScript が実行されるのがブックマークレットです。
録画予約したい番組の番組詳細ページを表示しているタイミングで、ブックマークレットを選ぶことで、その番組詳細ページをプロキシに渡すようにします。
javascript:void(location.href='http://your.domain.com/EPG/booking.cgi?pid='+location.href.replace(/D/g,''));
http://your.domain.com/EPG/booking.cgi の部分は、あなたが設置したプロキシ CGI の URL に変更してください。
$mail_address をデッキ宛のメールアドレスに設定すると、上手く番組予約できない場合などにハマるので、先ずは自分宛のメールアドレスを設定して動作確認してから、デッキのメールアドレスに変更すると better です。