2011年1月15日土曜日

EPG更新の所要時間短縮

EPG更新の所要時間のほとんどは、EPG受信時間がしめている。
短縮するには、いかに総EPG受信時間を減らすかにかかっているわけだ。
PT2の様に地上波・衛星波と2種類のチューナーがあるならそれらを平行して受信すれば半分に、またそれぞれが多チューナーなら全チューナーを総動員すれば更に短縮できる。
例にあげたPT2なら20分を5分ぐらいに短縮できるだろう。

現行のepgrecは、地上波と衛星波を合せて1チューナーしか受信に使用していない。
処理を並列化しているのはDB更新だけだ。
低スペックPCを考慮してなんだろうなぁ デーモンのプライオリティー下げてるぐらいだし
でも受信に関しては低スペックPCでも同時4受信とか平気でこなせるので何とかなんじゃねぇ?
と思ったので取り敢えずコードを書いてみた。まだデバッグはしてない。
いや正確に言うと録画直前の単チャンネルEPG更新のコードを書いた勢いとそれに含まれるチューナーの排他処理が絡むのでが正解だ。
このコードには事前に分かっている不具合がある。テンポラリーを大量消費するのだ。
1分あたり130Mバイトとして、PT2なら地デジ2本にBSとCSはそれぞれ2分で最大780Mバイトを必要とする。
HDDをテンポラリーにしてるなら問題無いがSSDなら寿命を縮める事になるしRAMディスクでは容量不足に成る環境があるだろう。
この問題については、録画コマンドがEPGデータだけを吐き出してくれれば解決してくれるのだが難しいかな・・・

これが片付いたら次は、自動キーワードの優先度追加かサブジャンル対応(epgdumpは改修済み)に手をつけよう。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。