Skip to main content

media_reduce 0.1.0 copy "media_reduce: ^0.1.0" to clipboard
media_reduce: ^0.1.0 copied to clipboard

Iteratively compresses images and videos toward a maximum byte budget on Android and iOS, so files fit API upload limits before sending.

Changelog #

0.1.0 #

Initial release.

  • Iterative target-size reduction for images and videos via MediaReduce.reduceToMaxBytes(ReductionRequest).
  • Image pipeline: native JPEG re-encode with EXIF orientation handling, optional max-width/height, binary search on quality (Android: BitmapFactory
    • androidx.exifinterface; iOS: ImageIO + UIGraphicsImageRenderer).
  • Video pipeline: native bitrate-controlled H.264 transcode with binary search on bitrate (Android: Media3 Transformer + VideoEncoderSettings; iOS: AVAssetReader + AVAssetWriter with AVVideoAverageBitRateKey).
  • MediaInfo lookup (getMediaInfo) and temp-cache cleanup (clearCache).
  • Progress callback exposing per-attempt size, stage label and target.
  • Clean architecture: domain entities, NativeMediaGateway port, method-channel adapter, dependency-injectable use case for tests.
0
likes
150
points
21
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Iteratively compresses images and videos toward a maximum byte budget on Android and iOS, so files fit API upload limits before sending.

Homepage

Topics

#media #compression #video #image #upload

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on media_reduce

Packages that implement media_reduce