Skip to content

Instantly share code, notes, and snippets.

@komiga
Last active December 16, 2015 17:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save komiga/5468812 to your computer and use it in GitHub Desktop.
Save komiga/5468812 to your computer and use it in GitHub Desktop.
avconv-based timelapse script.
#!/bin/bash
# Usage:
# timelapse.sh root rate quality
#
# Join with something like:
# avconv -f image2 -r 15 -i "%05d.jpg" -r 24 -s 1680x1050 -vcodec mpeg4 -pix_fmt yuv420p -q 8 output.mp4
# Root path
root=$1
# FPS; defaults to 15s delay: 1/15 = 0.06~
rate="${2:-0.06}"
# Image quality; lower = better; defaults to 6
# 4-8 is usually what you want
quality="${3:-6}"
if [ -z "$root" ]; then
echo "usage: timelapse.sh root rate quality"
exit
fi
avconv=avconv
screen=":0.0"
position="0,0"
size=$(xdpyinfo | grep dimensions | cut -d ' ' -f7)
datetime=$(date "+%FT%H-%M-%S")
path="$root/${datetime}"
echo "root = $root, rate = $rate, size = $size"
echo "writing to: $path"
if [ -d "$path" ]; then
echo "!! path already exists"
exit
else
mkdir -p "$path"
fi
echo
$avconv \
-f x11grab -s $size -r $rate -vsync 1 -i $screen+$position \
-q $quality "$path/%05d.jpg"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment