フリーオで予約録画する

Friio HDTV Player の Control Panel (右の画面)を見れば判る通り、フリーオには予約録画の機能がありません。フリーオで予約録画させる設定をやってみました、の記録です。しかし、FriioViewのヘルプを見るとコマンドラインで録画が指定できるので、こんな面倒なことをやる必要はありませんでした。まあ他の用途にも使えそうなノウハウなので記述は残しておきます。
もっと簡単な方法:
C:\Program Files\Friio\FriioView -o 1 -r 121 -d 30 -c 771113008 -x -n
  このコマンドを録画開始1分前に実行するよう設定する
-o 1何番目のFriioか(0,1,2,3,で指定)
-r 121121分録画する(120分番組を録画する場合)
-d 3030秒待ってから録画開始する
-c CHチャンネル番号の10進表記(771113008=WOWOW, 778584209=starchannel, 786186482=NHK-hi)
-x録画終了後にFriioViewを終了する
-npreviewウインドウを表示しない
-s id(主にCS放送の場合指定が必要)service idを指定(例:フジCSHD -c 805502976 -s 306)
ちなみに、FriioViewではなくTVTestを使う場合、TVTestのコマンドラインオプションは TVTest.txt を参照すれば良い
例:東京でフジテレビを57秒後から1時間録画して終了(chはリモコン番号で /rch 8 と指定する方が楽かも)
TVTest /ch 21 /noview /rec /recdelay 57 /recduration 3600 /recexit /recfile F:\temp.ts /s 
PT2などで複数録画可能なのを前提としている場合、/sは付けないのが普通

準備編(まずは手動でということで -- この項は飛ばしてもいい)
  1. フリーオを接続したWindows PCを遠隔で操作するため、VNCをインストールする。遠隔操作なら「リモートデスクトップ」という手もあるが、VNCの方が操作後にネットが切れてもOKなので扱いやすい。Windows Firewallの設定で "winvnc4.exe" を "Add Program" して接続を許可する。
  2. 操作するリモートPC(以下remote)にvncviewerが無ければインストールする。vncviewerはどのOSでも動くがUNIX系にしておけばこの先の設定が楽
  3. 間違ってもインターネット経由で直接VNC接続してはいけない。VNCは通信が暗号化されない。SSHのport forwardingを用いるのが簡単。Windowsと一緒に中継用UNIXマシンを用意し、
    remote% ssh -L 5900:[WindowsPCのlocal IPaddress]:5900 [中継用UNIXマシンのglobal host name]
    でセッションを張った上で、
    remote% vncviewer 127.0.0.1
    で接続する

設定編
  1. カーソル2.0 (マウスカーソル位置を表示するフリーソフト)をインストール
    vectorで公開されている「カーソル」をインストールする。-- Ver2.0のcache (cursor20.lzh)
    このソフトは設定に不可欠ではないが、あると便利。ちなみに終了機能が無いのでタスクマネージャで終了する。
  2. BatchClick1.0 (バッチファイルの指定に従いマウスクリックするフリーソフト)をインストール
    vectorで公開されている「バッチクリック」をインストールする。-- Ver1.0のcache (BatchClick.LZH)

使い方編
  1. "Preview" と "Rec" の座標位置を検出する
    「カーソル2.0」を使って調べる。Friio HDTV Player の Control Panel を画面左上に置いた場合、Preview が (334,55) Rec が (291,86) あたりになる。
  2. BatchClick の定義ファイル (BatchClick.dat) を記述する
    ヘルプの「バッチファイル記述」を読めば判るが、4行セットでコマンドを記述する。padding(NOP) は "wk" を埋める。
    例えば下記のような記述なる。
    M
    334
    55
    wk -- Previewボタン(334,55)をクリックする(確認用)
    T
    5
    wk
    wk -- 5秒待つ
    M
    334
    55
    wk -- Previewボタンを再度クリックして元に戻す
    J
    16:15
    wk
    wk -- 16時15分まで待つ (日付指定は D YYYY/MM/DD)
    M
    291
    86
    wk -- Recボタン(291,86)をクリック(録画開始)
    9999
    9999
    9999
    9999 -- 終了
    
    実際の予約動作は、(J, 16:15, wk, wk) と (M, 291, 86, wk) のみであるが、クリック位置が正しいことを確認するため、最初にPreviewボタンを2回押している(実際にpreview画面が開閉することを目で確認する)。PreviewボタンよりRecボタンがずっと大きいので、Previewが押せることを確認すれば、Recが押せることも判るのである。
    注1:ServiceAudio をデフォルト以外選択するときは、それに関する記述もバッチファイルに書く必要がある。
    注2:繰り返し録画する場合、チャンネルを換えることもできるがバッチファイルの記述がちょっとだけ面倒
  3. BatchClick.exeの起動準備をする
    1. Friioの Control Panelを希望位置(通常画面左上)に置く
    2. チャンネルを設定し、Set ボタンを押す
    3. 録画時間(分)を入力する
    4. Preview のチェックを外す
    5. Mute vol をチェックする
      これらの設定は、留守中のPCがテレビ再生を始めるのを止める意味もあるが、PCの負荷を下げエラー発生を減らすために重要
    6. もしスクリーンセーバを設定していたら、外す(Friio HDTV Playerのバグで、復帰時に異常動作する。録画は完了するようだが)
    7. 急に起動する類のプログラムはエラー発生の元なので止める(Smart HDD など)
  4. BatchClick.exe を起動する("start"ボタンを押さないと開始しないのに注意)
    起動すると「BatchClick.datがみつかりません」と言われるかもしれない。サーチパスが固定らしい (私の場合、C:\ に置いたら動いた)。
  5. BatchClick.exeを起動したら、Friioの Cotrol Panelを移動したり設定変更したりしないよう注意する