-
-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider / propose as option / default to new high-quality GIF encoder gifski #212
Comments
This looks like an awesome tool. I will give this a test run as soon as possible and implement this in peek. Another option for replacing ImageMagick finally :) |
Here we go with a first quick implementation. For now hidden behind an environment variable. To test install the gifski executable somewhere in your
Looking good so far. I haven't done many tests, but the quality seems to be great. But the images are significantly larger, in my tests the size was roughly doubled. I like gifski and want to keep it as an option, but use ffmpeg by default. Not yet sure how to best expose this option to the user. |
Some more observations: Rendering the GIF takes way more time than with ffmpeg, but memory usage stays low all the time :) Quality is much better. I will try to upload an example later. |
@phw installed gifski from cargo (running But before we talk gifski I need help with the build, my self-built This is the first time I build peek, so I may have done something wrong. HALP.
Log:
|
This sounds an awful lot like the issues reported at #198 I have no idea really, especially since I did not change anything in the recording itself. If you run
you should get exactly the same behavior as with Peek 1.1.0, does this make a difference? |
It's interesting, the initial ffmpeg command for recording the video (pam file) shows |
Indeed, thanks for the pointer 👍.
It does: with this flag recording works as before.
👍, feel free to ping me when I can try the refactor. Or to avoid derailing the gifski discussion, ping #198, I subscribed to it. Thanks for the prompt feedback! |
Can you try again latest master? I could finally reproduce, changed the intermediary output format. This is probably an intermediate fix. |
gifski now supports a quality setting (0-100). This is interesting, because in a quick test a quality of around 50-60 gave me pretty similar results than ffmpeg, but with smaller file size. Ffmpeg still encodes faster, but it's kinda ok with gifski in lower quality settings. There is a big case of making gifski the default and add a slider for quality. My current idea is to just do that with gifski, settting the default quality to 60. The user can then configure the quality with a slider. And if gifski is not available fall back to ffmpeg without quality setting. Some comparisson, first with ffmpeg: gifski quality 100: gifski quality 60: |
Pure awesome 👍; we can have our PNGQuant awesomeness cake and eat it in GIF-land 🙂. I guess/hope that will still let users customize capture framerate (but there's no reason not to, right?), it remains an important way to keep GIF filesize reasonable. Ping me here if/when a first implementation is available, I'll be glad to test it. |
Works for me. @phw awesome work 👍. |
@phw I've been playing with it (latest It feels like high quality makes for a bit less dithering, but overall filesize remains huge (300kB → ~1MB). Am I doing something wrong? (Do you get the same behavior when fiddling with gifski quality?) If you confirm the huge filesizes regardless of gifski quality, please keep ffmpeg as an option. |
Thanks a lot for this testing. Yes, these results speak against gifski as default, especially as gifski cannot play out its huge advantage on the typical screen recording content (application interfaces without too many colors). My results have been indeed different, gifski with q=60 was around the file size of ffmpeg, even a bit smaller sometimes. But the final file size depends so heavily on the recorded content and colors shown. For tests I encoded the WebM video in test.zip with ffmpeg, imagemagick and gifski in different quality. My results where:
New plan: I add a checkbox to enable gifski. |
@phw thinking about the non-effect of the new gifski slider, could it simply be that my build is screwed? Especially, I didn't |
Which version of gifski do you use? gifski 0.5 compiled from AUR, or gifski-git, or the official binary from gifski release page? UPDATE: Additional discussion at daba57c |
I have installed gifski 0.6.0 on Ubuntu 14.04 but when I open Peek the preferencs box does not show the quality slider. Is it not detecting gifski correctly? |
How did you install Peek? As it is not possible to install Peek in 14.04 from source I assume you are using the snap version, right? If so, the snap.package is not yet update to include gifski. Due to the Sandboxer nature of snap apps it cannot use your system wide installation. |
Ah. Is there a workaround? |
@andersaamodt No, not currently. The flatpak builds already include gifski, but I don't know whether you can run this on 14.04. I will update the snaps to include gifski before the next release. |
@andersaamodt I have updated the snaps to include gifski, could you try the latest snap from the edge channel if it works for you?
|
Hmm, I installed the update but there is still no progress bar. |
What do you mean with progress bar? Do you see the gifski settings in Peek's preferences |
No, they don't show up |
@pornel of ImageOptim/PNGQuant fame just released a first version of gifski (website, github). Quoting the website,
Would be awesome for Peek to be able to directly use it. Probably as an option (?) as I guess it means good-looking but heavy GIFs, which depending on the use case may not be the user-desired tradeoff.
The text was updated successfully, but these errors were encountered: