I have created a Spin-off of FFmpegKit that’s fully open source with ability to deploy custom builds of FFmpegKit. Does not need native executables to execute commands, instead native libraries are vendored at build time.
-
Android,iOS,macOS,Linux, andWindows -
Full concurrency and parallel execution support
-
FFmpeg, FFprobe and FFplay support (though FFplay is currently non function on Android)
-
Callback support
Project is fully open source including native code. I’ve done a major overhaul of the API and added pure C API so the library binaries can technically be used by any language using FFI.
I am currently publishing a total of 22 different pre-built binaries for all three platforms for Audio, Video, Video+HW, Full (100+ external libraries), and Base (bare bones FFmpeg) bundles for both GPL and LGPL license compatibility.
Already supports below platforms:
| Platform | Status | Video Playback | Architecture | Minimum Requirements |
|---|---|---|---|---|
| Android (and Android TV) | armv7, arm64, x86_64 | API 26+ | ||
| iOS (and Simulator) | arm64 | iOS 13+ | ||
| macOS | arm64, x86_64 | macOS 13+ | ||
| Linux | x86_64 | glibc 2.28+ | ||
| Windows | x86_64 | Windows 8+ |
Features
- Cross-Platform Support: Works on
Android,iOS,macOS,Linux, andWindows.- Android: Full video playback support with native surface rendering.
- x86:
x86architecture is not supported due to its legacy status.
- x86:
- iOS & macOS: High-performance video playback with
CVPixelBufferand Metal integration.- iOS: Supports both physical
devicesandsimulators.x86_64architecture is not supported due to its legacy status.
- iOS: Supports both physical
- Linux: Full video playback support with
OpenGLintegration.- arm64:
arm64architecture currently not supported, coming soon!
- arm64:
- Android: Full video playback support with native surface rendering.
FFmpeg,FFprobe&FFplay: Latest8.1.1 APIsupport for media manipulation, information retrieval, and audio/video playback.- Video Playback: Complete cross-platform video playback with unified surface API.
- Real-time Streaming: Position and video dimension streams for live playback monitoring.
- Dart FFI: Direct native bindings for optimal performance.
- Asynchronous Execution: Run long-running tasks without blocking the UI thread.
- Parallel Execution: Run multiple tasks in parallel.
- Callback Support: detailed hooks for logs, statistics, and session completion.
- Session Management: Full control over execution lifecycle (start, cancel, list).
- Extensible: Designed to allow custom native library loading and configuration.
- Full package Introspection API: Get detailed information about the package, including version, build date, and available muxers, demuxers, encoders, decoders, filters, etc.
- Deploy Custom Builds: You can deploy custom builds of ffmpeg-kit-extended. See: https://github.com/akashskypatel/ffmpeg-kit-builders
Feature Matrix
| Feature | Base | Audio | Video | Video+Hardware | Full |
|---|---|---|---|---|---|
| Video | x | x | x | ||
| Audio | x | x | x | x | |
| Streaming | x | x | x | x | |
| Hardware | x | x | |||
| AI* | |||||
| HTTPS | * | x | x | x | x |
| Platform* | x | x | x | x | x |
For a full list of library support matrix see: https://github.com/akashskypatel/ffmpeg-kit-builders?tab=readme-ov-file#supported-external-libraries
Take a look at my project here: