miniav_tools_ffmpeg 0.4.5
miniav_tools_ffmpeg: ^0.4.5 copied to clipboard
FFmpeg-backed codecs/muxers for miniav_tools (libavcodec/libavformat).
Changelog #
0.4.5 #
- Version bump for coordinated release with
miniav_recorder0.4.5.
0.4.4 #
- fixing recorder loopback drift
0.4.3 #
- audio data issue, increment miniav
0.4.2 #
- fix timing issue
0.4.1 #
- fix audio timing, add frame duplication
0.4.0 #
- fix frame rate scheduling
0.3.12 #
- fused shader cache fix
0.3.11 #
- Use GPU until we cant.
0.3.9 #
- AMF Fix, fix unknown audio error
0.3.8 #
- Fix vendor Order
0.3.7 #
- fix NV12 path
0.3.6 #
- fix cpu path
0.3.5 #
- fix recorder sync drift
0.3.4 #
- attempt fix resolution issue
0.3.3 #
- fix precheck
0.3.2 #
- fix property
0.3.1 #
- fix scaling crazy, attempt fix other HW encoders
0.3.0 #
- fix recorder logging, Tier A path, deps to 1.5.0
0.2.21 #
- increments minigpu to 1.4.15
0.2.20 #
- increments minigpu to 1.4.14
0.2.19 #
- increments minigpu to 1.4.12
0.2.18 #
- increments minigpu to 1.4.11
0.2.17 #
- increments minigpu to 1.4.9
0.2.16 #
- increments minigpu to 1.4.8, hopefully fix cpu fallback
0.2.15 #
- increments minigpu to 1.4.7
0.2.14 #
- fixes unicode, increments minigpu to 1.4.7
0.2.12 #
- Increment minigpu to 1.4.6
0.2.11 #
0.2.9 #
0.2.8 #
- add RecorderLogSource.minigpu: routes native minigpu/Dawn log lines through the unified Recorder log callback; Recorder.minigpuLevelFor public helper for tests; 12 new tests in log_level_test.dart
0.2.7 #
- fix FormatException on non-UTF-8 bytes in MiniAV log callback: use Utf8Decoder(allowMalformed: true) instead of toDartString()
- Increment minigpu to 1.4.4
0.2.6 #
- fix: add missing
dart:convertimport forUtf8Decoder(compilation error introduced in 0.2.5).
0.2.5 #
- fix:
FfmpegShim.setFfmpegLogCallbacknow usesUtf8Decoder(allowMalformed: true)when decoding native C strings, so FFmpeg log messages containing non-UTF-8 bytes (Latin-1 filenames, Windows-1252 error strings, etc.) no longer throwFormatException: Unexpected extension byte.
0.2.4 #
- fix:
FfmpegShim.tryLoad()no longer poisons its cache when called before FFmpeg has been loaded. The shim DLL imports avcodec/avutil; if those aren't loaded yet on Windows, the shim load fails and previously the failure was cached forever — breaking the audio encoder whenRecorder.setLogLevel/setLogCallbackwas called early. tryLoad now skips silently (without caching) until FFmpeg is loaded.
0.2.3 #
- FFmpeg log forwarding shim bridge (miniav_shim_set_ffmpeg_log_callback, miniav_shim_set_ffmpeg_log_level); FfmpegShim.setFfmpegLogLevel, setFfmpegLogCallback; ABI bumped to 8; export FfmpegShim from barrel
- add unified Recorder.setLogLevel and Recorder.setLogCallback routing all native logs (MiniAV + FFmpeg) through a single Dart callback
0.2.1 #
- fixes dawn find issue
0.2.0 #
- add more quality control, fix ffmpeg usage issue
0.1.9 #
- fixes timestamp issues
0.1.8 #
- recorder scaling, warmup feature
0.1.7 #
- adds transform effects
0.1.6 #
- adds clip buffer
0.1.5 #
- fix loopback issue
0.1.4 #
- fix loopback issue, add tests
0.1.3 #
- update with fixes
0.1.2 #
- recorder sync and multi files
0.1.1 #
- updated to latest miniav/minigpu deps
0.1.0 #
- Initial release. FFmpeg-backed encoder, decoder, muxer and demuxer
registered against
miniav_tools_platform_interface. - Software encode for H.264 / HEVC / VP9 / VP8 / AV1 / MJPEG / ProRes via libavcodec.
- Stage A hardware encode (CPU frame in, encoded packet out) using NVENC / AMF / QSV / VideoToolbox / MediaFoundation / V4L2 M2M.
- Stage B zero-copy D3D11 encode on Windows: takes an
ID3D11Texture2DNT shared handle directly without any PCIe transfer or colour conversion.FfmpegD3d11HwEncoder.openWith(cfg, vendor, existingD3d11Device, sourceTextureFormat)lets callers inject their ownID3D11Device*so the encoder runs on the same DXGI adapter as an external GPU API (Dawn / WebGPU). Required for cross-API NT-handle sharing — different adapters fail withE_INVALIDARG.sourceTextureFormatselectsbgra(default; matches DXGI screen capture and minigpuSharedOutputTexture) orrgba. The hwframes pool is allocated with thissw_formatsoCopySubresourceRegionfrom the caller's texture stays in the same DXGI type group.
- MP4 / Matroska / MPEG-TS muxer with byte-buffer, file and streaming callback outputs. Container-level fragmenting for low-latency streaming.
- Auto-download of FFmpeg shared libraries (BtbN GPL builds) on first run;
set
MINIAV_TOOLS_FFMPEG_NO_AUTODOWNLOAD=1to opt out.