You could add a few parameters to the script to make it a bit more flexible, but I find it easier to just hack the script if I want a different framerate or something. creategif foobarĪnd it will create a file foobar.gif from the png's. Open a command line and cd to the directory with everything in it then type. depending on what you want though a html5 video might be more appropriate. Much faster loading, better image quality, and compatibility isn't really an issue these days if you use the right codec. Save the file as "creategif", or something else to your taste, make it executable and put it in the same directory as your sequence of pngsįor a sequence foobar004.png, foobar005.png, foobar006.png. Yeah, you'd be better off using MP4/WebM.
Paste the following into a text file: #!/bin/bashįfmpeg -framerate 24 -start_number_range 999 -f image2 -i $1%3d.png -filter_complex " split palettegen paletteuse" $1.gif It runs through the images twice: pass "a" to work out an optimal colour palette, then pass "b" to actually create the gif file using the created palette. I wrote a tiny script to do the job so I don't have to remember. -vf scale=512:-1: set the width, scale height proportionally, usually to reduce size and save spaceįfmpeg can do it all for you but it is really hard to get your head around it.-framerate 60 and -r 15: assume 60 FPS on input images ( ffmpeg cannot know otherwise since no FPS data in images as in video formats), pick one every 4 images so reduce size ( 4 = 60 / 15).-pattern_type glob: convenient way to select images.The important ffmpeg options I wanted to highlight are: To complement this answer: wget -O opengl-rotating-triangle.zip