-
-
Save SlexAxton/4989674 to your computer and use it in GitHub Desktop.
gifify() { | |
if [[ -n "$1" ]]; then | |
if [[ $2 == '--good' ]]; then | |
ffmpeg -i $1 -r 10 -vcodec png out-static-%05d.png | |
time convert -verbose +dither -layers Optimize -resize 600x600\> out-static*.png GIF:- | gifsicle --colors 128 --delay=5 --loop --optimize=3 --multifile - > $1.gif | |
rm out-static*.png | |
else | |
ffmpeg -i $1 -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $1.gif | |
fi | |
else | |
echo "proper usage: gifify <input_movie.mov>. You DO need to include extension." | |
fi | |
} |
brew install ffmpeg | |
brew tap phinze/homebrew-cask | |
brew install brew-cask | |
brew cask install x-quartz | |
open /usr/local/Cellar/x-quartz/2.7.4/XQuartz.pkg | |
# click through the stuff | |
brew install gifsicle | |
brew install imagemagick | |
# I had a weird problem with Convert/imagemagick where I had to do: | |
ln -s /usr/local/Cellar/libtool/2.4.2/lib/libltdl.7.dylib libltdl.7.dylib | |
# But hopefully you don't have to |
# Take screencast using Quicktime. Export as high quality as possible. | |
gifify screencap.mov | |
gifify screencap.mov --good |
If this helps anyone, my XQuartz location ended up being:
open /opt/homebrew-cask/Caskroom/xquartz/2.7.7/XQuartz.pkg
I assume that's due to the update to 2.7.7?
thatryan: Yes, I have that error (Yosemite). No idea what to do about it.
For those looking to install @vvo's gifify with prerequisites:
# install pornel/giflossy (fork of gifsicle)
wget https://github.com/pornel/giflossy/releases/download/lossy%2F1.82.1/gifsicle-1.82.1-lossy.zip
unzip gifsicle-1.82.1-lossy.zip -d gifsicle-1.82.1-lossy
cp gifsicle-1.82.1-lossy/mac/gifsicle /usr/local/bin/
# install ffmpeg
brew install ffmpeg --with-fontconfig --with-libass
# install imagemagick
brew install imagemagick --with-fontconfig
# install gifify
npm install -g gifify
Thanks @vvo, @pornel, @paulirish, @SlexAxton, and internets.
Please forgive my ignorance on the matter. I really want to use this as it seems the only method for high quality gifs.
I understand this is for MAC users only? I do have a mac pro. How can I use this script?
Thanks so much again!
@nexdrew could you please add this to the gifify repo as a PR? very valuable
@nexdrew could you please add this to the gifify repo as a PR? very valuable
@vvo and @nexdrew, here's a PR that does it in a curl one-liner: vvo/gifify#46. Feedback?
For anyone else interested, installing gifify locally works pretty well too.
$ npm install --save-dev gifify
… in your package.json
:
"scripts": {
"gifify": "gifify"
}
And can be run from command line like so:
$ npm run gifify -- -o test.gif test.mp4
… or js script within package.
Anyone come across this error?
Incompatible pixel format 'rgb24' for codec 'gif', auto-selecting format 'rgb8'