diff options
Diffstat (limited to 'giffeinate.sh')
-rwxr-xr-x | giffeinate.sh | 22 |
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 + |