2 stable releases
1.0.1 | Jan 31, 2022 |
---|---|
1.0.0 | Jan 29, 2022 |
#424 in Video
53KB
1K
SLoC
gifski-lite
Highest-quality GIF encoder for the Web based on pngquant and the original gifski.
gifski-lite converts video frames to GIF animations using pngquant's fancy features for efficient cross-frame palettes and temporal dithering. It produces animated GIFs that use thousands of colors per frame.
This fork simplifies the Original gifski library in order to make it more easily compatible with the Web and as a WebAssembly module.
Usage
gifski-lite is intended to target the Web only (potentially Node.js and Deno too).
The recommended way is to add this library as a dependency to a rust project that compiles to WebAssembly.
<Todo: add link to wasm project here>
Building
- Install Rust via rustup or run
rustup update
. This project only supports up-to-date versions of Rust. You may get compile errors, warnings about "unstable edition", etc. if you don't runrustup update
regularly. - Clone the repository:
git clone https://github.com/jamsinclair/gifski-lite
- In the cloned directory, run:
cargo build --release
License
AGPL 3 or later.
Acknowledgements
This is a fork of the original gifski project. This fork makes some significant changes:
- Refactors to slower single-threaded approach (for now, until can get threading working with WebAssembly)
- Remove features for ffmpeg and gifsicle
- Removes CLI tool and other compiled binaries
- Removes support for adding PNG frame files
- Removes C API
Dependencies
~2.5MB
~49K SLoC