Making APRS Movies

As I could not visit the HamRadio this year I took various chances to see whats going on down there. I kept an eye on APRS to see what the visitors are doing. To visualize this a bit I created a little script that compiles a movie from screenshots taken every minute. The screenshots are taken from the Gnome Desktop showing the FireFox browser with the aprs.fi page from the location. A cronjob executes the binary scrot for taking the screenshot every minute. The result looks like this:

One example frame for the APRS movie
One example frame for the APRS movie

The cronjob could look as this:

* * * * * /home/user/bin/scrot.sh

The scrot.sh script contains some code to save the screenshot with date and time as filename. That makes sorting unnecessary afterwards. The content is:

#!/bin/sh
LOCATION=/home/user/Screenshots
cd $LOCATION
DISPLAY=:0 scrot '%Y-%m-%d_%H-%M.jpg' -q 90 -e 'ln -sf $f latest.jpg'
exit 0

I used avconv to make a little movie from the single screenshots. I just plays the pictures in a row with 30 frames per second (default). To visualize the time I added some imagemagick magic to print time and date into the pictures. All that is done using this script:

#!/bin/bash
for file in *.jpg; do
   convert -crop 920x874+66+126 $file $file;
   TIME=$(echo ${file:11:5} | sed -e "s/-/:/")
   DATE=$(echo ${file:0:10} | awk -F "-" '{ print $3"."$2"."$1; }')
   convert $file -gravity SouthWest -font Courier-10-Pitch-Bold -fill black -pointsize 24 -annotate +20+20 "$TIME $DATE" $file
done
cat *.jpg | avconv -f image2pipe -c:v mjpeg -i - -r 25 -map 0 APRS.mov
exit 0

The result is a movie showing the APRS activities during the HamRadio 2016 in Friedrichshafen. I uploaded four videos to YouTube, one for each day of the trade fair plus one day of travelling before. Ax example can be found under [1].

References

[1] https://www.youtube.com/watch?v=AfVbl6dqzxk