BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

ネットリモコン(ONTV)→mAgicTV5録画予約

早速挑戦してみた。誰にでも使える方法というわけではないけど、一応公開。

まず、mReservをダウンロードします。mAgicTV5用のバッチファイルが必要なので作ってください。内容は次の通りです。

# mAgicTV5用バッチファイル
Sleep 3000
FindWindowEx 8 0,"#32770","予約設定",30,100
FindWindowEx 9 8,"Button","OK(&O)",30,100
SetForegroundWindow 1
SendMessage 9 0x0201
SendMessage 9 0x0202

これで録画マシン上でmReservを動かして、iEPGフォーマットのメールを送って録画予約ができることを確認してください。

確認できたら、今度はメールサーバにネットリモコン→iEPG変換フィルタを仕込みます。即席で手抜きですが適当にフィルタプログラムを書きました。次のような感じです(netremocon2iepg.rb)。

#!/usr/local/bin/ruby
require "kconv"
stations = { "SC0031" => "NHK総合", "SC0041" => "NHK教育", "SC0004" => "日本テレビ", "SC0005" => "TBSテレビ", "SC0006" => "フジテレビ", "SC0007" => "テレビ朝日", "SC0008" => "テレビ東京", }
while line = gets puts line break if line =~ /^$/ end rec = gets.split(/\s+/) title = gets _, month, date = */(\d\d)(\d\d)/.match(rec[6]) station = Kconv::tojis(stations[rec[3]]) statr_time = /(\d\d)(\d\d)/.match(rec[4]). to_a.values_at(1,2).join(":") end_time = /(\d\d)(\d\d)/.match(rec[5]). to_a.values_at(1,2).join(":") now = Time.now year = now.year year = year + 1 if month.to_i < now.month
print "Content-type: application/x-tv-program-info; " puts "charset=shift_jis" puts "version: 1" puts "station: " + station puts "year: " + year.to_s puts "month: " + month.to_s puts "date: " + date.to_s puts "start: " + statr_time puts "end: " + end_time puts "program-title: " + title

チャンネルコードは地域に合わせて書き換えてください(こちらを参考)。これは首都圏用です。

このへんは分かる人だけどうぞってことで、フィルタの設定方法は詳しくは説明しませんが、.procmailを使うのならこんな感じですね。

:0fw
| /home/hoge/bin/netremocon2iepg.rb

これで、ONTV上から「MAIL録画予約」できるようになります。今のところONTVのみで確認しているので、他のネットリモコンで動くかどうかは不明です。

快適になりましたが「すでに番組が始まってると録画できない」「予約取り消しができない」「予約状況の確認ができない」あたりがちょっと不満かな。それからONTVの機能として携帯からだと今日明日の番組表しか見られないというのが不満。でも緊急用途と考えれば必要十分でしょう。