mirror of
https://github.com/NickeManarin/ScreenToGif.git
synced 2026-04-25 07:05:54 +03:00
[GH-ISSUE #115] Encoders and file size #101
Labels
No labels
copy cats
duplicated
future feature
pull-request
⬜ Accepted
⬜ Completed
⬜ Help Wanted 💪
⬜ In Progress
⬜ Missing Details
⬜ Pending
⬜ Waiting For Answer ⏳
🆕 feature preview
🔷 Bug 🐛
🔷 Out Of Scope
🔷 Out Of Scope
🔷 Question
🔷Enhancement
🔷Enhancement
🔷Invalid / External
🔷Knowledge Base
🔷Won't Fix
🕑 High
🕑 High
🕑 High
🕕 Medium
🕙 Low
🕛 Critical
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ScreenToGif#101
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @druellan on GitHub (Mar 25, 2017).
Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/115
Hi! I'm trying to understand how the different encoders work. But so far I'm not getting the results I expected.
I'm using a somehow complex GIF as a test:
This GIF was exported from Photoshop and it's about 2mb in size.
Saving the GIF from the 2.6 editor without modifications and using several encoders, I get this results:
I wasn't expecting better results than Photoshop, but twice the size as the best result, seems odd.
Are those results correct?
All the files can be downloaded from: https://www.dropbox.com/s/yjnm6um1resgjbr/abstract02.zip?dl=0
Thanks!
@NickeManarin commented on GitHub (Mar 30, 2017):
Yeah, that's it.
Photoshop is a 27 years old professional (thus very expensive) software (probably) made by several full-time developers using a very powerful language (C/C++).
ScreenToGif is a 2 years old indie (free, no ads) software made (during weekends) by 1 developer using a little bit slower managed language (C#).
Also, image encoding algorithms are quite hard for me. Specially color quantization, something that Photoshop is way better.
If you know someone up to the challenge to help me out improving the encoding algorithms, just say the word. :)
@druellan commented on GitHub (Mar 30, 2017):
Hi @NickeManarin thanks for the answer.
I'm by no means implying you did a bad job or that your (free) work should be at the same level as an expensive professional tool. I'm just puzzled about the results here, wondering if there is some kind of bug, but anyway, your algorithms seems to work well if you are using the tool for screen capture, so...
@NickeManarin commented on GitHub (Apr 2, 2017):
Oh, it's alright :D
From what I understand, with more colors and more color changes, the gif tends to be bigger.
I don't have Photoshop installed, but I once saw that you can add dithering and change how the type of palette. This could greatly decrease the file size.
I'll take a look at your examples to see how they behave.
@ronosaurus commented on GitHub (May 12, 2017):
Nicke, are you able to incorporate existing libraries like these:
On-line example:
@NickeManarin commented on GitHub (May 12, 2017):
I'm currently working on a new "Recorder" experience, I should focus on this afterwards. Thanks.
@Kristinita commented on GitHub (Mar 15, 2018):
1. Summary
GIF's have very big size for me.
If I insert ScreenToGIF GIF to web page → user browser will hangs.
2. Example
ScreenToGIF 2.12.1.
Project file.
15-second GIF size:
But video have normal size:
3. Not helped
Yes, I can use image optimizers, but they slightly reduce GIF size.
Thanks.
@vatterspun commented on GitHub (Mar 16, 2018):
Yeah man, you're doing an amazing job. I've stepped away from some of the animation stuff I was doing years ago but if I had more time I'd be all over this program.
There are a few ways to optimize GIFs that I've seen:
Cut out things (colors, frames, detail, etc), which you've sort of already addressed.
Analysis between frames of what hasn't changed. It's a very dumb version of what modern video players do. If you were to rip apart the Photoshop GIF file, you'd probably see huge swaths of the image missing from frame to frame.
In messing around with the format, I've seen that some GIF encoders are better than others at this, but I'm not sure of the current status. However, with the 256 color limitation, I've been arguing that animated PNG (#129) is more worth your time and effort, since there are at host of great PNG compression tools out there that could be put to the task. You might find something more interesting than the black box of "Photoshop does it somehow".
@NickeManarin commented on GitHub (Mar 16, 2018):
@Kristinita I'll investigate that issue.
@NickeManarin commented on GitHub (Mar 16, 2018):
@vatterspun
Indeed. I just wished that all major browsers had support for it. I'm looking at you, Edge/IE.
Anyway, with the next release (v2.14), I want to implement a "Save as PSD". Let's see if it's easy to do that and if it's possible to export with the timestamps.
@druellan commented on GitHub (Mar 16, 2018):
If you're converting from video files, chances are the GIF encoder is not going to do a great job.
First, is not possible to compete with a lossy algorithm, but also, the "noise" the mp4 algorithm introduces into the video kills the GIF compression. GIF compression usually works detecting unchanged pixels frame to frame, a frame with mp4 "noise" is going to be vastly different to the next one, even if we can't perceive the variations, GIF compressors usually can, and that increases the file size even more.
@vatterspun commented on GitHub (Mar 17, 2018):
I'd say it's just a matter of time. They're really down to browser customers that are either companies or people who don't mess with anything that isn't already installed on their computer. As such I'd think they'll do that to keep pace.
Frankly, support of the format by an easy-to-use and mature animation editor like yours goes much further toward broad adoption than the various posts I've done around the web.
@Kristinita commented on GitHub (Jan 30, 2019):
Type: Questions@NickeManarin,
1. APNG
Have you tried implemented APNG Assembler? Its developers write about it:
2. FFmpeg
Have you tried implemented optimize GIFs with FFmpeg as in this article?
Thanks.
@vatterspun commented on GitHub (Feb 2, 2019):
Looks like that ended up being accurate: https://www.theverge.com/2018/12/4/18125238/microsoft-chrome-browser-windows-10-edge-chromium ... It looks like the next Microsoft web browser will support APNG along with all other Chrome-based browsers. And Internet Explorer already has very low usage numbers (I'm seeing 2.55% from statista.com as of Dec '18)