35
$\begingroup$

I need to save an animation as an animated GIF.

Can this be done from Blender? cheers.

$\endgroup$
  • $\begingroup$ If you want to use Photoshop: 1. Export from Blender to image sequence (JPG, PNG) at desired image size. 2. Import image sequence into Photoshop (Choose Open image, check the Image Sequence checkbox) 3. Keep colour mode in RGB (ie. don't switch to Indexed Colour, you'll lose the animation frames) 4. Choose Save To Web, choose GIF as file export option. It should indicate number of frames in the bottom of the screen. You can also choose Looping options here. 5. Save file. $\endgroup$ – Todd McIntosh Jul 22 '13 at 14:57
  • $\begingroup$ Use AnimateGif(Freeware) AnimateGif is a small utility that will quickly create animated GIFs. It has a really simple interface that anyone can use. You may set loop, frame delay and quality options. What's more, it's lightweight, portable and fast! xylemstudios.com/products/animategif.php $\endgroup$ – Sky Raker Jul 23 '13 at 8:47
  • 1
    $\begingroup$ @Lindsey, this question was edited to stay within the scope of Blender.Stackexchange, It's a good question (as the vote count suggests) but invites answers that involve software that isn't Blender -- this is partially the fault of my original edit to your question. Hopefully how it exists now makes more sense. $\endgroup$ – zeffii Jul 24 '13 at 9:33
  • $\begingroup$ @zeffi thank you for the edit sometimes it is hard to know how to define the question so thank you for the help $\endgroup$ – Lindsey Jul 26 '13 at 9:22
  • $\begingroup$ I think, it might indirectly be done using the Frame Serving feature. $\endgroup$ – Samoth Apr 5 '16 at 16:57
30
$\begingroup$

No, GIF isn't supported. While the encoding library (FFmpeg) used by Blender supports GIF encoding, it's unlikely support for this format will ever be added.

Your best option is to render an image sequence and assemble them in another external application. This is really trivial to do however and you can find some good programs or methods around the internet by doing a simple search.

$\endgroup$
  • 12
    $\begingroup$ Why is it “unlikely support for this format will ever be added”? $\endgroup$ – Kissaki Sep 21 '14 at 22:24
  • 1
    $\begingroup$ The Gimp can't handle 1000 layers :-) :-) $\endgroup$ – juFo Oct 1 '14 at 16:02
  • 5
    $\begingroup$ @juFo If you are making a multi-thousand frame gif, You almost certainly using gif wrong. :\ If you try to distribute that over internet you'll need basically a video-streaming capable server and connection at which point, why aren't you using a standard video format. #twocents $\endgroup$ – ThorSummoner Feb 9 '15 at 20:08
  • $\begingroup$ Just download the ffmpeg encoding library directly and access that via a command prompt. It'll become mandatory sooner or later when using blender. You'll eventually want access to h.265, gif, better containers, and many other libraries and formats that blender hasn't implemented from ffmpeg. $\endgroup$ – kite Mar 25 at 7:59
  • $\begingroup$ Gifs have always been a great way to help starving freelancers who have to deal with bad connections. Playblasts don't need mp4s.You can share animated work with a client to give them the millionth look at progress. It's seriously asked of on the spot so much sometimes. People want control. A leighweight video with no sound, Good. You can REALLY use gif. Export is one of many, many things that would result in more people using Blender, like which has already happened. Also, It's good to be optimistic about the possibilities of the software we all use and want to see thrive with support. $\endgroup$ – Simon Jul 11 at 14:32
32
$\begingroup$

I created an addon that allows you to render or import animated GIFs with Blender. The addon is called Bligify.

Render GIFs

enter image description here

Import GIFs

enter image description here

$\endgroup$
  • $\begingroup$ Why don't you add a gif or two as an illustration directly in this answer? $\endgroup$ – lemon May 10 '17 at 17:03
  • 3
    $\begingroup$ Done. I've added a demonstration of both rendering and importing. $\endgroup$ – doakey3 May 10 '17 at 18:33
  • $\begingroup$ Can't get the addon to render GIF (only frame sequence) on Mac is that expected? I've left a message on the youtube tutorial. Not sure where to leave a bug report ;-) $\endgroup$ – 3pointedit May 21 '17 at 11:05
  • $\begingroup$ Sorry about that. I don't have access to a Mac, so coding for it is impossible for me right now. The addon requries Gifsicle and ImageMagick to work. I just packaged the executables into the addon for Windows users, but it's not so easy on a Mac. If you'd like to edit the code somehow to make it work for Mac users, I'd appreciate it. Else, I probably won't get around to it for a while. $\endgroup$ – doakey3 May 21 '17 at 14:14
  • $\begingroup$ Big Thanks! This seems to be right the life-saver tool I was needing (superimposing an animated GIF onto a mostly static clip - say, like an "animated decal")!! $\endgroup$ – Fantômas May 30 '18 at 11:15
