Skip to content

Instantly share code, notes, and snippets.

@icoloma
Forked from SlexAxton/.zshrc
Last active December 25, 2015 13:18
Show Gist options
  • Save icoloma/6982224 to your computer and use it in GitHub Desktop.
Save icoloma/6982224 to your computer and use it in GitHub Desktop.
Create screencasts
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
}
# record the entire desktop, at any resolution, lossless
ffmpeg -f x11grab -s `xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//'` -r 25 -i :0.0 -sameq desktop.avi
# record part of the desktop starting at 66,114 (the beginning of a Chrome window in ubuntu) with size 767x431 (16/9)
ffmpeg -f x11grab -s 767x431 -r 30 -i :0.0+66,114 -sameq desktop.avi
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment