Poor man's DVR - a linux bash script to capture images from the camera and upload them to a remote server
I wanted to create a very easy "DVR" script for my raspberry PI machine that will take a shot from the camera and upload the photos to a remote server so I can see what is happening in my living room.
I created this simple bash Linux command line script to activate the camera, save the photo, add a timestamp and upload it to a remote server.
It is running every minute - capturing 5 photos from the webcam every 9 seconds and uploads them to the server using scp.
Here is the shell script for a poor man's DVR:
#!/bin/bash
# repeat 5 times
for i in {1..5}; do
# the file name with a datetime stamp
filename=webcam_$(date +%Y%m%d-%H%M%S).jpg
# capture the image from the camera
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -vframes 1 -frames:v 1 /mnt/ramdisk/$filename
# wait
sleep 9
done
# create a latest.jpg image
cp /mnt/ramdisk/$filename /mnt/ramdisk/latest.jpg
# add the time stamp
convert /mnt/ramdisk/latest.jpg -gravity SouthEast -pointsize 22 -fill white -annotate +30+30 $filename /mnt/ramdisk/latest.jpg
# upload the images
scp /mnt/ramdisk/*.jpg remote@remote.server://directory
# delete the images
rm /mnt/ramdisk/*.jpg
Comments
Post a Comment