Skip to content
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

Support lower quality #26

Open
sindresorhus opened this issue Mar 13, 2018 · 13 comments

Comments

@sindresorhus
Copy link
Owner

commented Mar 13, 2018

Issuehunt badges

High-quality is awesome, but sometimes I need to use this for longer clips.

@kornelski Is there any way we could support a lower quality mode? I know we have a quality slider, but even with it at 0%, the file is huge.


IssueHunt Summary

Backers (Total: $200.00)

Become a backer now!

Or submit a pull request to get the deposits!

Tips


IssueHunt has been backed by the following sponsors. Become a sponsor

@kornelski

This comment has been minimized.

Copy link
Collaborator

commented Mar 14, 2018

Yea, files can be made smaller.

The existing quality setting isn't really that good for reducing file size. It just happens a little bit as a side effect of making it uglier.

Bigger reduction could be from reducing movement in the animation, especially cropping area that changes between the frames. I'll look into it.

And ideally it should use giflossy. That gives easy 50% reduction with less quality loss. Unfortunately, that can't be in the App Store, because Apple requires giving them a distribution license on terms that more restrictive than GPL permits, and I don't own full copyright to gifsicle to grant Apple such rights.

@sindresorhus

This comment has been minimized.

Copy link
Owner Author

commented Mar 14, 2018

giflossy has an alternative license which we comply with:

The following alternative license may be used at your discretion.

Permission is granted to copy, distribute, or alter Gifsicle, whole or in part, as long as source code copyright notices are kept intact, with the following restriction: Developers or distributors who plan to use Gifsicle code, whole or in part, in a product whose source code will not be made available to the end user -- more precisely, in a context which would violate the GPL -- MUST contact the author and obtain permission before doing so.
- https://github.com/kohler/gifsicle#copyrightlicense

I read that as it's fine to distribute giflossy as long as the source is available, which it is.

@kornelski

This comment has been minimized.

Copy link
Collaborator

commented Mar 14, 2018

That is under a condition that the author agrees to grant alternative license (the MUST part three)

In the App Store Apple is the distributor and they explicitly refuse to comply with the GPL.

@sindresorhus

This comment has been minimized.

Copy link
Owner Author

commented Apr 25, 2018

@kohler Could we get your permission to include giflossy in this free open-source macOS app?

@sindresorhus

This comment has been minimized.

Copy link
Owner Author

commented May 3, 2019

@kornelski Is there anything else we can use to reduce the file size other than giflossy? I have tried both mentioning @kohler here and emailing him without any response.

@kornelski

This comment has been minimized.

Copy link
Collaborator

commented May 3, 2019

Well, lossy compression is most effective and tackles the problem directly.

Indirectly, the solution is to reduce amount of changes in the video.

For inputs in lossy video formats, some form of denoising (e.g. median filter) should be helpful.

For real-life videos temporal denoising could help. Also video stabilization would be a great improvement.

@kohler

This comment has been minimized.

Copy link

commented May 3, 2019

If you are making the source code available, it doesn't matter whether or not Apple does.

@kornelski

This comment has been minimized.

Copy link
Collaborator

commented May 3, 2019

@kohler App Store T&Cs directly forbid use of code that the publisher can't license to Apple under closed-source terms. Apple intentionally refuses to take any GPL code, and complaint that "app contains GPL code" is enough to take down App Store apps, regardless of whether it'd be compliant or not (also, it's not compliant: https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement)

@kohler

This comment has been minimized.

Copy link

commented May 3, 2019

As long as the Gifski product’s source code is entirely available to the end user, you don't need my permission; the alternative license explicitly allows you to include Gifsicle. I can see the confusion around “more precisely, in a context that would violate the GPL” but this seems fine to me.

@kornelski

This comment has been minimized.

Copy link
Collaborator

commented May 3, 2019

I'll take it as a confirmation that you agree to distribute gifsicle in the App Store, on terms of Apple Developer Program License Agreement.

@kohler

This comment has been minimized.

Copy link

commented May 7, 2019

I confirm that it is OK to distribute Gifsicle on a product whose source code is freely available via an open-source license, specifically in this case one compatible with the BSD license, and that is also available via the App Store.

The product’s source code must be freely available via an open-source license.

@sunshinejr

This comment has been minimized.

Copy link
Collaborator

commented Aug 7, 2019

Awesome. Thanks so much for this @kohler. So now the plan would be to stop using the quality parameter in libgifski and, instead, use gifsicle --lossy.

@issuehunt-app

This comment has been minimized.

Copy link

commented Aug 8, 2019

@issuehunt has funded $200.00 to this issue.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.