Видеонаблюдение
Скриптик постоянно записывает поток с видеокамеры, каждую минуту обновляя файл, а также каждые 2 секунды создает новый скриншот с потока.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #!/bin/sh trap cleanup 1 2 3 6 15 cleanup() { killall wget exit 1 } while test true do vdir=`date "+%Y-%m-%d-%H"` if ! [ -e $vdir ] then mkdir $vdir fi filename=`date "+%Y-%m-%d-%H-%M-%S"` wget --tries=0 -o /dev/null -O "$vdir/$filename.mpg" http://172.16.127.4:8080 & i=1 while [ $i -lt 60 ] do sleep 2 sfile=`date +%s` sdir=`date "+%Y-%m-%d-%H"` if ! [ -e $sdir ] then mkdir $sdir fi let sfile = $sfile + 2 if [ -s "$vdir/$filename.mpg" ] then ffmpeg -i "$vdir/$filename.mpg" -an -ss 00:00:$i -r 1 -vframes 1 -y -f mjpeg "$sdir/$sfile.jpg" && if [ -s "$sdir/$sfile.jpg" ]; then rm final.jpg; ln "$sdir/$sfile.jpg" final.jpg; fi & fi let i = $i + 2 if [ -e stop ] then rm stop cleanup fi done killall wget done |
