PT2+FUSE_b25+MythTVをDebianで使う上で録画失敗から対策したことを対策箇所ごとにまとめる。

録画マシンへの対策

エンコードなどマシンに負荷をかけすぎると録画中、fuse_b25がsyslogに“Driver Baffar Overflowed"というエラーを出して、以降の部分が録画されなくなる。

エンコードの際は、CPUコア(スレッド)の数より少ないスレッド数を指定する。

#2コア2スレッドの場合
$ ffmpeg -threads 1 [オプション]

更にfuse_b25の優先度は高くし、エンコードの優先度を低くしておく。

/etc/rc.local、fuse_b25のマウント部分

#マウント先の数字を元のデバイスよりいくつ大きくするか
OFFSET=10
for ADAPTER in 0 1 2 3
do
	NEW_ADAPTER=`expr $ADAPTER + $OFFSET`
	/usr/local/sbin/b25dir $NEW_ADAPTER
	nice --4 /usr/local/bin/fuse_b25 --target /dev/dvb/adapter$ADAPTER /dev/dvb/adapter$NEW_ADAPTER -o allow_other
done

ffmpegの優先度を下げる

$ nice -15 ffmpeg [オプション]

また、録画ディスクのI/Oに負荷をかけすぎても同様のことが起こるのでTsSplitterを使う場合は必ずWAITオプションを指定する。

$ wine TsSplitter.exe [オプション] -WAIT2,5

バックエンドへの対策

録画の開始時にMythTVのバックエンドが落ちることがある。PIDファイルが残るのでmythbackendのプロセスがなく、PIDファイルが残っていたら再起動させる。念のためfuse_b25の再マウントも行う。

$ sudo vi /usr/local/sbin/mythtv_check.sh

(さらに…)

4月 16th, 2012

Posted In: ソフトウェア

タグ: , , , , , , , ,

Leave a Comment