這是我今天寫好的, 配合 tvtime 的電視錄影 script
把下面的程式碼存成 tvrecorder 即可
其他的說明請參考程式最後面的使用說
視需要略做修改即可
代码:
#!/bin/bash
# $1 $2 $3 $4 $5
# tvrecorder 頻道 時間 解析度(1/2/4) 流量 錄影檔放置路徑
# 判斷是否足55個參數
if [ $# = "5" ] ; then
# 取得頻道
x=`echo $1|cut -c 1`
y=`echo $1|cut -c 2`
# 背景啟動 tvtime
tvtime&
sleep 1
# 送出訊號給 tvtime 換頻道
# 送出訊號成功之後等 1 秒結束 tvtime
tvtime-command CHANNEL_$x CHANNEL_$y
sleep 1
kill -15 `ps aux|awk '/tvtime/ {print $2}'`
# 設定檔案名稱和路徑
ch=$5ch$1_dec$3_`date +%x%X`.avi
# 啟動錄影
mencoder -tv driver=v4l2:norm=ntsc:device=/dev/video0:alsa:contrast=-20:mjpeg:decimation=$3:quality=100 -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$4 -o $ch tv://&
sleep 1
# 如果檔案存在表示有建立,才讓 mencoder 錄影
if [ -f $ch ] ; then
sleep $2
fi
# 結束 mencoder 的錄影
kill -15 `ps aux|awk '/mencoder -tv/ {print $2}'`
else
# 如果參數不足就顯示解說畫面
echo 'tvrecorder 頻道 時間 解析度(1/2/4) 流量 錄影檔放置路徑'
echo ' 頻道 01~99'
echo ' 時間 以秒計算,錄製 1 小時就輸入 3600'
echo ' 解析度 也就錄影的畫面大小, 1 => 176x120 2 => 352x240 4=>704x480'
echo ' 流量 mpeg4 壓縮的每秒鐘資料流量,例如可輸入 800, 愈高愈不失真,但檔案愈大。'
echo ' 錄影檔放置路徑 只有路徑,例如 /home/john/ 或是 ~/ ,記得路徑最後面要有 /'
fi