custom-scripts/timelapse/tl-capture
2024-06-25 18:25:17 -04:00

41 lines
1.0 KiB
Bash

#!/bin/bash
# Customizable variables
# Paths
IMG_DIR="/tmp/TL"
NAS_MOUNT_DIR="/mnt/media"
SYNC_DES_PATH="/tl/to-process"
# Command variables
RESOLUTION="1920x1080"
DEVICE="/dev/video0"
FRAMES="1"
SKIPS="5"
# Pre-script configurations
# Generate the date for the filename
DATE=$(date +"%Y-%m-%d_%H-%M")
# Form the filename
FILENAME="TL-$DATE.jpg"
# Functions
# Capture an image and save it locally
capture() {
# Capture an image for the timelapse and save it to /tmp/TL-YYYY-MM-DD_HH-MM.jpg
echo "Capturing image and saving it to $IMG_DIR/$FILENAME"
fswebcam -r "$RESOLUTION" -d "$DEVICE" "$IMG_DIR/$FILENAME" -F 1 -S 5
}
# Sync images from local to a remote mounted storage device
sync() {
echo "Syncing $IMG_DIR to $NAS_MOUNT_DIR$SYNC_DES_PATH..."
rsync -av --progress --remove-source-files "$IMG_DIR/" "$NAS_MOUNT_DIR$SYNC_DES_PATH/" $1
if [[ $? -eq 0 ]]; then
echo "Success"
else
echo "Unable to complete sync. Exiting"
exit 1
fi
}
# Actually run everything
capture
sync