[VE] GIF improvements and general fixes #148

Merged
vea-sa merged 5 commits from ve-fixes into main 2025-06-01 22:52:13 +00:00
vea-sa commented 2025-05-31 18:34:54 +00:00 (Migrated from github.com)

The gifski tool generates per-frame color palettes with mandatory dithering, which causes flickering in Discord. This PR adds an option to generate GIFs with ffmpeg. In this case we need to run ffmpeg external process twice: first to generate a global color palette, then the image generation itself.

It ended up a bit of a conditional mess because ffmpeg palette generation and gifski do not have standard output. But I am keeping gifski because ffmpeg can't do per-frame palettes.

External process standard output is now handled async + a few misc fixes.

The `gifski` tool generates per-frame color palettes with mandatory dithering, which causes flickering in Discord. This PR adds an option to generate GIFs with `ffmpeg`. In this case we need to run `ffmpeg` external process twice: first to generate a global color palette, then the image generation itself. It ended up a bit of a conditional mess because `ffmpeg` palette generation and `gifski` do not have standard output. But I am keeping `gifski` because `ffmpeg` can't do per-frame palettes. External process standard output is now handled async + a few misc fixes.
vea-sa commented 2025-05-31 19:16:38 +00:00 (Migrated from github.com)

Sorry. Shortly after starting the PR I decided it could use another option. It's ready for review now.

Sorry. Shortly after starting the PR I decided it could use another option. It's ready for review now.
ManlyMarco (Migrated from github.com) approved these changes 2025-06-01 22:52:02 +00:00
ManlyMarco (Migrated from github.com) left a comment

Looks good to me.

Looks good to me.
Sign in to join this conversation.
No description provided.