NHK BS1/2の視聴

セットアップした録画環境でしばらく運用していたのですが、いくつか問題が出ました。その際の対応作業についてのメモを記載します。

NHK BS1/2の再生がおかしい

何も考えずに 録画した NHK BS1/2 を再生しても本来録画した番組が見れません。google先生にお伺いしたところ、BS1とBS2はデータ混在の状態で録画されちゃうのでts分割をしないといけないらしいのです。さらに調べたところ、tsファイルから必要なチャンネルの情報を分割する、「tsspliter_lite」というソフトウェアを作成した方がいらっしゃいました。
http://hp.vector.co.jp/authors/VA038175/
これをmakeし、出来上がった tsspliter_liteバイナリを /usr/local/bin にコピーしておきます。

do-recode.sh のカスタマイズ

上記処理はNHK BS1NHK BS2のみに必要なので、分割も録画後に自動的二行うように以下のようにdo-recode.shをカスタマイズしました。

#!/bin/sh
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT  : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"

TMPDIR=/var/videoTemp*1
NOW=`/bin/date '+%Y%m%d%H%M%S'`
TMPFILE=${TMPDIR}/${NOW}_${TYPE}_${CHANNEL}.ts

RECORDER=/usr/local/bin/recpt1
TSSPLTITER=/usr/local/bin/tssplitter_lite
NICE=/bin/nice
IONICE=/usr/bin/ionice

case $CHANNEL in
101|102)
	$RECORDER --b25 --strip $CHANNEL $DURATION ${TMPFILE} >/dev/null
	$NICE $IONICE -n 5 $TSSPLTITER ${TMPFILE} ${OUTPUT} ${CHANNEL} >/dev/null
break
	;;
	*) 
	$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null
	;;
esac

*1:一時ディスク領域です。一旦このディレクトリにファイルを作成するので必要に応じてLVMからディスクを切り出し/割り当てを行ってください。