3 ms·
Squoosh is a much better demo of how to do in-browser compression (using optipng, mozjpeg, etc): https://github.com/GoogleChromeLabs/squoosh/ https://github.com
by throwaway_bad 7y ago
Squoosh is a much better demo of how to do in-browser compression (using optipng, mozjpeg, etc): https://github.com/GoogleChromeLabs/squoosh/ https://github.com/GoogleChromeLabs/squoosh/
There are far more knobs you can tune whereas the native browser conversion only has mimetype and quality (via toBlob: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasE...)
- tracker1 7y agoI really like Squoosh... I'm not sure if they have yet, but there was at one time discussion of separating the builds for the underlying wasm built libraries from squoosh whole, which would make it more usable for separate projects.
- throwaway_bad 7y agoYea I wished it were easier to use out of the box too. The code is fortunately very well organized so you can just copy the pieces you need: https://github.com/GoogleChromeLabs/squoosh/tree/master/src/codecs https://github.com/GoogleChromeLabs/squoosh/tree/master/src/... It also does make sense for you to pick and choose only the compression codecs you will need. Otherwise the cost of making every client download huge and unused wasm libraries might outweigh any bandwidth savings from compression.