MTVXでのキャプチャ中は、他のプログラムのせいでHDDへの書き出しが追い付かなくなると、コマ落ちが発生してしまいますから、基本的に他のプログラムが動かないようにします。OSやプログラムの自動更新も、スクリーンセイバーもです。
予め起動を抑止できるものはいいんですが、困るのはエンコード。 番組改変のこの時期に特番なんかで録っておきたい番組が毎日続くような場合、 一つエンコードしているうちに、次の放送時間が来てしまうのです。
うちのエンコマシンでは、1時間物のテレビドラマ(インタレース)をx264でエンコードするのに20時間くらいかかります。1秒間に2フレームも処理できないという状態。マシンのパーツを買い替えて、CPUをCore2の速いのにすればいいんでしょうが、お金も暇も十分ではないので今はじっと我慢。
キャプチャ中はエンコを止めないとコマ落ちするし、 かといって放送する時間帯に家にいるとは限らないので出がけにエンコを中断しておくと、キャプチャ量>エンコ量になってしまって、ディスクが足りなくなってしまいます。連休がエンコのせいで家から離れられないとなると哀し過ぎます。
...
そんな訳で、 キャプチャの直前に一時停止して、キャプチャ終了直後に再開といった感じで、エンコードの中断時間を極力短くしたいのですが、方法が見つかりません。 Linuxならcrontabに
59 20 x x x /usr/bin/killall -STOP x264
55 22 x x x /usr/bin/killall -CONT x264
とか書けばいいのですが、Windowsにはkillall -STOP / CONT
に相当するものが見当たりません。
Vectorを探して見つからず、cygwinも試してみたけど駄目でした。コンソールにCtrl+Sを送信するだけでいいはずなので、ソフトウェアキーボードの仕組みを応用して、実行するとCtrl+Sをcmd.exeのウィンドウに送信するプログラムを作って、タスクスケジューラに登録するとか自分でやらないと駄目かなぁ……。
2007/10/20追記
解決編を書きました。
Trackback URL (right click and copy shortcut/link location)