ffmpeg_kit_flutter_new 4.6.1
ffmpeg_kit_flutter_new: ^4.6.1 copied to clipboard
FFmpeg Kit for Flutter with Full GPL and updated bindings. Supports Android, iOS, macOS and Windows platforms.
4.6.1 #
- Fixed:
FFmpegKitConfig.getPlatform()returnedwindowson Linux. The Linux native layer was reporting the wrong platform name, so any code branching on it took the Windows path. It now returnslinux. The prebuilt libraries attached to the8.1.2-<variant>release have been rebuilt with the fix; nothing else changed.
4.6.0 #
- Linux support (x86_64).
flutter run -d linuxandflutter build linuxnow work. Prebuilt FFmpeg 8.1.2 libraries for thefull-gplvariant are downloaded at build time, the same way the Windows bundle already worked; setFFMPEGKIT_LOCAL_DIR(env or CMake cache variable) to build against a self-built bundle instead. - Linux builds additionally require
libjson-glib-dev(runtime:libjson-glib) alongside Flutter's standard Linux prerequisites. It ships with GNOME, so most desktops already have the runtime.
4.5.3 #
- Fixed: log/statistics/complete callbacks silently dropped in apps with a second
FlutterEngine(e.g. a Firebase Messaging background isolate), a 4.4.1+ regression (#163). FFmpegKit's global native callbacks are now registered once and dispatched to every attached engine that is actually listening, instead of being captured by whichever engine attached last. Background-isolate execution (#155) keeps working.
4.5.2 #
- Fixed: App Store rejection
Invalid architecture ... arm64e slice with the ios 18.5 SDK(#164). The iOS device slices of the bundled FFmpeg XCFrameworks are now arm64 only, for both Swift Package Manager (regenerated binary targets + checksums) and CocoaPods (setup script). arm64e was never used by App Store apps, so nothing is lost.
4.5.1 #
- Fixed the iOS/macOS build error
'ffmpegkit/FFmpegKitConfig.h' file not found(#88). The framework setup scripts now download and install atomically, verify the archive, and never leave an emptyFrameworks/directory behind after a failed download; the podspec re-runs setup until the frameworks are actually present. On restricted networks, pointFFMPEG_KIT_IOS_URL/FFMPEG_KIT_MACOS_URLat a mirror of the release zip. - Docs: made the FFmpeg badge a link and tidied the README badges.
4.5.0 #
- Swift Package Manager support (iOS & macOS): the plugin now integrates via Flutter's SPM support (
flutter config --enable-swift-package-manager; enabled by default from Flutter 3.44) as well as CocoaPods. Native FFmpeg frameworks are consumed as prebuilt, checksum-pinned XCFrameworks with a native arm64 iOS-simulator slice, downloaded from the GitHub release. - iOS/macOS plugin sources moved to the Flutter SPM plugin layout; CocoaPods integration is unchanged (and still supported).
- Example app now includes runtime integration tests (
example/integration_test/).
4.4.2 #
- Fixes the native binary wiring for the CVE-2026-8461 (MagicYUV / "PixelSmash") security patch: Android now pulls
com.antonkarpenko:ffmpeg-kit-*:2.2.1and iOS/macOS fetch the FFmpeg 8.1.2 frameworks (the 8.1.2 rebuild was previously only wired for Windows). Please upgrade from any earlier version.
4.4.1 #
- Security (CVE-2026-8461): updated FFmpeg to v8.1.2 (arthenica
n8.1.2) to fix a heap out-of-bounds write in the MagicYUV decoder ("PixelSmash", CVSS 8.8). All platforms (Android/iOS/macOS/Windows) rebuilt against FFmpeg 8.1.2; no API changes.
4.4.0 #
- Updated FFmpeg to v8.1.1 (arthenica
n8.1.1), up from 8.0.0. - iOS/macOS
.xcframeworks, the Android Maven library (com.antonkarpenko:ffmpeg-kit-*), and the Windows binaries are now built against FFmpeg 8.1.1.
4.3.2 #
- Android: broadened the bundled ProGuard/R8 consumer rules to keep all
com.antonkarpenko.ffmpegkit.**classes (plus-dontwarn), not just the JNI entry points. Fully prevents R8 from stripping FFmpegKit in release builds — fixes the release-only white screen /channel-error(FFmpegKit failing to initialise, which cascades into errors likeshared_preferencesgetAll). Closes #158.
4.3.1 #
- Android: ship ProGuard/R8 consumer rules (
consumer-rules.pro, applied automatically viaconsumerProguardFiles) that keep the FFmpegKit JNI bindings —FFmpegKitConfignative/callback methods andAbiDetect. Prevents release-mode crashes such asBad JNI version returned from JNI_OnLoadwithout requiring any ProGuard rules in your app. Thanks @niclasEX (#133).
4.3.0 #
- Fixed iOS Simulator on Apple Silicon (
arm64) support — required for Xcode 26 / iOS 26+ simulators. Builds previously failed with "The following target(s) do not support arm64 architecture, which is a requirement for Apple Silicon iOS 26+ simulators". - The downloaded iOS
.frameworkbundles are now converted to.xcframeworks at build time (scripts/setup_ios.sh), exposing a nativeios-arm64_x86_64-simulatorslice alongside theios-arm64_arm64edevice slice. The simulatorarm64slice is produced by retagging the devicearm64slice's Mach-O build-version platform toiOS-Simulatorviavtool. - The iOS podspec now vendors
.xcframeworks and no longer excludesarm64for the simulator (EXCLUDED_ARCHS[sdk=iphonesimulator*]is nowi386only). - If you previously added
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"to your app'sios/Podfilepost_installhook as a workaround, remove it — it now prevents the simulatorarm64slice from linking.
4.2.2 #
- Fixed the Windows release build:
windows/ffmpeg_kit_flutter_plugin_c_api.cppincluded the generated public header from the wrong package directory (ffmpeg_kit_flutter_new_fullinstead offfmpeg_kit_flutter_new), so building the published package on Windows failed to find the header. Thanks @Nicoeevee (#159).
4.2.1 #
- Fixed iOS/macOS
pod installfailure introduced in 4.2.0: the setup scripts (scripts/setup_ios.sh,scripts/setup_macos.sh,scripts/setup_android.sh) were published with Windows CRLF line endings, causing/bin/bash^M: bad interpreter: No such file or directory. Scripts are now forced to LF via.gitattributesso the published package is always packaged with Unix line endings (fixes #153).
4.2.0 #
- Added Windows support (x86_64) with a genuine
full-gplFFmpeg 8.0 build (all 27 external libraries, GPL components enabled). - Native libraries are downloaded from the
8.0.0-full-gplrelease; for local development pointFFMPEGKIT_LOCAL_DIR(CMake cache var or environment) at a locally built bundle. - The bundled MinGW DLLs are rebased/ASLR-adjusted at build time and the full runtime dependency closure (gnutls, gmp, nettle, libxml2, lame, …) is shipped so the plugin loads standalone.
4.1.0 #
- Fixed the FFmpeg 8.0 compatibility issue across all platforms. The problem was that
all_channel_countswas being set AFTER the filter was created, but FFmpeg 8.0 requires it to be set DURING filter creation.
4.0.0 #
- FFmpeg
v8.0.0with all the sweet perks
3.2.0 #
- Upgraded
freetypefrom 2.13.0 to 2.13.3 - Upgraded
harfbuzzfrom 8.0.1 to 11.3.3 - Upgraded
fontconfigfrom 2.16.2 to 2.17.1 - Added support for
harfbuzzlibrary in order to supportdrawtextfilter - Fixed missing
libunibreakforlibass.sh
3.1.0 #
- Updated README.md with new package links
- Uploaded new binary with Kotlin 1.8.22
- Downgraded required Kotlin version in
exampleproject to 1.8.22 - Formatted code
3.0.2 #
- Updated README.md with new package links
3.0.1 #
- Updated README.md with link to Minimal-GPL
3.0.0 #
- FFmpeg
v7.1.1 - Multiple upgrade of internal libraries:
Nettle- from3.8.2to3.10.2SDLfrom2.0.0to3.2.16Libxml2from2.11.4to2.14.0SRTfrom1.5.2to1.5.4Leptonicafrom1.83.1to1.85.0GnuTLSfrom3.7.9to3.8.9
- Cleaned up iOS and Macos .podspec code
- Bumped Kotlin version to 2.2.0
- Fixed iOS and MacOS dowload scripts and added Videotoolbox support
- New Android Full-GPL Maven Central dependency
- Got rid of obsolete
ffmpeg_kit_flutter_androidpackage - Updated
exampleproject with Hardware, Software and Videotoolbox encoding commands
2.0.0 #
- Uploaded updated Android .aar, compatible with Google 16 KB requirement
- Updated
setup_ios.shscript - Removed resource shrinking for Android
- Updated
setup_ios.shscript - Updated
setup_android.shscript to include latest FFmpeg 7.0 kit - Upgraded
ffmpeg_kit_flutter_androidto 1.7.0 - Merged @nischhalcodetrade fix for .aar post processing
1.6.1 #
- Removed manual packaging of prebuilt dependencies for Android
- Cleaned up unnecessary logs
1.6.0 #
- Added new seamless Android .aar support
1.5.0 #
- Added MacOS support by directly downloading and unpacking frameworks
1.4.1 #
- Updated README.md
1.4.0 #
- Added build.bat jni
- Updated Gradle script in order to be able to download and unpack .aar on Windows.
1.3.0 #
- Moved from FFmpeg
httptofull_gplfor Android - Added downloading and unpacking of 6.0.2
full-gpl.aar
1.2.1 #
- Added displaying of Android platform to pub.dev
- Fixed static analysis issues
1.2.0 #
- New example project
- Resurrected Android by creating new
ffmpeg_kit_flutter_androidlibrary withcom.arthenica:ffmpeg-kit-https:6.0-2.LTSimplementation - iOS deployment target is increased to 14.0
- Upgraded plugin_platform_interface version
1.1.0 #
- Moved from
httpstofull-gplbinding for MacOS - Upgraded Flutter and Dart versions
1.0.0 #
- Initial release
- Fixed Android and MacOS bindings
- Upgraded FFmpegKitFlutterPlugin.java to work with Flutter 3.29