65 lines
1.7 KiB
Bash
Executable File
65 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail #x for debug
|
|
|
|
while getopts i:d:D:o: flag
|
|
do
|
|
case "${flag}" in
|
|
i) input_folder=${OPTARG};;
|
|
d) days=${OPTARG};;
|
|
D) delete=${OPTARG};;
|
|
o) output_path=${OPTARG};;
|
|
esac
|
|
done
|
|
|
|
if ! [[ -v input_folder ]] || ! [[ -v days ]] || ! [[ -v delete ]] || ! [[ -v output_path ]]
|
|
then
|
|
echo "Arguments missing. Use -i for input folder, -D to define if you want to delete processed images and -d for number of days"
|
|
exit
|
|
fi
|
|
|
|
if [ $delete == "true" ]
|
|
then
|
|
echo "WARNING old files will be deleted"
|
|
else
|
|
echo NO DELETO
|
|
fi
|
|
|
|
|
|
echo "Input: $input_folder";
|
|
echo "Delete: $delete";
|
|
echo "Days: $days";
|
|
|
|
echo "Getting timelapse from $(date -d "now - $days days" +%d-%m-%Y) to $(date -d "now - 1 days" +%d-%m-%Y)";
|
|
|
|
mkdir -p ./timelapse_temp
|
|
|
|
out_name="$(date -d "now - $days days" +%d-%m-%Y)__$(date -d "now - 1 days" +%d-%m-%Y)_timelapse.mp4"
|
|
startdate=$(date -d "now - $days days" +%d%m%Y)
|
|
enddate=$(date -d "now - 1 days" +%d%m%Y)
|
|
d=
|
|
n=0
|
|
until [ "$d" = "$enddate" ]
|
|
do
|
|
|
|
d=$(date -d "now - $days days" +%d%m%Y)
|
|
day=$(date -d "now - $days days" +%d)
|
|
month=$(date -d "now - $days days" +%m)
|
|
year=$(date -d "now - $days days" +%Y)
|
|
echo "Working on" $day $month $year
|
|
if ! [ $delete == "true" ]
|
|
then
|
|
echo Not deleting
|
|
cp $input_folder/Frame_${year}-${month}-${day}*.jpg ./timelapse_temp
|
|
else
|
|
echo DELETING FILES
|
|
mv $input_folder/Frame_${year}-${month}-${day}*.jpg ./timelapse_temp
|
|
fi
|
|
days=$(($days - 1))
|
|
done
|
|
|
|
|
|
echo Output: $out_name
|
|
mkdir -p ${output_path}
|
|
ffmpeg -r 25 -pattern_type glob -i "./timelapse_temp/*.jpg" -s 1920x1080 -vcodec libx264 -preset veryfast -crf 25 ${output_path}/${out_name}
|
|
|
|
rm -rf ./timelapse_temp |