Simplest way: Use giffingtool
If you just want a simple way to make gifs from video, I'd say the simplest I have seen is Giffingtool
I don't use it myself since I usually need some extra flexibility.
How I make my gifs
Getting the video
Assuming you are going to download the video for some advanced editing, you can use the following options.
Web based: deturl.com (youtube)
Note: If you're going to use giffingtool, just find your video on youtube and record
- Find your video on YouTube
- In your browser's address bar, change youtube.com to pwnyoutube.com and hit enter (if it says https change it to http)
- I use Keepvid
Stream ripping: Tubedigger
Tubedigger is a program that wraps Internet Explorer (I know) and automatically detects flash video streams and downloads them.
So far it's the simplest I've found and it downloads secure RTMPE streams (secured streams like on wwe.com).
The other down side is it costs a few bucks to register.
It's really as easy as opening tubedigger, going to a streaming video site and the video starts downloading as you watch.
You can open the video as it is downloading with VLC and begin recording sections to then import into photoshop.
Creating video snippets
I generally make smaller videos from the large source video to make things like importing into Photoshop more manageable.
If you are just going to make one gif from a smallish video, you can skip to the section on Photoshop.
Recording with VLC
Once you have a video it's as simple as opening it with VLC, scanning through to the part you want and hitting record.
One thing I have noticed is you need to start recording well before the part you want recorded to make sure you get the part you want. I believe it has something to do with key frames, so if you start recording before the camera switches to the scene you want you should be good.
To add the record button to the player, click Tools, Customize Interface..., drag and drop the record button from the left pane to the Main Toolbar
Making the gifs
Using Photoshop
After you get your video, just click File -> Import -> Video Frames to Layers... and select your video.
From there you can move the sliders to just get the frames you need
After that make whatever edits you need then go to File -> Save for Web..., make any adjustments you need to
And the result:
I try to make my gifs work with Tumblr, which means I have the following limitations: 500px wide, 1MB max file size, 100 frame limit. I rarely get to make gifs 500px wide or with 100 frames since the 1MB filesize is a pretty tough target.
(Note: if you go down to 400px wide your limit is technically 2MB, however tumblr gets *really* flakey with the image colors it will accept, and you will have to deal with this ridiculous crap)
When optimizing, these are the things I try to keep in mind
- ~15 frames per second (.06 frame delay). Below that it's too choppy. This makes 15/30/60 fps videos best since they are easy to import (15 fps videos you import as-is, 30 fps you import every 2 frames, 60 every 4 frames)
- Around 30 frames total. It's a tough limit, but it can give you better image quality and larger dimensions
- I usually test 96, 80 or 64 colors
- Test Perceptual, Selective and Adaptive dithering styles. Never know which will be better for the size. In my experience, however, Adaptive usually looks better and is larger.
- Test 49%, 79%, 99% dithering.
- My recent favorite is 64 colors with 99% dithering
- Try 1 - 10 lossy to see if filesize is reduced without losing image quality. It makes pixels get "sticky", which may or may not be noticeable depending on the gif
- (Almost) always enable transparency. Disabling this will only very rarely reduce image size
- I haven't messed with Web Snap% much, but it may be a good way to reduce file size without losing too much quality
Here's a video to give you an idea of what I am doing during live shows:
Photoshop scripts
To make it easier to make gifs I've written a couple scripts to do some automation which actions are unable to do.
Run Actions Multiple Times
This script allows you to run up to two (for now) actions any number of times. Mostly I use this to run an action on the current layer, then go to the next frame/backward layer and repeat. It's saved me a ton of time!
Right click here to save the "Run Actions Multiple Times" script. Put that in your scripts folder then click File -> Scripts -> Run Actions Multiple Times. For an example of how to use this, Check out my video example (skip to 4:32).
Select Color Range of Foreground
This script will run the "Select Color Range" command based on the foreground color. When used in conjunction with the "Run Actions Multiple Times" script it makes deleting colors from multiple frames of a gif easier.
Right click here to save the "Select Color Range of Foreground" script. Put that in your scripts folder then click File -> Scripts -> Select Color Range of Foreground.
Finding your scripts folder:
PC: C:\Program Files\Adobe\Adobe Photoshop CS#\Presets\Scripts
PC 64bit, 32bit Photoshop: C:\Program Files (x86)\Adobe\Adobe Photoshop CS#\Presets\Scripts
MAC: <hard drive>/Applications/Adobe Photoshop CS#/Presets/Scripts
The # represents your CS version number.
Example: C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Presets\Scripts
Tumbr limits and limitations
Documented gif limits
- Gifs can be a max of 500px wide
- Not sure about the height limit, but it is over 650px
- Gifs over 400px wide are limited to 1MB
- Gifs 400px wide and below are limited to 2MB
- Max of 100 frames
Undocumented gif limitations and Getting around Tumblr's BS
In addition to the hard limits above, there are various limitations which seem to make Tumblr just sorta crap out.
I like to think of these limitations as the "complexity" of the gif, each of the below factors make a gif more "complex" and need to be avoided/mitigated in some way.
Problem: Can't upload via a URL rather than directly uploading
Uploading via URL seems to limit gifs to 1MB, even if they are under 400px.
There's just no getting around this one, gotta upload it directly.
Another caveat of uploading via URL (or their damn API) is if the image doesn't upload properly, rather than giving an error it just makes the gif a static image and says everything is fine. Yuck.
Problem: Too many frames.
The frame limit is 100, but it's really more like 60, and that's if you get lucky.
Solutions:
- Delete frames at the beginning or end of your animation - only use the most vital frames
- Remake the gif with half the frames and double the frame delay
- Sometimes you can delete frames in the middle of the animation and/or use some sort of nice jump cut or transition effect
Problem: The gif's dimensions are too damn high
Though the dimensions can be 500px wide and 650px+ tall, having a gif that big will severely limit the number of frames you can have.
Solutions:
- When possible I try to make my gifs 400px wide to get the 2MB limit rather than the 1MB as well as make the gif less complex for Tumblr
- I almost always crop my images to just capture the subject
- Favor cropping the top and bottom over the sides as it will end up being fewer pixels when you resize to 400px width
Problem: The colors are too damn vibrant.
There are certain colors Tumblr chokes on regularly. It's mostly blues and reds.
Solutions:
- Quick and dirty: Desaturate the image with an adjustment layer in Photoshop
-
For blues: Make an adjustment layer to mute the blues in Photoshop
- Select all frames of the animation
- Layer -> New Adjustment Layer -> Selective Color...
- On the adjustment layer properties click Color and select Blues
- Set Cyan and Magenta to -100%
- Move the layer to the top of all the other layers
- Turn the layer off then on while all frames are selected to make sure it's on for all frames of the animation
I recommend you make an action to mute the blues so you don't have to go through all those steps manually each time.
-
For reds: Mute reds on all frames of the animation individually
- Change your foreground color to red (255 red, 0 blue, 0 green)
- Select -> Color Range...
- Change the "Select:" dropdown to "Sampled Colors" with red as your foreground color
- Change Fuzziness to 165
- Click OK
- Make sure your frame's layer is selected
- Image -> Adjustments -> Black & White (or you can mess around with other types of adjustments)
- Repeat for each frame
This is a pain in the ass, so I have written a script to run multiple actions multiple times so you don't have to do it by hand (right click the link and save it to your Adobe scripts folder).
Finding your scripts folder:
PC: C:\Program Files\Adobe\Adobe Photoshop CS#\Presets\Scripts
PC 64bit, 32bit Photoshop: C:\Program Files (x86)\Adobe\Adobe Photoshop CS#\Presets\Scripts
MAC: <hard drive>/Applications/Adobe Photoshop CS#/Presets/ScriptsThe # represents your CS version number.
Example: C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Presets\Scripts
Here's a video which shows how to do the above including making actions: