To convert images to gif you can simply run this command:
ffmpeg -i path/to/folder demo.gif
If you need to scale down the output size you can use this command:
ffmpeg -i output/project/%06d.png -filter_complex "[0:v]scale=640:-2,split[x][z];[x]palettegen[y];[z][y]paletteuse" demo.gif
One think you need to keep in mind is that the scale size should be match with the aspect ratio of the image size.
The formula to calculate the scale size is as follows:
output_width = input_width * output_height / input_height
For example, let's say you have an input image with a resolution of 1920x1080, and you want to scale it down to a maximum width of 640 pixels:
input_width = 1920
input_height = 1080
output_height = 320
output_width = 1920 * 320 / 1080 = 568
So in this case, you would use a scale filter of scale=568:320:flags=lanczos
, which would scale the input image down to a maximum width of 568 pixels while preserving the aspect ratio.
Note that in the FFmpeg command I gave earlier, we used the scale filter scale=640:-2
, where the -2 tells FFmpeg to automatically calculate the output height based on the input aspect ratio. This is a more general approach that works well in most cases where you want to scale the image while preserving the aspect ratio.