RaspberryPiを使用してセルフサービスの冷蔵庫を監視しています。ドアが開くと、シェルスクリプトが実行され、ドアが再び閉じるまで写真がキャプチャされます。ただし、問題はARMプロセッサの速度です。 fswebcamを使用してフル解像度でキャプチャするには2〜4秒かかりますが、これは長すぎます。
これを解決するための私たちのアイデアは、プロセスを分割することです。
さて、私の質問は次のとおりです。
それが私たちがこれまでに得たものです:
#!/bin/bash
tempdir=/tmp/fswebcam
Host="167.174.70.42"
destdir=~/fsweb
tformat=%Y-%m-%d_%H-%M-%S
if [ ! -d "$tempdir" ]; then
mkdir $tempdir
fi
cd $tempdir
dooropentime=$(date +$tformat)
for i in {1..3}
do
starttime=$(date +%s%N)
echo -e "\n==== starting capture at" $(date +%H:%M:%S.%N) "==== (# $i)"
fswebcam --device /dev/video0 --input 0 --resolution 1280x720 --timestamp "$tformat" $tformat.jpg
# fswebcam --device RAW:/dev/video0 --palette NV12MB --resolution 1280x720 $tformat.jpg
endtime=$(date +%s%N)
echo -e "==== capture finished at" $(date +%H:%M:%S.%N) "==== (in "$((($endtime - $starttime) / 1000000))"ms)\n"
done
echo "packing..."
tar -cjf $dooropentime.tar.bz2 *.jpg
echo "copying..."
scp *.tar.bz2 pi@$Host:$destdir
#cp *.tar.bz2 $destdir
rm -r $tempdir/*
echo "done!"
それはまだかなり生ですが、少なくともそれは機能しています。フレームのキャプチャには、円周率で約3300msかかります。
--device RAW:/dev/video0
パレットの非互換性エラーが発生し、NV12MBパレット( http://www.firestorm.cx/fswebcam/ "fswebcam-20060604:追加されたNV12MBパレットタイプ(rawソースのみ)")は行方不明になります。
何か案は?