meter
spacerspacer2662

iEPG番組表からネットdeナビを使う

雑多な情報
メニュー更新中

SONY のブルーレイレコーダからレグザーサーバ DBR-M590 に買い換えて一番悩んでいたのは、パソコンでWebのTV番組表「テレビ王国」を見ていて、

「これ録画したい!」

と思っても、ワンクリックで簡単に録画予約する方法がないこと。
Android の制御アプリはもうやる気ないようだし、ネットdeナビの録画予約機能はハッキリ言って作業が「面倒臭い」。ましてや、いちいち実機に移動して録画予約するなんて考えたくもない。
せっかくテレビ王国には、いくつかの録画予約サービスが用意されているので、 DBR-M590 でも利用できる、iEPG録画予約サービスとネットdeナビの録画予約(eメール録画機能)を簡単に繋げるWebヘルパーアプリケーションを作成してみた。

概要としては、テレビ王国から希望の番組のiEPGファイル(iEPGデジタル用)をgetし、そのデータをこのアプリ(iepgregza)でネットdeナビ用の録画予約メールを作成して送信、 DBR-M590 が定期的にメールを読んでくれ、録画予約は完了。

残念ながら昔と違って、Webブラウザ側が拡張子から自動で紐付いたアプリケーションを起動するWebヘルパーアプリケーション機能が自由に開放されていないものがあるので、目指した「ワンクリック」には完全にならないものがあった。まぁ、ダウンロードされた「iepg.tvpid」ファイルをダブルクリックすれば実行できるので、これでもないよりはマシだ。
難点としては、DBR-M590 用のメールアカウントを必要とすることだ。

DBR-M590 以外は持っていないので保証はできないが、ネットdeナビの録画予約(eメール録画機能)が使える機種なら、多分このアプリでいけると思う。

 

fake sendmailの構築

  1. fake sendmail for windowsをダウンロードし、sendmail.zip を任意の場所に解凍する。
  2.  

  3. sendmail.ini をテキストエディタで開き、使用するSMTPサーバ用に設定変更する。
    ゆるゆるのプロバイダなら、18行目「smtp_server=」の値だけ。
    SSL/TLSを使うなら、「smtp_port=」と「smtp_ssl=」。SMTP認証を使うなら、「auth_xxx=」系。
    POP3 before SMTPを使うなら、「pop3_xxx=」系。
    あくまで単に、メールを送信するためだけのコマンドなので、根を詰めないで大丈夫。
  4. ; configuration for fake sendmail
    
    ; if this file doesn't exist, sendmail.exe will look for the settings in
    ; the registry, under HKLM\Software\Sendmail
    
    [sendmail]
    
    ; you must change mail.mydomain.com to your smtp server,
    ; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
    ; emails delivered via IIS's pickup directory cause sendmail to
    ; run quicker, but you won't get error messages back to the calling
    ; application.
    
    smtp_server=mail.mydomain.com
    
    ; smtp port (normally 25)
    
    smtp_port=25
    
    ; SMTPS (SSL) support
    ;   auto = use SSL for port 465, otherwise try to use TLS
    ;   ssl  = alway use SSL
    ;   tls  = always use TLS
    ;   none = never try to use SSL
    
    smtp_ssl=auto
    
    ; the default domain for this server will be read from the registry
    ; this will be appended to email addresses when one isn't provided
    ; if you want to override the value in the registry, uncomment and modify
    
    ;default_domain=mydomain.com
    
    ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable logging
    
    error_logfile=error.log
    
    ; create debug log as debug.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable debugging
    
    ;debug_logfile=debug.log
    
    ; if your smtp server requires authentication, modify the following two lines
    
    auth_username=
    auth_password=
    
    ; if your smtp server uses pop3 before smtp authentication, modify the 
    ; following three lines.  do not enable unless it is required.
    
    pop3_server=
    pop3_username=
    pop3_password=
    
    ; force the sender to always be the following email address
    ; this will only affect the "MAIL FROM" command, it won't modify 
    ; the "From: " header of the message content
    
    force_sender=
    
    ; force the sender to always be the following email address
    ; this will only affect the "RCTP TO" command, it won't modify 
    ; the "To: " header of the message content
    
    force_recipient=
    
    ; sendmail will use your hostname and your default_domain in the ehlo/helo
    ; smtp greeting.  you can manually set the ehlo/helo name if required
    
    hostname=
    

     

  5. メール送信テストで動作確認をする。コマンドプロンプトで、下記のコマンドを実行し、無事にメールが届けば完了。
    アプリ名からも分かるように、本家のsendmailコマンドの「-t」オプションのみを再現したもので、このコマンドを使うときは -t オプションが必須と覚えておく。
  6. @ECHO OFF
    ECHO From: [送信元メールアドレス] > %TEMP%\temp.mail
    ECHO To: [配信先メールアドレス] >> %TEMP%\temp.mail
    ECHO Subject: this is a test >> %TEMP%\temp.mail
    ECHO.>> %TEMP%\temp.mail
    ECHO testing. >> %TEMP%\temp.mail
    ECHO blah blah.. >> %TEMP%\temp.mail
    ECHO. >> %TEMP%\temp.mail
    ECHO blah. >> %TEMP%\temp.mail
    
    [sendmailコマンドのパス] -t < %TEMP%\temp.mail
    
    DEL %TEMP%\temp.mail
    

 

