fluvie_mobile_encoder 0.1.10
fluvie_mobile_encoder: ^0.1.10 copied to clipboard
Render Fluvie videos to MP4 fully on-device on Android and iOS using the platform's native hardware encoder, with no FFmpeg and no server.
Changelog #
The format follows Keep a Changelog and the versions follow Semantic Versioning.
0.1.10 - 2026-06-24 #
Lockstep release; no changes to this package since 0.1.9.
0.1.9 - 2026-06-23 #
Lockstep maintenance release; demo (mobile layout) and CI fixes only, no library changes since 0.1.8.
0.1.8 - 2026-06-23 #
Lockstep maintenance release; demo and deploy fixes only, no library changes since 0.1.6.
0.1.7 - 2026-06-23 #
Lockstep maintenance release; demo and deploy fixes only, no library changes since 0.1.6.
0.1.6 - 2026-06-23 #
Lockstep maintenance release; no functional changes since 0.1.5.
0.1.5 - 2026-06-23 #
Added #
- On-device
FrameExtractionServiceandVideoProbeServicebacked by the platform decoder (MediaMetadataRetriever/ AVFoundation), so on-device renders need no ffmpeg. Probed dimensions are capped to the render resolution.
0.1.4 - 2026-06-22 #
Added #
OnDeviceVideoRenderer.rendertakes anoutputFileto write the MP4 straight to a path you choose, and the constructor takes anetworkAllowlistto gate network image hosts.- A cleanup failure after a render is reported through
onWarninginstead of masking the real render error, and the per-render resolver's decoded images are disposed once the render is done.
Changed #
- Breaking:
render'sonProgressnow takes the unifiedRenderProgressCallback(aRenderProgresswith aRenderPhase); theOnDeviceProgress/OnDeviceRenderPhasetypes are removed.
0.1.3 - 2026-06-22 #
Added #
- Render compositions that declare an
ImageorClipon device:OnDeviceVideoRendererresolves declared media (inject aMediaResolver, or it builds and disposes one per render).
Fixed #
- Size the encoder's input buffer for YUV420, not RGBA, so the native encoder no longer overruns its input image.
- Resolve the off-screen capture boundary against the app's
BuildOwner, soGlobalKey.currentContextfinds it.
0.1.2 - 2026-06-21 #
Added #
- On-device audio: materialize and mux audio tracks, including network sources, into the encoded MP4 alongside the captured frames.
0.1.0 - 2026-06-20 #
The first public release.
Added #
OnDeviceVideoRenderer: render any FluvieVideo(or compositionWidget) to an MP4 entirely on the device, with no FFmpeg, no bundled binary, and no network. It drives Fluvie's deterministic capture loop off-screen, then encodes the captured frames through the platform's native hardware encoder.MobileVideoEncodercontract withMethodChannelMobileVideoEncoder, backed byMediaCodec+MediaMuxeron Android andAVAssetWriter+ VideoToolbox on iOS. H.264 and HEVC, selectable per render.MobileEncodeRequest,MobileVideoCodec,defaultBitRate, and theOnDeviceRenderProgressphases.- Opt-in on-device audio: pass
audio: truetorenderto decode, mix (delays, volumes, trims, fades), and mux aVideo's declaredAudiotracks with the platform audio encoder.MobileAudioTrack, aMobileAudioMaterializer(with the bundled-asset/fileBundleAudioMaterializer), and a suppressibleonWarningwhen aVideohas audio butaudiois off. Looping music beds fill the video on both Android and iOS. NetworkAudioMaterializer: opt-in network audio, fetched to a local file behind aNetworkAllowlist, so a remote bed mixes like a bundled one.- Riverpod providers (
mobileVideoEncoderProvider,onDeviceVideoRendererProvider) and aFakeMobileVideoEncoderfor tests.