summaryrefslogtreecommitdiff
path: root/giffeinate.sh
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-05-13 17:58:26 -0400
committerAdam T. Carpenter <atc@53hor.net>2020-05-13 17:58:26 -0400
commitd552ce8e6de88ee7ff362d3a6a9ad746e876fbc5 (patch)
treeefe83835c5372978d2bb735f7a1c766881f9aeb7 /giffeinate.sh
parent212b87cd003505f0414b8c3cc538c715f8c33df6 (diff)
downloadscripts-d552ce8e6de88ee7ff362d3a6a9ad746e876fbc5.tar.xz
scripts-d552ce8e6de88ee7ff362d3a6a9ad746e876fbc5.zip
fixed email address
Diffstat (limited to 'giffeinate.sh')
-rwxr-xr-xgiffeinate.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/giffeinate.sh b/giffeinate.sh
new file mode 100755
index 0000000..8e59600
--- /dev/null
+++ b/giffeinate.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# Turn video files on STDIN into animated GIFs.
+
+FPS=${FPS:-10}
+SCALE=${SCALE:-480}
+
+while [ $1 ]
+do
+ BASENAME=$(echo $1 | cut -d'.' -f1)
+ FRAMEDIR=/tmp/$BASENAME-frames-$(date +%s)
+
+ mkdir -p $FRAMEDIR
+ echo Writing frames...
+ ffmpeg -loglevel quiet -i $1 -vf scale=-1:$SCALE,fps=$FPS $FRAMEDIR/%05d.png
+ echo Creating GIF...
+ convert -loop 0 $FRAMEDIR/*.png $BASENAME.gif
+ rm -r $FRAMEDIR
+ echo Done.
+ shift
+done
+