ネットdeナビの設定

  1. パソコンから DBR-M590 にWebブラウザでアクセスし、ネットdeナビの説明書を参考にネットdeナビの設定を完了させる。
    私がハマったポイントだが、「電源ON時のPOP3アクセス間隔」はメールを受信する間隔を指定するが、「電源OFF時のPOP3アクセス間隔」は1日8回(2, 5, 8, 11, 14, 17, 20, 23時の何分に受信するかを設定するもので、間隔を指定するものではない。
    通常、電源「入」の状態にしてる人は多くないと思うので、録画予約メールの内容が反映されるのは、最長で3時間掛かるということ。

 

iepgregza環境の構築

  1. iepgregza をダウンロードし、任意の場所に解凍する。
  2.  

  3. iepgregza.ini をテキストエディタで開き、設定変更する。「[パラメータ名]: 」の「 」(半角スペース)を忘れないこと。
    1~7行目は「//」以降のコメントを参考に記述。2~7行目の用語が不明な場合はネットdeナビの説明書も参考に。
  4. sendmail: "C:\sendmail\sendmail.exe"	// sendmailプログラムパス
    passwd: HOGEHOGE			// メール予約パスワード(REGZA側)
    recmode: DR				// 録画モード(REGZA側)DR/AF/AN/AS/AL/AE/XP/SP/LP/EP
    rectrg: H1				// 録画先(REGZA側) H1:HDD / U1-U8:USB-HDD / B1:ブルーレイディスク
    recfix: EY				// 予約方法(REGZA側) EY:番組表予約 / EN:時刻指定予約
    addrfrom: hoge@hoge.com			// 送信元メールアドレス
    addrto: regza@hoge.com			// 配信先メールアドレス
    

     

  5. 11行目以降は、自分の環境に合った放送局に書き換える。
  6. // iEPGデータ <-> REGZA 放送局ID対照設定
    // CH: [iEPGデータ側stationID] [REGZA側録画チャンネルID]
    CH: DFS00400 D011			//NHK総合・東京
    CH: DFS00408 D021			//NHKEテレ1・東京
    CH: DFS0040A D023			//NHKEテレ3・東京
    CH: DFS00410 D041			//日テレ
    CH: DFS00428 D052			//テレビ朝日
    CH: DFS00418 D061			//TBS
    CH: DFS00430 D071			//テレビ東京
    CH: DFS00420 D081			//フジテレビ
    CH: DFS05C38 D091			//TOKYO MX1
    CH: DFS05C3A D092			//TOKYO MX2
    CH: DFS00440 D121			//放送大学1
    CH: DFS00441 D122			//放送大学2
    CH: DFS00442 D123			//放送大学3
    

     

    「iEPGデータ側stationID」はテレビ王国側のiEPGファイル(iEPGデジタル用)の「station: 」パラメータの値を記述。
    テレビ王国から、iEPGファイル(iEPGデジタル用)をダウンロードするには、下図のように設定変更しておくこと。ダウンロードされるファイルの拡張子が必ず、「.tvpid」であることに注意!

    下記が「iepg.tvpid」のサンプルで、この「station: 」の値を「iEPGデータ側stationID」とする。

    Content-type: application/x-tv-program-digital-info; charset=shift_jis
    version: 2
    station: DFS00400
    station-name: NHK総合・東京
    year: 2017
    month: 07
    date: 13
    start: 10:40
    end: 10:45
    program-title: きょうの料理「ほげほげ」[字]
    program-id: 13925
    genre-1: 2
    subgenre-1: 5
    genre-2: 10
    subgenre-2: 15
    Copycontrol-1: 1,2,0
    Component-video-1: 179
    
    ほげほげ。
    

     

    「REGZA側録画チャンネルID」は DBR-M590 側で管理される「録画チャンネルID」を記述。
    これを調べるには、各局の任意の番組を録画予約し、ネットdeナビの「録画予約一覧」に表示される「CH」の値を書き留める。

    そして、ネットdeナビの説明書の「eメールで録画予約する」→「8 録画チャンネル」に記載されている下記の説明の命名規則で記述する(地上デジタルは先頭に「D」、BSデジタルは「BS」、CSデジタルは「CS」が付いていないとダメっていうのが重要)。

    地上デジタル:DXXX-X
    BSデジタル:BSXXX
    CSデジタル:CSXXX
    「XXX」はチャンネル番号です。地上デジタルの「-X」は枝番号です。枝番号があるときは、枝番号まで正しく指定してください。枝番号を指定しないと、意図しない放送が予約されることがあります。

    ちなみに私の地域では枝番号を確認できなかった。
    なお、DLNAプレーヤソフトがあれば単純に、 DBR-M590 のライブチューナーに表示される項目を見れば一目瞭然だったりします(放送局名の横の「()」内の値)。

 

OS側環境の設定

  1. Webヘルパーアプリケーション機能といえば、一昔前はWebブラウザ側で MIME(Content-type)により処理を判別するのが主流だったが、現在はWebブラウザ側は放棄し、Windows側の拡張子による判別を使うようだ。そのため、拡張子「.tvpid」と、iepgregza を関連付けておく。
    まずは、ダウンロードした任意の「iepg.tvpid」をダブルクリックする。
  2.  

  3. 下記ダイアログが表示されるので、「インストールされたプログラムの一覧からプログラムを選択する」を選択し、「OK」ボタンをクリックする。
  4.  

  5. 下記ダイアログが表示されるので、「参照」ボタンをクリックする。
  6.  

  7. 下記ダイアログが表示されるので、任意の場所に解凍した iepgregza.exe を選択し、「開く」ボタンをクリックする。
  8.  

  9. 下記ダイアログが表示されるので、「OK」ボタンをクリックする。
  10.  

  11. コマンドプロンプトが起動し、iepgregza が実行される。とりあえずは「enter」キーを入力し、次へ進む。
  12.  

  13. 「録画予約メールを送信しますか?」と表示されるので、「n」を入力し、処理を中止する(自動的に、コマンドプロンプトも終了する)。
    これで、拡張子「.tvpid」と、iepgregza の関連付け作業は完了。

 

iepgregzaの使い方

  1. テレビ王国からiEPGファイル(iEPGデジタル用)をダウンロードすれば、iepgregza が起動する。ただし、使用するWebブラウザによって挙動は異なるので、代表的な「internet explorer」、「Google Chrome」、「Mozilla FireFox」の3つを記載する。
  2. internet explorer
    ダウンロード完了後、下図のようなダイアログが下部に表示される。「ファイルを開く」をクリックすると、iepgregza が起動する。

     

    Google Chrome
    ダウンロード完了後、下図のような情報バーが下部に表示される。「iepg.tvpid」をクリックすると、iepgregza が起動する。
    次回から情報バーの表示なしに iepgregza を起動する場合は、下矢印ボタンをクリックして表示される「この種類のファイルは常に開く」をチェックすること。

     

    Mozilla FireFox
    ダウンロード完了後、下図のようなダイアログが表示される。「プログラムで開く」をチェックし、「tvpid_auto_file(既定)」が選択されていることを確認し、「OK」ボタンをクリックする。
    次回からダイアログの表示なしに iepgregza を起動する場合は、「今後この種類のファイルは同様に処理する」をチェックしてから、「OK」ボタンをクリックする。。

     

  3. コマンドプロンプトが起動し、iepgregza が実行される。ほとんどの設定は iepgregza.ini で指定済みだが、「毎週/毎日録画」設定のみ毎回指定する。希望のオプション番号を半角数字で入力する。
  4.  

  5. 送信するメールの内容を表示後、「録画予約メールを送信しますか?」と表示されるので、問題なければ「y」を入力、中止する場合は「n」(「y」以外)を入力する(自動的に、コマンドプロンプトも終了する)。
  6.  

  7. あとはネットdeナビの設定通りに DBR-M590 がメールを読んでくれれば録画予約は完了。メール通知機能を有効にしていれば予約完了後、メール予約完了のメールが届けられる。

 


電源「切」時のメール受信間隔をもう少し柔軟に設定できればうれしいが、こんなもんか。
3時間以内に録画予約したいものがあるときには諦めたほうが良さそうだ。