Pandora Pocket

IT系と日常系の備忘録。三日坊主。

Mirakurun+EDCBだとたまに録画に失敗している件の対策をしてみる(失敗)

録画環境を一新してMirakurunとEDCBを組み合わせて使ってるわけですが、たまに録画に失敗していることがありました。

録画に失敗した場合、録画済み一覧には

録画中に番組情報を確認できませんでした

と出力されています。

のサイトによると、「録画中に番組情報を確認できませんでした」の結果メッセージは

EPGデータを参照し録画開始を試みたものの放送の取得に失敗した場合。受信不良(天候、接触、給電、チャンネルスキャン)、番組変更(時間、タイトル、EventID)、BonDriverとの受け渡しの失敗、PC時計の狂い等様々な原因が考えられる。

とのことで、少なくとも受信不良は同時間帯で別の録画に成功していたのであまり考えられず、

録画中に番組情報を確認できませんでした - EpgTimer | code up

の設定ファイル誤りというのも確認した限りなさそう。

Mirakurunだとチャンネルの切り替えが遅い

01_録画中に番組情報を確認できませんでした - EDCB改造計画

調べていて上のサイトに行きつきました。

同じように「録画中に番組情報を確認できませんでした」に悩まされ、結果として古いEDCBを利用していたことが原因だったという内容なのですが、読んでいて気づいたのが

EDCB/TunerBankCtrl.cpp at work-plus-s · xtne6f/EDCB · GitHub

この部分。

//パイプコマンドにはチャンネル変更の完了を調べる仕組みがないので、妥当な時間だけ待つ

ということなんですが、この「妥当な時間」として、「5000」 つまり5秒待つようにハードコーディングされてます。

実はMirakurunに切り替えてたまに気になったのが、チャンネルの切り替えが妙に遅いこと。

VirtualPTのころはそれほどでもなかったんですが、Mirakurun経由でTVTest視聴しているときに、チャンネルを切り替えると4秒とかかかってるようなんです。

これもしかして、録画失敗しているときは5秒以上チャンネルの切り替えに時間がかかってしまったせいで、RecStart関数がfalseを返して録画失敗として判定しているんじゃないかなぁと。

というわけで、今利用しているtkntrecさんがフォークして改良されているEDCBをさらにフォークして、チャンネル切り替えの時間を10秒まで待つようにしてみました。

いったんビルドして入れ替えたので、1か月ほど様子を見てみようと思います。

追記

発生しちゃった(