summaryrefslogtreecommitdiff
path: root/screen_save_gif
diff options
context:
space:
mode:
Diffstat (limited to 'screen_save_gif')
-rwxr-xr-xscreen_save_gif17
1 files changed, 17 insertions, 0 deletions
diff --git a/screen_save_gif b/screen_save_gif
new file mode 100755
index 0000000..a6b529f
--- /dev/null
+++ b/screen_save_gif
@@ -0,0 +1,17 @@
1#!/bin/bash
2TMP_AVI=$(mktemp /tmp/outXXXXXXXXXX.avi)
3GEOMETRY=`ffcast -s % echo "%D+%g"`
4
5DISP=`echo $GEOMETRY | cut -d'+' -f1`
6SIZE=`echo $GEOMETRY | cut -d'+' -f2`
7X=`echo $GEOMETRY | cut -d'+' -f3`
8Y=`echo $GEOMETRY | cut -d'+' -f4`
9
10if [ -z "$1" ]; then
11 OUTPUT=out.gif
12else
13 OUTPUT=${1}.gif
14fi
15
16ffmpeg -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
17convert -set delay 10 -layers Optimize $TMP_AVI $OUTPUT