v1.57.0
Vanilagy/mediabunnyv1.57.0Sep 16, 2026by Vanilagy
Upgrading?
AI Summary
This release introduces comprehensive support for video transformations, including flipping and matrix operations, alongside improvements to bitrate handling and HLS parsing. It updates the API surface to reflect these changes, deprecating older rotation-related options in favor of broader transformation metadata support.
Key Highlights
- Added extensive support for video flipping across the entire API surface, including `InputVideoTrack.getFlip()` and properties like `VideoTrackMetadata.flip`.
- Added `InputVideoTrack.getTransformationMatrix()` to expose raw 3x3 affine transformation matrices and `VideoTrackMetadata.transformationMatrix` for writing.
- Enhanced bitrate handling with automatic `btrt` box writing for ISOBMFF and new getters for bitrate metadata.
- Deprecated `supportsVideoRotationMetadata` and `allowRotationMetadata` in favor of transformation metadata equivalents.
New Features
- Support for flipped video with bidirectional support for ISOBMFF and Matroska formats.
- InputVideoTrack.getTransformationMatrix() method to retrieve raw transformation matrices.
- Automatic writing of the btrt (bitrate) box when muxing ISOBMFF files.
- BaseTrackMetadata.bitrate and BaseTrackMetadata.averageBitrate properties.
- frameRate option for canEncodeVideo helper functions.
- Output.finalize() failure handling to automatically transition Output to the canceled state.
Full Release Notes
- Added support for flipped video: flip metadata is exposed via `InputVideoTrack.getFlip()` (applied after rotation) and supported bidirectionally for ISOBMFF and Matroska, and flipping is now available across the whole API surface: `VideoTrackMetadata.flip`, `VideoSampleInit.flip`, `VideoSample.flip`, `VideoSample.setFlip()`, flip options for drawing video frames, `VideoSampleTransformOptions.flip`, `VideoTransformOptions.flip`, `CanvasSinkOptions.flip` and `ConversionVideoOptions.flip`. Custom VideoSample transformers now also receive the flip as a transformation input, and it is a supported operation in `@mediabunny/server`. Flipping metadata can be automatically passed through in the Conversion API in the packet copy path. (#510) - Added `InputVideoTrack.getTransformationMatrix()`: returns the raw 3x3 affine transformation matrix the track applies to its raw video frames. Rotation and flip are derived from this, but it can contain other transformations as well. This matrix can be written into new files via `VideoTrackMetadata.transformationMatrix`. - Added automatic writing of the `btrt` (bitrate) box when muxing ISOBMFF files - Added `BaseTrackMetadata.bitrate` and `BaseTrackMetadata.averageBitrate` for providing bitrate guesstimates as metadata - `btrt` bitrate metadata is now extracted from ISOBMFF files and exposed via `InputTrack.getBitrate()` and `InputTrack.getAverageBitrate()` - Added a `frameRate` option to the `canEncodeVideo` helper functions (#507) - Deprecated `OutputFormat.supportsVideoRotationMetadata`, use `OutputFormat.supportsVideoTransformationMetadata` instead. - Deprecated `ConversionVideoOptions.allowRotationMetadata`, use `ConversionVideoOptions.allowTransformationMetadata` instead. - Fixed untranslated rotation matrices being written into ISOBMFF header boxes - ISOBMFF demuxer now also respects the movie-global transformation matrix - Fixed incorrect parsing of AES-128 IV in HLS (#509) - `Output.finalize()` failing now automatically transitions the Output to the `canceled` state (#506)
Related Repositories
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Reverse engineer anything with agents, from app behavior down to native binaries.
The open source coding agent.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.