Strona 1 z 1
Motion - ciągły zapis obrazu z kamer
: 05 marca 2014, 12:06
autor: mike89
Witam
Stworzyłem sobie serwer do monitoringu, używam prostego programu na debiana - motion.
W przypadku zapisu obrazu z kamer do formatu avi ten program robi to z funkcją detekcji ruchu.
Czy jest możliwość konfiguracji tak, żeby zapis z kamery był ciągły?
: 05 marca 2014, 17:11
autor: kodama
Ja kiedyś miałem taki skrypt do 'pseudo monitoringu' - nagrywałem z kamery podłączonej do komputera przez usb :P Wszystko załatwione miałem na ffmpeg - jedna linijka i już

Jak odszukam to mogę pokazać co i jak miałem.
: 05 marca 2014, 17:25
autor: mike89
jak będzie się dało podmienić kamerę lokalną na ip to poproszę o taki skrypt

: 05 marca 2014, 17:40
autor: kodama
No spoko. Proszę bardzo:
Kod: Zaznacz cały
#!/bin/bash
if [ ! -d ~/Pulpit/.monitoring ]; then
mkdir ~/Pulpit/.monitoring
fi
#jak odpalimy z 1 to nagrywamy ciągiem jeden filmik 30 minutowy
if [ "$1" = 1 ];
then
cd /home/kodama/Pulpit/.monitoring/
ffmpeg -y -f video4linux2 -s 640x480 -t 00:30:00 -i /dev/video0 -vcodec h264 -b 1000 -f alsa -ac 1 -i hw:1 -vf drawtext="fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf: text='\%T': x=15: y=460: fontcolor=white:" video_`date +%d.%m.%Y`.mp4 >/dev/null 2>&1
#a jak nie to mamy wybór ile nagrać
else
cd /home/kodama/Pulpit/.monitoring/
if [ -d `date +%d-%m-%Y` ]; then
cd `date +%d-%m-%Y`
rm *.mp4 2>/dev/null
else
mkdir `date +%d-%m-%Y`
cd `date +%d-%m-%Y`
fi
echo
while [[ ! ($kawalki_int =~ ^[0-9]+$) ]]; do
echo -n "Ile godzin nagrać? (1h = 2 filmy x 30 minut): "
read kawalki_int
done
echo
kawalki=`expr $kawalki_int * 2`;
echo "Liczba filmów do nagrania: $kawalki"
echo
licznik=1;
while [ $licznik -le $kawalki ];
do
echo "Rejestruję: video_`printf "%03d" $licznik`.mp4";
ffmpeg -f video4linux2 -s 640x480 -t 00:30:00 -i /dev/video0 -vcodec h264 -b 1000 -f alsa -ac 1 -i hw:1 -vf drawtext="fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf: text='\%T': x=15: y=460: fontcolor=white:" video_`printf "%03d" $licznik`.mp4 >/dev/null 2>&1
(( licznik++ ));
done
echo
echo "Koniec";
fi
Linijka, która nagrywa filmik 30 minutowy (w lewym dolnym rogu mam wstawiony znacznik czasowy, można wywalić)
Kod: Zaznacz cały
ffmpeg -y -f video4linux2 -s 640x480 -t 00:30:00 -i /dev/video0 -vcodec h264 -b 1000 -f alsa -ac 1 -i hw:1 -vf drawtext="fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf: text='\%T': x=15: y=460: fontcolor=white:" video_`date +%d.%m.%Y`.mp4 >/dev/null 2>&1
Usuwając parametr
Uzyskasz ciągłe nagranie, póki sam nie przerwiesz rejestrowania.
Nigdy nie miałem do czynienia z kamerami ip, ale myślę że
www.google.pl + chwila czasu + chęci i jesteś spokojnie w stanie zaprzęgnąć ffmpeg'a do tego co potrzebujesz. Zapewne trzeba będzie coś pokombinować z
może podmienić na IP kamery albo coś, nie wiem, strzelam.
: 06 marca 2014, 08:52
autor: LordRuthwen
Jedynie w przypadku gdy kamera wypluwa strumień RTSP.