FFmpegKit v4.4
Feature release based on FFmpeg v4.4.x.
This release supersedes MobileFFmpeg 4.4.
Features
- Includes
FFmpeg v4.4-dev-3015
- Introduces support for
macOS
platform - Adds support for
arm64-mac-catalyst
andarm64-simulator
architectures oniOS
- Adds support for
arm64-simulator
architecture ontvOS
- Implements the
Session
concept. Creates a new session for each command execution. A session can be used to access all information about the execution - Replaces delegates with blocks on
Objective-C
API - Supports concurrent execution of
FFprobe
commands - Adds helper methods to transform
Storage Access Framework (SAF)
Uris into paths that can be used withinFFmpegKit
- Stops using the deprecated
AsyncTask
classes onAndroid
- Adds session specific
log
andstatistics
callbacks - Implements session history
- Supports global and session specific log redirection strategies
- Defines global
execute
callback for async operations - Drops support for
wavpack
external library and adds support fordav1d
- Builds
libass
withharfbuzz
- Uses the new versions of
cpu_features
,expat
,fontconfig
,fribidi
,libass
,libjpeg-turbo
,libsndfile
,libvpx
,nettle
andx264
- Fixes
FFmpegKit
issues #1, #2 and #5 - Fixes
MobileFFmpeg
issues #499, #516, #520, #597, #618, #634, #637, #671, #674
Thanks to everyone who contributed to this release by reporting issues and sharing their ideas.
Note that this release is not backward compatible with previous MobileFFmpeg releases.
Supports the following device specifications
-
Android
- Android 7.0 (API level 24) or later
arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
-
iOS
- Xcode v11.0 / iOS SDK 12.1 or later
arm64
,arm64-mac-catalyst
,arm64-simulator
,x86-64
andx86-64-mac-catalyst
architectures
-
macOS
- Xcode v11.0 / macOS SDK 10.15 or later
arm64
andx86-64
architectures
-
tvOS
- Xcode v11.0 / tvOS SDK 10.2 or later
arm64
,arm64-simulator
andx86-64
architectures
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries (libvid.stab, x264, x265, xvidcore) enabled except rubberband
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries (libvid.stab, x264, x265, xvidcore) enabled except rubberband
-
audio: Includes ffmpeg with audio libraries (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, vo-amrwbenc) enabled
-
video: Includes ffmpeg with video libraries without GPL license (dav1d, fontconfig, freetype, fribidi, kvazaar, libass, libiconv, libtheora, libvpx, libwebp, snappy) enabled
-
full: Includes ffmpeg with all external libraries without GPL license (excluding chromaprint, libaom, openh264, sdl and tesseract) enabled
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled excluding chromaprint, libaom, openh264, sdl, tesseract and rubberband
External Libraries
- cpu-features v0.6.0
- dav1d v0.8.1
- fontconfig v2.13.93
- freetype v2.10.2
- fribidi v1.0.10
- gmp v6.2.0
- gnutls v3.6.15.1
- kvazaar v2.0.0
- lame v3.100
- libass v0.15.0
- libiconv v1.16.2
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.7
- libvpx v1.9.0
- libwebp v1.1.0
- libxml2 v2.9.10
- opencore-amr v0.1.5
- opus v1.3.1
- shine v3.1.1
- snappy v1.1.8
- soxr v0.1.3
- speex v1.2.0
- twolame v0.4
- vo-amrwbenc v0.1.3
- (**) x264 v20200912-stable
- (**) x265 v3.4
- (**) xvidcore v1.3.7
(**): Libraries with GPL license