Revision: 15281
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 30, 2009 01:38 by cshaiku
Initial Code
#!/bin/sh
function saveCamImage {
wget --quiet --dns-timeout=10 --connect-timeout=10 $1 -O $2
}
function applyDatestamp {
echo `date "+%F %H:%M"` | convert $1 -resize 320x240 -type Optimize -quality 70 -bordercolor black -border 20 \
-font Courier -pointsize 17 -fill grey \
-annotate +90+15 "$2" \
-annotate +90+275 '@-' $1 > /dev/null
}
function thumbCamImage {
convert $1 -resize 128x96 $2 > /dev/null
}
function archiveCam {
imageDate=`date +%F_%H%M`
PROCESS_DIR=$1
CAM_IMAGE_URL=$2
CAM_TITLE=$3
if [ -d $PROCESS_DIR ]; then
DIR_STATUS="[`date +%F_%H%M`] $PROCESS_DIR exists, no need to create."
else
DIR_STATUS="[`date +%F_%H%M`] $PROCESS_DIR missing! Creating."
mkdir -p $PROCESS_DIR
fi
if [ -d "$PROCESS_DIR/thumbs" ]; then
DIR_STATUS="[`date +%F_%H%M`] $PROCESS_DIR/thumbs exists, no need to create."
else
DIR_STATUS="[`date +%F_%H%M`] $PROCESS_DIR/thumbs missing! Creating."
mkdir -p $PROCESS_DIR/thumbs
fi
### Download new image from cam
CAM_IMAGE="$PROCESS_DIR/$imageDate.jpg"
saveCamImage $CAM_IMAGE_URL $CAM_IMAGE
### Apply timestamp on top
CAM_STAMPED="$CAM_IMAGE.stamped.jpg"
applyDatestamp $CAM_IMAGE $CAM_TITLE
### Cache image
convert -quality 60 $CAM_IMAGE "/var/www/html/cams/cache/$CAM_TITLE.jpg"
convert -resize 320x240 "/var/www/html/cams/cache/$CAM_TITLE.jpg" "/var/www/html/cams/cache/$CAM_TITLE.jpg"
}
ARCHIVE_DIR="/path/to/cams/archive"
ARCHIVE_DIR_SOMEWHERE="$ARCHIVE_DIR/somewhere/`date +%Y`/`date +%m`/`date +%d`"
URL_SOMEWHERE="http://127.0.0.1/path/to/cam/image.jpg"
archiveCam $ARCHIVE_DIR_SOMEWHERE $URL_SOMEWHERE 'CAM FANCY TITLE' &
Initial URL
http://code.cshaiku.com/code_bash_archive_webcams.php
Initial Description
Initial Title
Archive & Timestamp Webcam Images
Initial Tags
images, cache
Initial Language
Bash