Create animated gif screencasts.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 53 commits behind dergachev:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
demo.gif
demo.mov
draw_progressbar.rb
options.rb
screengif.rb
util.rb

README.md

Screengif

A commandline tool to convert SCREENCAST.mov into ANIMATED.gif

Here's what happens when you apply it to demo.mov

Usage

screengif.rb - Convert your screencast into a gif.
Usage:
	screengif.rb [options] [--input FILENAME.mov] [--output OUTPUTFILE.gif]
Examples:
	./screengif.rb --input demo.mov --output out.gif
	cat somefile.gif | ./screengif.rb --progressbar --framerate 10 --delay 50 --delay-last 5 > out.gif

Specific options:
    -i, --input FILENAME.mov         Use ffmpeg to convert FILENAME.mov into PPM image stream and process results.
                                     If missing, will process PPM or GIF image stream from STDIN.
    -o, --output FILENAME.gif        Output resulting GIF data to FILENAME.gif. (defaults to STDOUT).
    -p, --progressbar                Overlay progress bar on the animation.
    -d, --delay MS                   Animation frame delay, in tens of ms. (default: 10)
        --delay-last MS              Animation frame delay of last frame, in tens of ms. (default: 50)
    -r, --framerate FPS              Specify amount of frames per second to keep. (default: 10)
        --max-width PIXELS           Output image max width, in pixels. (default: 600)
        --max-height PIXELS          Output image max width, in pixels. (default: 600)
        --no-coalesce                Skip Magick::ImageList#coalesce() if input doesn't need it.
        --no-gifsicle                Prevent filter the output through gifsicle. Greatly increases output file size.
    -h, --help                       Show this message
    -v, --verbose                    Verbose output
        --version                    Show version

Installation

The following works with OS X and homebrew:

git clone https://github.com/dergachev/screengif.git
cd screengif
brew cask install x-quartz

# x-quartz is a dependency for gifsicle, no longer installed starting on 10.8
brew cask install x-quartz 
open /usr/local/Cellar/x-quartz/2.7.4/XQuartz.pkg # runs the XQuartz installer

brew install ffmpeg imagemagick gifsicle
# brew install ghostscript # not sure if this is necessary

Tips

See https://gist.github.com/dergachev/4627207#os-x-screencast-to-animated-gif for a guide on how to use Quicktime Player to record a screencast on OS X.
Keep in mind that other tools (like Screenflow) produce better video quality.

If you install copy-public-url, the following will automatically upload your new gif to Dropbox:

cp out.gif ~/Dropbox/Public/screenshots

Resources

Related solutions

RMagick

Imagemagick

Bash guides

Ruby guides