こんにちは 奥井です
LinuxWorld12月号をみてTV録画に挑戦してますがうまくいきません。
videorec.cgiが動作しないので(予約ができない)自分なりに調べています。
録画するvideorecというスクリプトは単体では動作するのですがatコマンド使い方が
よくわかりません
videorecは引数を2個使うので
$at -f /home/alpha/videorec 2 10 16:00
parse error Last token seen: 10
Gabled time
$at -f "/home/alpha/videorec 2 10" 16:00
warninng : command will be executed using (in order) a)$SHELL b) login
shell c) /bin/sh
Cannot open input file : Nosuch file or directory
$at -f '/home/alpha/videorec 2 10' 16:00
warninng : command will be executed using (in order) a)$SHELL b) login
shell c) /bin/sh
Cannot open input file : Nosuch file or directory
$at -f `/home/alpha/videorec 2 10` 16:00だとすぐにvideorecが動作します。
cronは割と雑誌などに情報がありますがatはあまりみつかりません 上記はalphaで実
行しています
/etc/at.allowにはユーザalphaとapacheをいれました。
引数をもつスクリプトはatでどうやって動作させるのかご教授お願いします。
$SHELLはbashなので関係ないかもしれませんがvideorecの#!/bin/cshを#!/bin/bash
に換えると
line 40: syntax error:unexpected end of fileになってしまいます。これの理由も
わかりません
39行しかないのにline40となっています。
#!/bin/csh
# videorec - Vide HDD Recorder
# (C) 2003 by Taku[ya] [NI]SHIMURA
set size = 400x300
set rate = 24
set format = avi
set vcodec = mpeg4
set vbitrate = 800
set acodec = mp3
set abitrate = 64
set datadir = "/samba/public/"
set auther = "`whoami`@`hostname`"
if ($#argv < 1) then
echo "usage: videorec channel[ rectime[ recfile]]"
exit 1
endif
set channel = $argv[1]
if (1 < $#argv) then
set rectime = "-t $argv[2]"
else
set rectime = ""
endif
if (2 < $#argv) then
set recfile = $argv[3]
else
set recfile = `date +%Y%m%d-%H%M`
endif
aumix -lR
v4lctl setchannel $channel
ffmpeg $rectime -vd /dev/video0 -f $format -s $size \
-vcodec $vcodec -b $vbitrate \
-acodec $acodec -ab $abitrate -ac 2 \
-author $auther -title $recfile \
-y $datadir$recfile.$format
exit 0