flutter_compress 1.2.0
flutter_compress: ^1.2.0 copied to clipboard
Native video & image compression for Android, iOS & Web — no FFmpeg. Target-size/bitrate/quality control, HEVC with H.264 fallback, live progress and cancellation.
Changelog #
1.2.0 #
- Fix: cancelling a video on Android left the
compress()future pending forever. - Android: no longer blocks the UI thread; EXIF orientation applied; bitmaps recycled.
- iOS: failed encodes now error instead of writing a 0-byte file;
maxWidth/maxHeightrespected per axis. - Web: codecs and output blobs are released; images no longer download as
.mp4. - Typed errors:
CompressException,ImageCompressException,CompressCancelled. - Batch:
compressImagesgained progress/cancellation; both gainedcontinueOnError. - Add
releaseOutput(path),cancelAll(),CancellationToken.reset(). - Target-size search is far cheaper — one encode when the image already fits.
1.1.1 #
- Add
outputName(video & image); output name defaults to<source>_<timestamp>. - Image
formatnow keeps the source format by default; set it only to convert. - Add image
losslessandkeepOriginalIfLarger(never makes a file bigger). - Add video
container(autokeeps the source where possible, elsemp4).
1.1.0 #
- Add image compression — a separate API (
compressImage,ImageCompressConfig). - JPEG / PNG / WebP / HEIC, by target size or quality; engines: Bitmap / ImageIO / Canvas.
1.0.1 #
- Docs and pub.dev metadata polish. No API changes.
1.0.0 #
Initial release — native, FFmpeg-free video compression for Android, iOS & Web.
- Target size / bitrate / quality %; HEVC with H.264 fallback.
- Resolution & frame-rate caps, audio removal, trim, thumbnails, estimate.
- Progress, cancellation, batch,
saveToDownloads.