5
$\begingroup$

You can convert a .png sequence to gif with ImageMagick.

Assuming you've already rendered your animation as a .png sequence, install ImageMagick and open up a terminal, go to your output directory, and execute:

convert -delay 1x30 *.png video.gif

This will convert all .png files in that directory to one .gif file.

The delay parameter defines how many ticks each image should be visible. 30 fps (1/30 sec) is used in the example above.

$\endgroup$
  • $\begingroup$ Thanks for this! It's way faster than doing it in Photoshop. Ps gives finer control, like holding each frame for a certain amount of time (to reduce file size), but often I just want to get the GIF made quickly, and this is the best way. $\endgroup$ – Mentalist Aug 9 '18 at 10:48
0
$\begingroup$

You specified you wanted an in-house solution. As it was stated that's not possible outside of addons that introduce outside elements. You can go the other route though and download the ffmpeg library that is already within blender, allowing you to access it directly through a command prompt or powershell. Google ffmpeg, download the latest stable release, extract, drag the ffmpeg.exe into the folder (or setups paths) of the things u want to turn into gif. Then you can open a command console there and use the generic:

ffmpeg -i input.mkv output.gif

In many situations it may be preferable to make the dimensions and any effects desired in blender vse, with a gui, and export just the desired segment as a .jpg or png strip. If you are committed to high quality gif images you can expand on what your command uses a bit, search google. But in general some things u might want to pair with it:

ffmpeg -i input.mkv -vf scale=500:-1,unsharp=lx=13:ly=13:la=1.0 output.gif

or use
-vf scale=1920x1080:flags=lanczos
if you want to specify the scaling operation as lanczos or something else, its bicubic by default. But you only scale if you need to change the scale of the input, otherwise it translates over to the output automatically as is.

for jpeg/png the operation is just
-i %d.png
-i %d.jpg

You probably want to set the fps and start number tho so it would be like: For an image strip sequence named 800.png....onwards:

ffmpeg -framerate 24 -start_number 800 -i %d.png -vf scale=500:-1,unsharp=lx=13:ly=13:la=1.0 output.gif

For jpeg the scaling operation uses -2 instead of -1 for the automatic proportional scaling feature. I don't know if crf values work for gif or not but you'd just toss a -crf 18 before the output perhaps.

my pictures8002...my pictures8899
would be -start_number 8002 -i "my pictures"%d.png
i think it was -vframes 8012 if you wanted to only make the gif just from images 8002 to 8012; just toss it after the input in that situation. should work for video format outputs, never tried for gif.

$\endgroup$
0
$\begingroup$

So, I had just run into this dilemma and couldn't get the above answers to work (or were too complicated). I ended up learning how to do it in Krita. In case anyone stumbles here in the future, here's a step-by-step process I came up with. Obviously, you'll need Krita. Once you've installed and linked FFMpeg, you don't have to do so each time and the process becomes quicker. BTW, I'm on Windows 10 64bit.

-Install Krita, if you haven't already. It's free.

-Download ffmpeg according to your system setup and extract to a safe place, or wherever. Mine is just on the C drive.

-Open Krita and create new document according to your image sequence size.

-File > Import animation frames...

-Now, click Add images and select all your frames, then select OK to import.

-Make sure the Timeline and Animation dockers are open: Settings > Dockers > Timeline; Animation.

-If there is a jitter at the end of your sequence that wasn't there in Blender, you may need to readjust your start and end frame values. This can be done in the Animation docker.

-Once it's all ready for export, simple go to File > Render animation. Here, be sure Video is selected and the first and last frames match what you set in the Animation docker, as well as the other values like dimensions and FPS.

-In the FFMpeg, link to where the ffmpeg.exe file is located. Example: C:\Ffmpeg\bin\ffmpeg.exe (where mine is).

-Be sure Render as: GIF image is selected and select your output location.

-Badda-bing, badda-boom.

Now that I've seen how easy this was firsthand, I'll be using Blender and Krita in tandem when making gifs! Hope this helps the next person as inept or lazy as I. Let me know if I wasn't clear enough or if you have issues and I'll try to help.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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