ffmpeg_kit_flutter_new_min 3.5.4 copy "ffmpeg_kit_flutter_new_min: ^3.5.4" to clipboard
ffmpeg_kit_flutter_new_min: ^3.5.4 copied to clipboard

FFmpeg Kit Minimal for Flutter. Supports Android, iOS, macOS and Windows platforms.

3.5.4 #

  • 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.
  • SPM only: the regenerated iOS/macOS binaries now actually include the zlib/PNG decoders (#105) and VideoToolbox hardware encoders (#148) that the previous release added for CocoaPods and Android but not for the SPM artifacts.

3.5.3 #

  • Fixed: Decoder (codec png) not found (#105). The native FFmpeg builds for this variant were compiled without zlib, which silently removed the PNG/APNG decoders. zlib is now enabled on Android (com.antonkarpenko:ffmpeg-kit-*:2.2.2), iOS and macOS, restoring PNG/APNG decoding (image overlays etc.) as in the original arthenica builds.

3.5.2 #

  • iOS/macOS: hardware-accelerated H.264/HEVC encoding via Apple VideoToolbox (h264_videotoolbox, hevc_videotoolbox), plus AVFoundation, is now enabled for this variant. Previously only the full / full_gpl variants shipped VideoToolbox. No patent-encumbered codecs are added and the codec surface is otherwise unchanged (#148).

3.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 empty Frameworks/ directory behind after a failed download; the podspec re-runs setup until the frameworks are actually present. On restricted networks, point FFMPEG_KIT_IOS_URL / FFMPEG_KIT_MACOS_URL at a mirror of the release zip.
  • Docs: made the FFmpeg badge a link and tidied the README badges.

3.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/).

3.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.1 and 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.

3.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.

3.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.

3.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 like shared_preferences getAll). Closes #158.

3.3.1 #

  • Android: ship ProGuard/R8 consumer rules (consumer-rules.pro, applied automatically via consumerProguardFiles) that keep the FFmpegKit JNI bindings — FFmpegKitConfig native/callback methods and AbiDetect. Prevents release-mode crashes such as Bad JNI version returned from JNI_OnLoad without requiring any ProGuard rules in your app. Thanks @niclasEX (#133).

3.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: ffmpeg_kit_flutter_new".
  • The downloaded iOS .framework bundles are now converted to .xcframeworks at build time (scripts/setup_ios.sh), exposing a native ios-arm64_x86_64-simulator slice alongside the ios-arm64_arm64e device slice. The simulator arm64 slice is produced by retagging the device arm64 slice's Mach-O build-version platform to iOS-Simulator via vtool.
  • The iOS podspec now vendors .xcframeworks and no longer excludes arm64 for the simulator (EXCLUDED_ARCHS[sdk=iphonesimulator*] is now i386 only).
  • If you previously added config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" to your app's ios/Podfile post_install hook as a workaround, remove it — it now prevents the simulator arm64 slice from linking.

3.2.0 #

  • Added Windows support (x86_64) for the min FFmpeg 8.0 variant (bare FFmpeg, no external libraries, no GPL components).
  • Native libraries are downloaded automatically at build time from the 8.0.0-min release (ffmpeg-kit-windows-x86_64-min-8.0.0.zip); for local development point FFMPEGKIT_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 is shipped so the plugin loads standalone.
  • Shell scripts are forced to LF via .gitattributes so the published package never carries Windows CRLF line endings (avoids the iOS/macOS pod install /bin/bash^M: bad interpreter failure).

3.1.0 #

  • Added ProGuard rules
  • Fixed the FFmpeg 8.0 compatibility issue across all platforms. The problem was that all_channel_counts was being set AFTER the filter was created, but FFmpeg 8.0 requires it to be set DURING filter creation.

3.0.0 #

2.1.0 #

  • Downgraded Kotlin from 2.2.0 to 1.8.22
  • Added new jniLibs that support Kotlin 1.8

2.0.0 #

  • Removed bundled Android FFmpeg (jniLibs, cpp, bindings)
  • Added FFmpeg min using new Maven Central package

1.0.1 #

  • Updated README.md
  • Updated scripts

1.0.0 #

  • Initial release
  • FFmpeg version 7.1.1