Increasing exported GIF quality doesn't remove artifacting or increase quality or increase file size

Settings I’ve tried:

  • quality-based VBR at 100% quality
  • constant bitrate (maxing all values)
  • constrained vbr (maxing all values)
  • average bitrate (maxing all values)

Resulting output (uncompressed file host):

What gives? I want a bigger file size (my host size limit is up to 8 megabytes for GIF and I want to utilize almost all of it so that I can have a better quality image).

I’m thinking I’m doing something wrong because the resulting file is always the same size regardless of changing the export options…

My understanding is that Shotcut doesn’t generate an optimized palette for GIF files. That means any exports will probably be the same size and appearance regardless of export settings.

GIF isn’t like other formats where bigger automatically means better. GIF is an indexed image format into a 256-color palette, meaning frames are pretty much always the same size (barring basic compression) unless a custom palette is used for every frame. But that isn’t a recommended option for compatibility and many other reasons.

For high-quality GIF conversion, consider exporting the Shotcut video as Ut Video Lossless, then use FFmpeg to generate an optimized palette. The command looks like this:

ffmpeg -i Input.mp4 -filter_complex "[0:v] split [a][b];[a] palettegen [p];[b][p] paletteuse" Output.gif

More details here:

Thanks, but that’s way too much work. I’d rather just export as PNG stills and then load the files into stack in photoshop and create an animation, as Photoshop’s export to web is fantastic.

Here is what Photoshop GIF came out to look like using the exported PNG stills from my Shotcut project;

I hope the developer comes up with a better GIF export.

You could easily finish the posted steps faster than you could click through Photoshop, once you’re familiar with the steps. Especially if they’re turned into a simple script file.

That aside, creating optimized GIF is a two-pass procedure. The first pass has to analyze what colors were most frequently used in the entire video, which can’t be known until the video is exported. Then it has to be reprocessed to convert colors to the optimized palette. Remember that Photoshop has access to something that Shotcut doesn’t — the finished video for analysis. So, it’s not really a Shotcut problem. It’s the procedural nature of GIF requiring two steps. Perhaps a second pass could be written into Shotcut, but that’s very custom code.

I totally sympathize with your goal of simpler export. GIF is just a bit unique.

1 Like

This topic was automatically closed after 90 days. New replies are no longer allowed.