[Open Source] I've created a spin-off of FFmpeg-Kit Plugin with ability to deploy custom builds

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.

  • Supports 100+ external FFmpeg libraries

  • Android , iOS , macOS , Linux , and Windows

  • 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) :white_check_mark: Supported :white_check_mark: Native armv7, arm64, x86_64 API 26+
iOS (and Simulator) :white_check_mark: Supported :white_check_mark: Texture arm64 iOS 13+
macOS :white_check_mark: Supported :white_check_mark: Texture arm64, x86_64 macOS 13+
Linux :white_check_mark: Supported :white_check_mark: Texture x86_64 glibc 2.28+
Windows :white_check_mark: Supported :white_check_mark: Texture x86_64 Windows 8+

Features

  • Cross-Platform Support: Works on Android, iOS, macOS, Linux, and Windows.
    • Android: Full video playback support with native surface rendering.
      • x86: x86 architecture is not supported due to its legacy status.
    • iOS & macOS: High-performance video playback with CVPixelBuffer and Metal integration.
      • iOS: Supports both physical devices and simulators. x86_64 architecture is not supported due to its legacy status.
    • Linux: Full video playback support with OpenGL integration.
      • arm64: arm64 architecture currently not supported, coming soon!
  • FFmpeg, FFprobe & FFplay: Latest 8.1.1 API support 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:

2 Likes