-
Notifications
You must be signed in to change notification settings - Fork 2
/
gifRemoveEveryOtherFrame.sh
executable file
·37 lines (30 loc) · 1.53 KB
/
gifRemoveEveryOtherFrame.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
# http://graphicdesign.stackexchange.com/questions/20908/how-to-remove-every-second-frame-from-an-animated-gif
source @includes.sh
echo '###################################################'
echo '# Description: Cut a gif in half by removing every other frame'
echo '# Usage: $ ./gifRemoveEveryOtherFrame.sh /path/to/image.gif'
echo '# Param 1: Gif file'
echo '# Requires: gifsicle'
echo '###################################################'
echoNewline
################################################################################
################################################################################
# check parameters
if [[ $1 == "" ]] ; then
echoError "1st arg must be a gif file"
exit 1
fi
################################################################################
################################################################################
# get filename
filename=$1
extension="${filename##*.}"
outputFile="$1.half.gif"
# do conversion
# [cacheflowe] util [system] [master *+] gifsicle -U /Users/cacheflowe/Downloads/c4f64a4a-688e-468c-2c76-e35423a33db5.gif `seq -f "#%g" 0 2 250` -O2 -o /Users/cacheflowe/Downloads/c4f64a4a-688e-468c-2c76-e35423a33db5-quick.gif
gifsicle -U $filename `seq -f "#%g" 0 2 $(identify $filename | tail -1 | cut -d "[" -f2 - | cut -d "]" -f1 -)` -O2 -o "$outputFile"
################################################################################
################################################################################
# complete
echoSuccess "Halved gif: $outputFile"