ffmpeg_kit_extended_flutter
A comprehensive Flutter plugin for executing FFmpeg, FFprobe, and FFplay commands using FFmpeg 9.0.1 API. Supports Android, iOS, macOS, Linux, and Windows.
0.6.0
3.4K downloads/mo
#4430 most downloaded on pub.dev
akashskypatel/ffmpeg-kit-extended
What this package is like to depend on
Last release 3 days ago
20 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Most releases are documented
notes for 28 of 32 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
32 releases · first in 2026
32 releases in the last 12 months
see the full history below
Release timeline
32 releases · Feb 2026 to Aug 2026Releases
latest 32-
0.6.020 Aug 2026 -
0.5.1304 Aug 2026 -
0.5.1225 Jul 2026 -
0.5.1120 Jul 2026Release notes
Open source →- Fix iOS static analysis issue during publishing
- Add additional supported libraries:
- libOpenColorIO (video bundle)
- libsvtjpegxs (video bundle)
- Fix build hook extraction and download cleanup logic
-
0.5.1029 Jun 2026Release notes
Open source →- Remove non-ascii chars from c source, bump dependencies, fix android and windows example app builds,
-
0.5.926 Jun 2026Release notes
Open source →- Updated FFmpeg to v8.1.2
- Fixes critical FFmpeg vulnerability CVE-2026-8461
- Updated FFmpeg to v8.1.2
-
0.5.818 Jun 2026Release notes
Open source →- Android Fix Android dummy library to force C++ linking to 16kb page size instead of 4kb.
-
0.5.730 May 2026 -
0.5.627 May 2026Release notes
Open source →- Android: Fix Android app-bundle build from scratch. FFplayKitAndroid is integrated into native code and no longer needs to be added as a separate dependency via classes.jar staging.
-
0.5.526 May 2026 -
0.5.425 May 2026Release notes
Open source →- Export chapter and stream information
- Add build hook guard when not building code assets
- Update binary version to 0.10.3 to fix statistics callback issues
-
0.5.322 May 2026Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.44/Dart 3.12.
- Migrates Android Gradle configuration for built-in Kotlin (AGP 9+) with an AGP 8 fallback.
- Removes Java 17 toolchain requirement that blocked builds with only Java 21 installed.
-
0.5.222 May 2026 -
0.5.121 May 2026 -
0.5.017 May 2026Release notes
Open source →-
Breaking changes:
- FFmpeg, FFprobe, and FFplay log delivery now drains through a Dart-managed session buffer instead of the previous per-line callback dispatch path. Code that implicitly relied on one callback invocation per native log notification should migrate to
logBatchStream/logStreamor tolerate batched delivery timing. FFprobeKit.executeAsync,FFprobeKit.createSession,FFplayKit.executeAsync, andFFplayKit.createSessionnow acceptonLog, and those callbacks follow the same buffered drain semantics as direct session listeners. Existing consumers may observe different callback grouping and timing under heavy log output.- Added
timeElapsed,dupFrames,dropFrames, andtranscodingProgressfields toStatisticsclass for enhanced statistics information
- FFmpeg, FFprobe, and FFplay log delivery now drains through a Dart-managed session buffer instead of the previous per-line callback dispatch path. Code that implicitly relied on one callback invocation per native log notification should migrate to
-
Updated statistics callback signatures to include elapsed time parameter
-
Added
ffmpeg_kit_statistics_get_time_elapsednative binding -
Enhanced test callbacks to support new timeElapsed parameter
-
Refactored FFmpeg log delivery to a Dart-managed stream over the existing native session log buffer instead of relying on per-line callback dispatch.
-
Added
logBatchStreamandlogStreamtoFFmpegSession,FFprobeSession, andFFplaySessionfor buffered and per-line log consumption. -
Extended
FFprobeSessionandFFplaySessionwith session-level log callbacks and wiredFFprobeKit/FFplayKitconvenience APIs to acceptonLog. -
Unified log draining across FFmpeg, FFprobe, FFplay, and MediaInformation sessions through the shared Dart callback manager while preserving the existing native buffering model.
-
Reduced example-app UI stalls during remote recording scenarios by batching log rendering and file writes, throttling stats-driven repainting, and avoiding high-volume debug log mirroring into the visible console.
-
Fix Windows and Android stability issues.
-
-
0.4.614 May 2026 -
0.4.513 May 2026 -
0.4.410 May 2026 -
0.4.307 May 2026Release notes
Open source →- Added release file SHA verification for added security
- Updated installation instructions to clarify bundle config changes and re-build requirements
-
0.4.204 May 2026Release notes
Open source →- Change default package to base-lgpl-small if no configuration is provided
-
0.4.103 May 2026 -
0.4.001 May 2026Release notes
Open source →- Added iOS and macOS support
- Updated FFplay playback to use OpenGL for Linux, and direct frame rendering instead of SDL passthrough.
-
0.3.426 Mar 2026 -
0.3.326 Mar 2026Nothing published for this version
-
0.3.226 Mar 2026Nothing published for this version
-
0.3.126 Mar 2026Nothing published for this version
-
0.3.026 Mar 2026Release notes
Open source →- Feature: Complete video playback support with unified cross-platform surface API
- New
FFplaySurfaceclass providing platform-agnostic video output - Android support via
FFplayAndroidSurfacewith native Surface binding - Desktop support via
FFplayDesktopTexturefor Linux/Windows frame delivery - Real-time video dimension tracking via
videoSizeStream - Enhanced position tracking with
positionStreamfor playback progress
- New
- Feature: Native C++ plugins for desktop video rendering
- Linux plugin with pixel buffer texture support and frame callback handling
- Windows plugin with double-buffered texture delivery and runtime symbol resolution
- Thread-safe frame delivery from FFplay decoder to Flutter render thread
- Feature: FFmpegKit packages introspection API
- Runtime detection of available FFmpeg packages and capabilities
- Bundle type, version, and build configuration access
- License detection (GPL, non-free enabled status)
- Complete component registration queries:
- Registered codecs, encoders, and decoders
- Registered muxers, demuxers, and protocols
- Registered filters and bitstream filters
- Feature: Enhanced audio control and test content generation
- Volume control functionality for media playback
- Improved test video generation with audio track support
- Enhancement: Extended FFmpeg bindings for video functionality
- Video dimension accessors:
ffplay_kit_session_get_video_width/height - Android surface binding:
ffplay_kit_set_android_surface_ptr - Desktop frame callbacks:
ffplay_kit_register/unregister_frame_callback - Build stamp verification:
ffmpeg_kit_get_build_stamp
- Video dimension accessors:
- Enhancement: Android platform integration
- AAR extraction improvements with classes.jar handling for library modules
- Native method channel for surface lifecycle management
- ANativeWindow pointer management for SDL2 video output
- Enhancement: Example application with video playback UI
- Real-time video display with proper aspect ratio handling
- Playback controls with position slider and state indicators
- Audio-only content handling with graceful UI fallback
- Enhancement: Adaptive position streaming and performance optimization
- Hysteresis-based emit rate adjustment (60fps ceiling, 10fps floor)
- Optimistic position updates on seek operations
- Local stopwatch interpolation for smooth position tracking
- Event loop performance improvements
- Improvement: Enhanced library loading with symbol verification
- Runtime probing of critical FFmpeg symbols at initialization
- Detailed logging for DLL/SO loading and symbol resolution
- Graceful degradation for missing or outdated native libraries
- Fix: Critical thread safety and memory management improvements
- Windows desktop texture double-buffering for stable pixel data delivery
- Android native window pointer storage and proper cleanup on plugin detachment
- Texture release validation to prevent invalid texture ID operations
- Frame callback race condition prevention during texture cleanup
- Stream controller lifecycle management to prevent closure conflicts
- Fix: Robust numerical handling for media playback
- NaN and infinite value guards in FFplaySession seek operations
- Position and duration validation to prevent mathematical errors
- Statistics time conversion fixes (removed incorrect 1000x multiplication)
- Fix: Platform-specific build and runtime issues
- Linux build API usage corrections
- Windows runtime symbol resolution improvements
- Frame callback guard fixes to prevent blocking initial video frames
- Documentation: Comprehensive video playback guides
- Complete video playback documentation with platform-specific implementations
- Detailed video surface API reference with usage examples
- Enhanced quick-start guide with video player integration
- Platform support matrix and real-time streaming examples
- Feature: Complete video playback support with unified cross-platform surface API
-
0.2.121 Mar 2026 -
0.2.020 Mar 2026Release notes
Open source →- Feature: Added Android support.
- Fix: Fixed lgpl package resolution.
- Feature: Automatic version detection from GitHub API for Flutter configure script with fallback to pubspec version
- Feature: New
ffmpeg_kit_initialize()binding for proper library initialization - Feature: Enhanced FFI bindings generation for improved native integration
- Feature: Comprehensive MediaInformationSession implementation
- Feature: Documentation comments to native callback typedefs
- Improvement: Refactor core session classes (FFmpegSession, FFplaySession, FFprobeSession, MediaInformationSession) for better async handling and state management
- Improvement: Simplify FFplayKit callback wrapper and session management
- Improvement: Improve callback management and error handling across all session types
- Improvement: Update build configuration with CMake external native build support for Android
- Improvement: Update example application with enhanced functionality
- Fix: Memory safety issues - fix unsafe handle releases in callbacks that could cause use-after-free bugs
- Fix: Replace manual handle release calls with NativeFinalizer-based cleanup
- Fix: Improve build configuration and library bundling across platforms (Android, Linux, Windows)
- Fix: Add WSL path handling in URI detection for cross-platform development
- Fix: Remove redundant await in executeAsync
-
0.1.204 Mar 2026Release notes
Open source →-
Feature: Add
flutter_lintsand improve static analysis configuration -
Feature: Add
loggingpackage for enhanced configuration script output -
Improvement: Refactor
configure.dartto usedart:developer.logandloggingpackage -
Improvement: Deprecate
streamingbundle type in favor ofvideo(streaming is now included in all bundles) -
Documentation: Update
installation.mdwith modern installation steps and options -
Testing: Suppress verbose print statements in integration tests during non-debug modes
-
Chore: Add LGPL license headers to configuration scripts
-
Refactor: Improve configuration script logging syntax
-
Fix: Disable unsupported mobile and macOS platforms in pubspec.yaml
-
-
0.1.128 Feb 2026Nothing published for this version
-
0.1.028 Feb 2026Release notes
Open source →- Feature release based on native FFmpeg v8.0 API
- Implemented windows support
- Updated linux support
- Complete refactoring of the codebase to ffi instead of native implementation