How to create gifs
I think it may be useful to share our software/methods.
Here is mine :
  • 1st step
- Download avidemux version 2.5 (the newest doesn't have the screenshots feature anymore)
- Then load your video and select the beginning and end of your cut : http://i.imgur.com/w231LS3.jpg (set marker A&B)
- You've to do many screenshots so I suggest to make a folder
- Save Selection as JPEG images http://i.imgur.com/3GtUl0n.jpg http://i.imgur.com/tS08VQS.jpg

  • 2nd step
- Download Jasc Animation Shop
- You can resize your screenshots so don't worry (or you can resize before with an other software)
- File > Animation Wizard & follow instructions. I usually choose default parameters http://i.imgur.com/FESigjy.jpg
- You can preview the animation with View > Animation.
If you want the last frame be longer : select the last frame then Animation > Frame Properties > Put a higher display time
- Save & follow instructions http://i.imgur.com/xctdxfM.jpg

  • Pros :
- Free softwares & no watermarks
- You can control each frame

  • Cons
- kinda long since it isn't automatic
- avidemux is shitty with .mp4 & some .mkv
Nice idea! I'll contribute my method.

#Feb 2014 Update#

Software:
Preparation:
  • 0a. Place the ffms2.dll plugin in the avisynth plugin folder: Program Files>Avisynth>Plugins
  • 0b. Once Gif Movie Gear is installed, open it, go to Edit>Preferences
    • In the Use tab, select Other
    • In Palettes, select top merge method and enable Dither using 256 colours.
    • In Export, untick the signature.
Method:

  • 1. Create a new avisynth script file in the same folder as the video clip with the following contents: http://i.imgur.com/TR678nx.png
    • Replace the file name with the video file name you want to make a gif from, you must include the file extension (.mkv, .mp4 etc).
    • It's just a blank text file that has the file extension changed to .avs
  • 2. Load the avisynth script into VirtualDub, this may take a moment as the plugin will index the video file, but will allow you to use almost any file type without a hitch.
    • Large movies will probably hang so you'll probably have to cut the segment out from the movie then do this.
  • 3. Use the bar to find the segment you want. Mark the start with the Home key and the end with the End key.
    • Resize the video with Video> Filters > Add > Resize otherwise the gif will come out the same size as the video. 400-480 is a good target width. Lower it if the file ends up too large.
    • If the gif ends up with an odd aspect ratio, you'll have to return to this step and check either the 4:3 or 16:9
    • Make sure to disable subtitles from the system tray (bottom left) or they will show up in your gif sometimes.
  • 4. In Virtualdub go to File > Export > Animated Gif
    • Select Infinite Loop and a storage location.
  • 5. Create a folder on your desktop, I usually name them a,b,c etc..
  • 6.Back in Virtualdub, use File > Export > Image sequence, & select the folder you just made.
    • Make sure jpeg is the output format and quality is 90/95.
  • 7. Open GMG, open the first gif you made with virtualdub. Go to Animation>Save Timing File. Save it to the desktop, it is a very small txt file.
  • 9. Go to File>Restart. Then File>Open and open the folder with all the images, use Ctrl+A to select all images and hit open. This will import all the frames and apply dithering as well.
  • 10. Go to Animation > Load Timing File and load the file you saved. This will give the newly made gif the correct and original timing.
  • 11. Finally, hit File> Save GIF Animation As and this will be your end product.
Pros:
  • Can work with almost any filetype that your computer is already configured to play.
  • Conserves the original timing of the gif, especially useful since anime tends to switch between 1s/2s/3s in cuts quite often.
Cons:
  • Takes a bit of time as it is not automatic.
  • Probably the most complex method on the list T_T
Notes:
  • I used to stop this process after the getting the gif made by Virtualdub but I haven't found a way to make it with any dithering so it looks really bad in most cases. Using GMG's timing import/export I end up keeping the original timing from the video therfore I don't end up having to make up a timing using 3s/4s etc..
  • Once you get used to the different processes I find it doesn't take long to make a bunch of gifs.
Photoshop has a command called "Import Video Frames to Layers" which you can use to create animated GIFs. It's a bit complicated but it also gives you the ability to edit GIFs, add captions, and do color correction and other such things.

For a good tutorial on the use of this function see: http://www.wikihow.com/Make-an-Animated-GIF-from-a-Video-in-Photoshop-CS5

This command supports certain formats but not MKV, which is probably going to be your source material format, so you need to convert it. A great free converter is Handbrake and you'll want to export in MP4. http://handbrake.fr/

When you use "Import Video Frames to Layers" you choose the segment you want with a slide bar similar to the methods described above using Virtual Dub, but it isn't that great to work with and besides, converting an entire episode or movie for one small segment takes long and is just annoying. For that purpose you should get the SolveigMM AVI Trimmer + MKV which enables you to very accurately snip a tiny portion out of any MKV (including 10-bit) in a couple of seconds, which then shortens your conversion time substantially. http://www.solveigmm.com/en/products/avi-trimmer-mkv/

The Photoshop method is definitely more advanced but if you spend some time tinkering with it you can do all sorts of really cool things.
These work significantly better than my gifcam-over-video approach.

If you're using chrome and interested in downloading Sakuga videos, there's an extension called YouTube Options (YTO).

I would find it useful if I knew software that would allow me to view it frame by frame, but this website works too, especially with my slow comcast-esque connection.
Anyone know what's a good frame rate delay for gifs are?

I'm using the process that OP described and I've tried a delay rate of 3 for most of my uploads.
I usually put a 4/100 delay. If it feels wrong I check the total time in seconds & compare to the video.
.04s delay is the closest you're gonna get to 23.976fps with gifs (the perfect delay is 0.041671~).

.03s is probably better for 30fps content but its also an approximation.
aers said:
.04s delay is the closest you're gonna get to 23.976fps with gifs (the perfect delay is 0.041671~).

.03s is probably better for 30fps content but its also an approximation.
Now here's the question I have to ask- if the scene was animated both on ones and twos, would a combination of both delays work?
As long as you match the delay to the framerate of whatever the segment is it should be fine, in theory, but its not something I've ever tried.
Anihunter said:
Now here's the question I have to ask- if the scene was animated both on ones and twos, would a combination of both delays work?
It should, but only if you remove the repeated frames and adjust the timing accordingly.

This is my workflow whenever I bother doing this:

1. Save the extracted frames in a folder and delete all the redundant ones.
2. Load the remaining frames into PS and apply a 0.04s delay to all frames so I don't have to bother with ones.
3. Use the filenames of the remaining frames as a guide when changing the delay. I have commands in PS for up to a 0.20s or fives delay.

You'd usually have to go through each frame since the erratic timing in most anime doesn't help. Not exactly something I'd recommend. This also doesn't work if the scene has camera movement because that is almost always on ones. Don't bother if the cut has a ton of things (e. g. two or more characters/objects plus FX) going on since there tends to be something new in each frame.

The only reason to do this is to reduce the filesize anyway. Most of the time it's more convenient to just dump all of the frames, apply a 0.04s delay to everything, then see what you can get with dithering and color settings.
I've updated my method that allows you to keep the original timing without having to do it yourself manually.

The short of it is: Make rough gif with actual timing > save timing to a small file > create proper gif without timing > apply prior timing file

Pretty much works for anything. Also works if you remove every 2nd frame if you plan on wanting to economise the gif. Just gotta create the rough gif with the 2s and then export the images with the 2s.
Or, you could just use FFMpeg.
I thought this thread would no longer be relevant, but I saw someone recommend it to someone today. No one suggested an ffmpeg-only approach, so here's what I do. These are excerpts of my batch file. I got most of this from Googling for results from stackoverflow and superuser.

  • Step 0: Download FFMpeg
    • Go here
    • Windows users: in case you're a noob to command line, you click ffprompt.bat to get started. You have to define all of the variables below. (google it)
  • Step 1: Generate palette from video range.
    • ffmpeg -v warning -ss %start% -t %duration% -i "%input%" -vf fps=%fps%,scale=-1:%height%,palettegen=max_colors=%colors% -y palette.png
  • Step 2: make gif using palette from step 1
    • ffmpeg -v warning -ss %start% -t %duration% -i "%input%" -i palette.png -filter_complex mpdecimate,fps=%fps%,scale=-1:%height%[x];[x][1:v]paletteuse -y %output%
To lower the file size you can change the values of height, fps, and colors (max is 256). I haven't fiddled with it much, but if you're still not satisfied with the file size you could also try changing the dithering settings. See this article for info on that. (What he says about scaling is no longer true. The default scaler is no longer bilinear, so you don't need to include the lanczos thingy.)

One more thing you could try in order to shave off a few 10ths of a MB is re-encode your video range as an MP4 before making the gif and remove the -ss and -t options from the two above commands. In my experience, starting with a smaller source video results in a slightly smaller gif, but with slightly more artifacts (banding and dither dots). Example:

ffmpeg -v warning -ss %start% -i "%input%" -t %duration% -c:v libx264 -crf 18 -preset veryslow -tune animation -an -sn -y infile.mp4

Then use infile.mp4 as %input%. I also find that the -t option is more accurate this way, but that could just be because I test my times by creating a low-quality MP4 using veryfast preset.
One more thing -- if you have trouble with the scale filter, replace -1 with -2. Nainko's got a much more elaborate solution in forum #104, but it should work fine with -2/%height%.

on Twitter, I often prefer gifs to MP4s because not as much quality is lost during Twitter's processing. Here are their current gif constraints:

  • Resolution should be <= 1280x1080 (width x height)
  • Number of frames <= 350
  • Number of pixels (width * height * num_frames) <= 300 million
  • Filesize <= 15Mb
With my process, duplicate frames are made transparent and large swathes of other frames are made transparent wherever possible. So how small your gif ends up will depend in part on how much is changing from frame to frame.
uhhhhhhhhhh, I think making gif online is a better choice because it allows us to convert video or movie to gif.
I love Ezgif, why, because it can convert videos to animated GIFs in few seconds. Ohhhh, I don't want to type so many words, so you can search https://www.videoconverterfactory.com/tips/mp4-to-gif-converter.html for the detailed steps,
or visit Ezgif official site https://ezgif.com/video-to-gif
I'd also recommend FoneLab Screen Recorder which I have been using for many years. It can record video and has the option to export as GIF file format. You can also add texts, arrows, lines, stepstools, and other drawing panels to the video or animated images. Share it here. https://www.fonelab.com/screen-recorder/
huaying said:
I'd also recommend FoneLab Screen Recorder which I have been using for many years. It can record video and has the option to export as GIF file format. You can also add texts, arrows, lines, stepstools, and other drawing panels to the video or animated images. Share it here. https://www.fonelab.com/screen-recorder/
I recommend using https://www.converter365.com/video-converter/mkv/mkv-to-gif to convert the file to gif format. You can use it to transfer mkv format to gif.