Gifski icon indicating copy to clipboard operation
Gifski copied to clipboard

Screencast GIFs optimized palette

Open aheissenberger opened this issue 4 years ago • 2 comments

Great App 👏!

What I miss from switching from ffmpeg is the creation of a specific color palette which makes the result not show the typical compression artefacts and is much smaller.

Here is an example done with ffmpeg:

  1. Create a palette image from the video: ffmpeg -y -i in.mov -vf fps=5,palettegen palette.png => palette
  2. Convert into a GIF using the palette: ffmpeg -i in.mov -i palette.png -filter_complex "fps=5,paletteuse" out.gif

Here are the Results

  1. File processed by ffmpeg (FPS: 5) - Size: 29.375 Byte out-ffmpeg
  2. File processed by Gifski (Version: 2.7.1, FPS: 5, Quality: 50%) - Size: 62.874 Byte out-gifski

aheissenberger avatar May 20 '20 11:05 aheissenberger

I doubt we'll add advanced settings like specifying a custom palette. However, there might be a way to improve the quality/size by default for this kind of recording. @kornelski would have to comment on this though. I don't know how the algorithm works.

sindresorhus avatar Jun 27 '20 20:06 sindresorhus

gifski always picks high quality palette for every single frame, which makes it better looking than ffmpeg's solution which has one (and not so high quality) palette for average of all frames.

That does cost in file size, but gifski is about maxing quality at the cost of totally ignoring how that balloons file size.

The quality slider enables lossy compression which is effective for natural video-like content.

kornelski avatar Jun 29 '20 01:06 kornelski