kutu_media_transform 0.2.0
kutu_media_transform: ^0.2.0 copied to clipboard
Device-side crop, trim and re-encode for photos and videos, plus timestamped frame extraction, on Android Media3 and iOS AVFoundation.
0.2.0 #
First public release; 0.1.0 was the still-image-only cut and was never published.
MediaTransformseam with four operations:exportImage,exportVideo,extractFramesandprobeVideo.CropRect, the single canonical geometry type — normalized 0..1, origin top-left, y-down. Media3's NDC and AVFoundation's point space are converted only at the platform edge.- Android export on
androidx.media3.transformer.Transformer, usingandroidx.media3.effect.Cropfor the rectangle,ClippingConfigurationfor the trim andPresentationfor the resolution cap. - iOS export on
AVMutableVideoCompositionplusAVAssetExportSession, with the layer instruction composed against the track'spreferredTransform. - Still-image export decoded at target size —
ImageDecoder.setTargetSizeon Android,kCGImageSourceThumbnailMaxPixelSizeon iOS — so a full-resolution bitmap is never allocated. EXIF orientation is baked exactly once. - HDR sources tone-map to SDR by default;
HdrMode.keepHdropts out. - Batched frame extraction for filmstrips and cover frames, with timestamps — something platform gallery thumbnails cannot express.
- Per-export progress reporting and cooperative cancellation through
TransformCancelToken. package:kutu_media_transform/testing.dartexportsFakeMediaTransformso consumers can unit-test without a device.
0.1.0 #
- Still-image export and the
MediaTransformseam; superseded by 0.2.0 before publication.
