86 lines
1.8 KiB
Markdown
86 lines
1.8 KiB
Markdown
Me in 2022
|
|
==========
|
|
|
|
![](https://i.imgur.com/m5rQtBI.gif)
|
|
|
|
The above *.gif* shows a snapshot taken by my computer at 12:00 for a large number of days of the year. The below *.gif* shows a snapshot taken by my computer every five minutes on the 22/02/2022:
|
|
|
|
![](https://i.imgur.com/Pw1iMSn.gif)
|
|
|
|
### To create such a *.gif* in Linux
|
|
|
|
**a. Create a script to take a photo from your webcam:**
|
|
|
|
```
|
|
## Defs
|
|
panopticonDir="~/.panopticon"
|
|
|
|
selfiesDir="$panopticonDir/selfies"
|
|
today="$(date +"%Y%m%d")"
|
|
timeNow="$(date +"%H%M%S")"
|
|
|
|
## Init
|
|
mkdir -p "$selfiesDir/$today"
|
|
|
|
## Selfies
|
|
|
|
selfieFileName="webcam_$timeNow.jpg"
|
|
/usr/bin/fswebcam -r 1280x720 "$selfiesDir/$today/$selfieFileName"
|
|
# ^ works with pipewire
|
|
|
|
```
|
|
|
|
**b. Call the script from within crontab**
|
|
|
|
Call
|
|
|
|
```
|
|
$ sudo crontab -e
|
|
```
|
|
|
|
and then paste:
|
|
|
|
```
|
|
*/5 * * * * /home/loki/.panopticon/shoot.sh
|
|
```
|
|
|
|
**c. Put it all together into a gif**
|
|
|
|
One gif from snapshots taken at 12:00.
|
|
|
|
```
|
|
summary_dir="~/.panopticon/summary-12"
|
|
mkdir summary_dir
|
|
for dir in ~/.panopticon/*/ ; do
|
|
if [[ -d "$dir" && ! -L "$dir" ]]; then
|
|
echo "Entering $dir";
|
|
dirname_raw="$(echo "$dir" | sed 's#/##')"
|
|
temp_photo_name="$(echo $dirname_raw/webcam_1200*)"
|
|
echo "$temp_photo_name"
|
|
cp $temp_photo_name temp.jpg
|
|
mv temp.jpg $summary_dir/$dirname_raw.jpg
|
|
fi;
|
|
done
|
|
|
|
convert -delay 10 -loop 0 $summary_dir/*.jpg 12.gif
|
|
|
|
```
|
|
|
|
One for each day with something like:
|
|
|
|
```
|
|
for dir in */ ; do
|
|
if [[ -d "$dir" && ! -L "$dir" ]]; then
|
|
echo "Entering $dir";
|
|
dirname_raw="$(echo "$dir" | sed 's#/##')"
|
|
convert -delay 10 -loop 0 $dirname_raw/*.jpg daily-gifs/$dirname_raw.gif
|
|
echo "Created daily_gifs/$dirname_raw"
|
|
fi;
|
|
done
|
|
|
|
```
|
|
|
|
<p><section id="isso-thread">
|
|
<noscript>Javascript needs to be activated to view comments.</noscript>
|
|
</section></p>
|