[Image: Garnet from Steven Universe wagging her finger, from SO1E52, "Jail Break"]
This is based off a Lifehacker guide, but it was missing some key info, so here's the really-complete version.
1. Install the GNU Image Manipulation Program (GIMP). Open it. Close it. (Yes, you have to do this if you've just installed it, otherwise the directory I refer to below won't have been created yet.)
2. Install the plugin GAP using these instructions, which I reproduce here in case of linkrot: download the zip file from here using the small "download" button with green arrow in the top right corner, then use the windows installer to extract to any temporary folder because the installer won't get the right folders (this is the part that I got stuck on, so trust me). Then take the files from
(temporary extraction directory)\lib\gimp\2.0\plugins\
and copy them to
and take the files from
(temporary extraction directory)\share\gimp\2.0\scripts\
and copy them to
3. Open GIMP again. You should have a "Video" menu now.
4. Download and install VLC (which you should have anyway).
5. Open the video you want to make a gif from in VLC. From the menu, choose "View / Advanced Controls." You should now have two rows of buttons at the bottom.
6. Play your video. When you get near the part you want to make a gif from, click the red circle to record what's playing. Click it again when you're done.
7. The video is now in your Videos library (open a Windows Explorer window, look for "Libraries" on the left-hand side, click "Videos").
8. Go back to GIMP. Click Video / Split Video into Frames / Extract Videorange. Open the video you saved (find it by clicking on the button that's just three dots to the right of the "videofilename" box).
9. Click the "Video Range" button, underneath the three-dots button, and use the slider and the up-and-down arrows to get exactly the right frames you want.
(Morning edit: on the left side, next to the "from frame" and "to frame" fields, you'll see "(timestamp) @ (number) fps". If the fps (frames per second) isn't approximately 24 (or some other common frame rate), you'll have to manually set the delay between frames in #13. See below.)
10. On the left side, check the box next to "Create only one multilayer image."
11. (Rescale, crop, and otherwise edit the resulting image as necessary.)
12. Go to File / Export As, pick where you want to save it, and name it something ending in .gif.
13. In the resulting dialogue box, check the "As animation" box, and check "Loop forever." If your frame rate was messed up because of your source, enter "42" in the "Delay between frames where unspecified" field (that's 24 fps; adjust to taste).
And then you have your gif!
Note that many source video weirdnesses can be fixed by opening the video in Avidemux instead of VLC, cutting it down appropriately (use a rough cut since Avidemux is time-based not frame-based) and then, on the left under "Video Output," choosing one of the Mpeg4 options before saving the selection as (filename).mp4 .