Take the 2-minute tour ×
Software Recommendations Stack Exchange is a question and answer site for people seeking specific software recommendations. It's 100% free, no registration required.

I'm looking for a free program that allows me to record my screen and save the 'video' as an animated GIF.

This will be useful when making instructions / steps to do something.

Requirements:

  • free (preferably open-source)
  • make a GIF that lasts for about 10 seconds
  • runs on Snow Leopard - 10.6.8 (if possible, Win7 as well :)
  • saves file locally - not uploaded automatically to a website

Note: I'm not looking for a program that converts images into an animated GIF, but more of a 'on-the-spot' video maker and converter (i.e., I want the program to make the video and make it as a GIF - to upload to websites etc.).

share|improve this question
    
On which operating system should the program be able to run? –  ComFreek Jun 17 at 18:11
    
@CanadianLuke I don't know if this is the case, but 10.6.x is the highest an Intel-based 32-bit machine (like the Core Duos) can go. –  ParrotMac Jun 17 at 22:36
    

6 Answers 6

up vote 40 down vote accepted

I personally use and recommend LICEcap.

  • Great interface: select a region of the screen and set the frame rate and destination for the gif.
  • No time limit on length of gif.
  • OS X and Windows (can use Wine for Linux).

LICEcap also allows some further gif customisation, including adding title frame with custom duration to the gif, setting a pause hotkey and repeat count (as opposed to the default infinite repeat).

Used for many of my answers across SE (example).

share|improve this answer
3  
LICEcap is not cross-platform, it's just for Windows and Mac. On Linux, I use a custom script with Byzanz. It is usable, but LICEcap's UI looks slightly better (unfortunately it is not available on Linux, and a quick search for its alternatives on this site also points to Byzanz). –  Rob W Jun 17 at 19:44
    
@RobW You beat me to it :P Thanks for the links :) It does work fine in wine with a small quirk; there is no cursor recorded in the gif unless the lice cap window is focused (not usually the case). –  gandalf3 Jun 17 at 19:44
    
Thanks for pointing out lack of Linux—edited. –  grgarside Jun 17 at 19:47
2  
licecap works fine on wine. –  Journeyman Geek Jun 18 at 19:43

I was actually trying to solve this problem for myself today and found this nice little Github gist:

https://gist.github.com/dergachev/4627207

Uses Quicktime to save a video, ffmpeg to convert the video, and gifsicle to compress/clean the final gif.

It uses the command line, so it might not be great for your use case, but I suspect this could easily be put into an Automator workflow.

Installation:

brew install ffmpeg 
brew cask install xquartz #dependency for gifsicle, only required for mountain-lion and above
brew install gifsicle

Converting:

ffmpeg -i in.mov -s 600x400 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif

The output resolution can (and probably should) be varied along with the file names.


For people wanting to produce a shell script to do the above, I came up with this:

https://gist.github.com/vmrob/27e4de2295c253edb7b3

#!/bin/bash -e

# Converts a video to a gif

if [ "$#" -ne 2 ]; then
    echo "usage: ${0##*/} [input video] [output gif]"
    exit 1
fi

VIDEO=$1
GIF=$2

# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$(ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')

# converts the video
ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $GIF

If you wanted to create an automator workflow for this, you would want to use the "Run Shell Script" workflow item using the arguments as input. I had to modify it slightly as the resulting .app doesn't know where ffprobe, ffmpeg, or gifsicle are, so this solution is definitely not very portable and might require adjusting, but it's at least quick:

#!/bin/bash -e

# Converts a video to a gif

if [ "$#" -ne 1 ]; then
    echo "usage: ${0##*/} [input video]"
    exit 1
fi

TOOL_PATH=/usr/local/bin
VIDEO=$1
GIF=$VIDEO.gif

# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$($TOOL_PATH/ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')

# converts the video
$TOOL_PATH/ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | $TOOL_PATH/gifsicle --optimize=3 --delay=3 > $GIF

You can then save the workflow as an app or service that works on files so that using it is as simple as dragging and dropping movies into it or right clicking on a video file:

image demonstrating conversion

I have no idea why it's apparently sped up though..

share|improve this answer
    
Great suggestion - +1 But I'm not willing to use command line every time and making an Automator workflow wouldn't make it possible to choose location, would it? I'd rather have a GUI option as @GeorgeGargside said –  ṧнʊß Jun 18 at 6:17
    
@shub I did a little more work on it and came up with a script. It's still not a gui, but it does perform the conversion for you. My workflow would be Quicktime screencast -> save file -> convert. –  vmrob Jun 18 at 22:06
    
Even better! Works for me, but I still prefer George's answer - I'd +1 you again if I could :) –  ṧнʊß Jun 19 at 7:06
    
@shub Haha, I know it's not the solution you're looking for. At this point, I'm not even trying to answer your question, I'm trying to provide a nice alternative for everyone else that might find this. I really like George's answer too! –  vmrob Jun 19 at 18:01
1  
Sorry - don't get me wrong - I think your idea is great! That's why I want to +1 it again - this site is for future users as well! –  ṧнʊß Jun 19 at 18:02

You can use Recordit:

  • free (but not open-source)
  • make a gif that lasts for about 10 seconds (up to 5 minutes for free)
  • 'on-the-spot' video maker and converter
  • Needs at least Mac OS X 10.8, Windows 7 enter image description here
share|improve this answer

Since I don't prefer any of the other solutions since they don't have the specific features I want, I made my own (currently command-line only) program specifically for quickly capturing .gifs and .webm files for the web.

Features

  • Follows the mouse or captures fullscreen
  • You can specify width and height of a recording area around your mouse
  • Outputs to (lots of png files) .gif and .webm

A gif made with screencapture

It's available for download here.


Note that this was made in a day, if you're not a developer, you probably won't be able to install/use it yet. I will be updating this program to make it more user friendly

share|improve this answer
    
What OSes are supported? –  Journeyman Geek Sep 1 at 8:15

You can use Quickcast:

  • free and open-source
  • up to 10 seconds and under 300px height/width
  • as of now Mac only
  • can publish .gif on QuickCast website directly
share|improve this answer

Since this question got a lot of attention, I feel that I should share my favorite screen recording software which isn't free but fulfill all other requirements and has many other useful features: TechSmith Camtasia

  • Mac and Windows (FYI Camtasia for Windows vs. Camtasia for Mac)
  • saves file locally or directly uploaded to a website (FTP, YouTube, Google Drive, etc.)
  • no limit of video length or video resolution
  • work with multi-monitor (the video area can even span on several monitors)
  • save as GIF:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

  • Demo:

enter image description here

  • lots of post-processing options:

enter image description here

For a more thorough description, see the list of all features.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.