summaryrefslogtreecommitdiff
path: root/screen_save_gif
blob: a6b529f4fff448aae3933c9a1d44879f0cde977c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
TMP_AVI=$(mktemp /tmp/outXXXXXXXXXX.avi)
GEOMETRY=`ffcast -s % echo "%D+%g"`

DISP=`echo $GEOMETRY | cut -d'+' -f1`
SIZE=`echo $GEOMETRY | cut -d'+' -f2`
X=`echo $GEOMETRY | cut -d'+' -f3`
Y=`echo $GEOMETRY | cut -d'+' -f4`

if [ -z "$1" ]; then
  OUTPUT=out.gif
else
  OUTPUT=${1}.gif
fi

ffmpeg -y -f x11grab -framerate 25 -video_size $SIZE -i $DISP+$X,$Y -codec:v huffyuv -vf crop="iw-mod(iw\,2):ih-mod(ih\,2)" $TMP_AVI
convert -set delay 10 -layers Optimize $TMP_AVI $OUTPUT