基本上(希望)我想从网络摄像头录制视频流并将其保存在特定目录中,然后在用户输入一些数字时将其终止。我没有很好地解释这一点,所以这就是我目前正在做的事情:
#!/bin/bash
while true
do
TIMESTAMP=$(date +"%Y.%m.%d_%H.%M")
read -p "Enter your number here: " YOURNUMBER
echo -e "Saving video stream:"
mkdir /home/$USER/orders/$YOURNUMBER
avconv -f video4linux2 -r 3 -fs 52428800 -i /dev/video0 /home/$USER/orders/$YOURNUMBER/$TIMESTAMP-$YOURNUMBER.avi
echo -e "Video complete!"
done
所以我想停止录制并在新的 $YOURNUMBER 文件夹中开始新的录制。有任何想法吗?(对此很陌生……请耐心等待!)
更新:
感谢@TrueY
更新的脚本(不需要 mkdir 真的把它拿出来):
CPID=0
while :; do
read -p "Enter your number here: " YOURNUMBER
[ $CPID -ne 0 ] && kill -INT $CPID
TIMESTAMP=$(date +"%Y.%m.%d_%H.%M")
avconv -f video4linux2 -r 3 -fs 52428800 -i /dev/video0 /home/$USER/orders/$YOURNUMBER[packed-$TIMESTAMP].avi > /dev/null 2>&1 &
CPID=$!
done
唯一的麻烦是我(或最终用户)必须输入两次数字才能再次开始录制。