기본적으로 (잘하면) 웹캠에서 비디오 스트림을 녹화하고 특정 디렉토리에 저장 한 다음 사용자가 숫자를 입력 할 때이를 삭제하려고합니다. 그래서 여기에 잘 설명 나는 현재하고 있어요 무엇 아니에요 :사용자 입력에서 avconv Bash 스크립트를 멈추고 루프를 계속하십시오.
#!/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 폴더에 새를 시작하고자합니다. 어떤 아이디어? (아주 새로운 환자를 this..be합니다!)
는 업데이트 : @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
만 문제는
거의 다! 고맙습니다! 유일한 것은 내가 다시 녹음하기 전에 나 (또는 최종 사용자)가 번호를 두 번 입력해야한다는 것입니다. 함정을 구현하려면 어떻게해야합니까? (미안, 사실 처음 몇 일 동안이 모든 일에 - 꽤 재미 있네!) –
"INT"신호는'avconv'를 상당히 우아하게 멈추었으므로, 죽인 후 몇 초간자는 것이 좋습니다. – TrueY
문자 그대로 잠자 지 5 분 정도입니까? 또한, 그것은 어디로 가야합니까 (미안 해요, 결국 이해할 것입니다!) –