ffmpeg-kit-next

Official continuation of FFmpegKit. Supports Android, Flutter, iOS, iPadOS, Linux, macOS, React Native, tvOS, visionOS, Web (Wasm) and Windows

View the Project on GitHub arthenica/ffmpeg-kit-next

FFmpegKitNext

FFmpegKitNext is the official continuation of FFmpegKit.

It builds on the foundations of FFmpegKit while improving the build infrastructure to reduce build failures, simplify maintenance and support future platform updates.

0. Features How is FFmpegKitNext different from FFmpegKit?

FFmpegKitNext does not publish ready-to-use packages to Maven Central, CocoaPods, pub.dev, or npm as FFmpegKit did.

To use it, build it locally for your target platform via the Nix package manager or the MSYS2 / MinGW-w64 toolchain on Windows, then integrate the generated artifacts into your application.

1. Features

2. Android

See Android to learn more about FFmpegKitNext for Android.

3. iOS, iPadOS, macOS, tvOS, visionOS

See Apple to use FFmpegKitNext on Apple platforms (iOS, iPadOS, macOS, tvOS, visionOS).

4. Flutter

See Flutter to learn more about FFmpegKitNext for Flutter.

5. Linux

See Linux to learn more about FFmpegKitNext for Linux.

6. React Native

See React Native to learn more about FFmpegKitNext for React Native.

7. Web

See Web to learn more about FFmpegKitNext for Web (WebAssembly).

8. Windows

See Windows to learn more about FFmpegKitNext for Windows.

9. Build Scripts

FFmpegKitNext uses the Nix package manager as the default and recommended build environment. It provides pinned inputs, toolchains, and platform-specific build packages for supported hosts.

Install Nix on a supported host to build the project. Note that NixOS itself is not supported as a build host. See Host Support before setting up a machine or CI image.

Use nix-android.sh, nix-ios.sh (for both iOS and iPadOS), nix-linux.sh, nix-macos.sh, nix-tvos.sh, nix-visionos.sh and nix-web.sh to build FFmpegKitNext locally for Nix-supported target platforms.

Building FFmpegKitNext without Nix is also supported. The non-Nix build workflow, together with script options for enabling optional libraries and disabling target architectures is explained in the Building wiki page. Windows is built without Nix using the windows.sh script from the project root.

10. FFmpegKitNext Library

FFmpegKitNext is a wrapper library that allows you to easily run FFmpeg/FFprobe commands in applications. It provides additional features on top of FFmpeg to enable platform specific resources, control how commands are executed and how the results are handled.

Android library of FFmpegKitNext has a Kotlin API, Apple libraries (iOS, iPadOS, macOS, tvOS, visionOS) have an Objective-C API, Flutter library comes with a Dart API, Linux has a C++ API, Windows has C++ and C APIs, React Native and Web libraries provide a JavaScript API with Typescript definitions, which are identical in terms of features and capabilities.

11. External Libraries

The table below lists the optional external libraries that can be enabled in local FFmpegKitNext builds.

Some parts of FFmpeg and some external libraries are licensed under the GPL. GPL libraries are included only when a GPL-enabled build variant is selected.

library name
external libraries chromaprint
dav1d
fontconfig
freetype
fribidi
gmp
gnutls
harfbuzz
kvazaar
lame
libaom
libass
libiconv
libilbc
libjxl
liblc3
libsvtav1
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
openh264
openssl
opus
rubberband
sdl
shine
snappy
soxr
speex
srt
tesseract
twolame
vid.stab
vo-amrwbenc
vvenc
x264
x265
xvidcore
zimg
zlib
android system libraries zlib
MediaCodec
ios/ipados system libraries bzip2
AudioToolbox
AVFoundation
libiconv
VideoToolbox
zlib
linux system libraries alsa
libiconv
OpenCL
vaapi
v4l2
zlib
macos system libraries bzip2
AudioToolbox
AVFoundation
Core Image
libiconv
OpenCL
OpenGL
VideoToolbox
zlib
tvos system libraries bzip2
AudioToolbox
libiconv
VideoToolbox
zlib
visionos system libraries bzip2
AudioToolbox
libiconv
VideoToolbox
zlib
web system libraries iconv
zlib

12. Versions

FFmpegKitNext binaries generated use the same major and minor version numbers as the upstream FFmpeg1 project. The third and last number in the version string, if exists, is specific to FFmpegKitNext. It shows different releases from the same FFmpeg release branch.

Platforms FFmpegKit Version FFmpeg Version Release Date
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
visionOS
Web
Windows
9.0.0 9.0.1 Aug 24, 2026
Windows 8.1.1 8.1.2 Aug 21, 2026
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
visionOS
Web
8.1.1 8.1.2 Jul 28, 2026
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
8.1.0 8.1.2 Jul 02, 2026
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
7.1.0 7.1.5 Jul 01, 2026
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
6.1.1 6.1.6 Jun 27, 2026
Android
Flutter
iOS / iPadOS
Linux
macOS
React Native
tvOS
6.1.0 6.1.2 Jun 26, 2026

13. Documentation

A more detailed documentation is available under Wiki.

14. Test Applications

You can see how FFmpegKitNext is used inside an application by running test applications created under FFmpegKitNext Test project.

All applications are identical and supports command execution, video encoding, accessing https urls, encoding audio, burning subtitles, video stabilisation, pipe operations, ffkit protocols and concurrent command execution.

15. License

FFmpegKitNext library alone is licensed under the LGPL v3.0.

FFmpegKitNext bundles (.aar archives, frameworks, xcframeworks), which include both FFmpegKitNext and FFmpeg libraries, are also licensed under the LGPL v3.0. However, if the source code is built using the optional --enable-gpl flag, then FFmpegKitNext bundles become subject to the GPL v3.0. Because, FFmpeg is licensed under the GPL v3.0 in those bundles. And that makes the whole bundle effectively subject to the GPL v3.0.

FFmpegKitNext build scripts always configure FFmpeg with --enable-version3 option. And never enable non-free libraries. Thus, FFmpeg libraries created by FFmpegKitNext are licensed under the LGPL v3.0 by default. Only when --enable-gpl is provided they become subject to GPL v3.0.

Refer to Licenses and Notices to see the licenses of all libraries. Trademarks lists the trademarks used in the FFmpegKitNext documentation.

16. Patents

FFmpeg, kvazaar, x264 and x265 may implement codec technologies that are covered by patents in some jurisdictions. Patent rules vary by country and this documentation is not legal advice. If you use or distribute ffmpeg-kit-next in a country where software or codec patents are enforceable, you should consult qualified legal counsel to determine whether your use case requires a patent license or royalty payments. For more context, see the FFmpeg Patent Mini-FAQ.

openh264 has separate patent-licensing considerations. Cisco states that it covers MPEG LA AVC/H.264 patent-pool royalties only for Cisco-distributed OpenH264 binary modules, subject to the applicable license terms and conditions. If you build openh264 from source, include it in ffmpeg-kit-next and distribute the resulting library yourself, you may be responsible for any applicable patent licenses or royalties. See the OpenH264 FAQ for details.

17. Trademarks

1 FFmpeg is a trademark of Fabrice Bellard. FFmpegKitNext and FFmpegKit are independent projects and not affiliated with the FFmpeg trademark holder.

18. See Also