解像度は以下のとおりにしてみる
ファイルの種類 | 解像度 |
生TS | 1440x1080 |
mp4 | 720×540 |
ffmpegでコマンドのオプションに -s で指定しないとそのままTSの解像度でエンコードされるので
たぶん処理に時間がえらくかかってしまう(と思われる)
どうせmp4で見るのはタブレットとかスマフォなので
解像度を1/2に変更してみる。
[root@recorder ~]# vi /var/www/epgrec/do-record.sh
#!/bin/sh
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"
echo "SID : $SID"
RECORDER=/usr/local/bin/recpt1
# fail safe
case $CHANNEL in
101|102|191|192|193)
if [ $SID = 'hd' ]; then
SID=$CHANNEL
fi ;;
esac
if [ -z $SID ]; then
SID='hd'
fi
############################################
#!/bin/sh
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"
echo "SID : $SID"
RECORDER=/usr/local/bin/recpt1
# fail safe
case $CHANNEL in
101|102|191|192|193)
if [ $SID = 'hd' ]; then
SID=$CHANNEL
fi ;;
esac
if [ -z $SID ]; then
SID='hd'
fi
############################################
RECORDER=recpt1
ENCODER=ffmpeg
EPGREC_DIR=/var/www/epgrec/
PRESET=libx264.ffpreset
TMP_OUTPUT=${OUTPUT}_tmp.ts
#CMD
FULL_TS="$RECORDER --b25 --strip $CHANNEL $DURATION ${OUTPUT} >/dev/null"
MIN_TS="$RECORDER --b25 --strip --sid $SID $CHANNEL $DURATION ${OUTPUT} >/dev/null"
-i test.ts -vcodec libx264 -acodec libfaac -y test.mp4
#↓ここの-sオプションを追加してみた
ENCODE="$ENCODER -i ${TMP_OUTPUT} -s 720x540 -vcodec libx264 -acodec libfaac -y ${OUTPUT}"
############################################
if [ ${MODE} = 0 ]; then
# MODE=0では必ず無加工のTSを吐き出すこと
$FULL_TS
elif [ ${MODE} = 1 ]; then
if [ ${CHANNEL} = "23" ] || [ ${CHANNEL} = "24" ]; then
# テレビ朝日とテレビ東京はFullTS
$FULL_TS
else
# 目的のSIDのみ残す
$MIN_TS
fi
elif [ ${MODE} = 2 ]; then
# FULL_TSで録画してエンコード
$FULL_TS
mv $OUTPUT $TMP_OUTPUT
$ENCODE
#rm $TMP_OUTPUT
fi
ためしにエンコードしてみると、サイズも変更されて処理時間も短くなった(10分程度のTSファイルを15分程度で変換できた)