Releases: tanersener/ffmpeg-kit
FFmpegKit React Native v4.5.2
- Based on
FFmpegKit
nativev4.5.1
releases - Includes
FFmpeg v4.5-dev-3393
- API Changes
- Implements
uninit()
method to clean up platform specific resources e.g. thread pools before application termination
- Implements
- Fixes issues #311 and #397
Tested using v4.5.2 test applications
FFmpegKit Native v4.5.1 LTS
Long Term Support native packages for FFmpegKit v4.5.1
Supports the following device specifications
-
Android
- Android 4.1 (API level 16) or later
arm-v7a
,arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
-
iOS
- iOS SDK 10 or later
armv7
,arm64
,i386
andx86-64
architectures
-
macOS
- macOS SDK 10.12 or later
x86-64
architecture
-
tvOS
- tvOS SDK 10.0 or later
arm64
andx86-64
architectures
FFmpegKit Native v4.5.1
- Includes
FFmpeg v4.5-dev-3393
- Switches to shared/dynamic libraries on Apple platforms (
ios
,macos
,tvos
)- Drops support for building static (.a) libraries
- Drops support for building universal (fat) binaries
- API Changes
- Replaces
ExecuteCallback
with session specificCompleteCallback
types (FFmpegSessionCompleteCallback
,FFprobeSessionCompleteCallback
,MediaInformationSessionCompleteCallback
) execute()
methods that acceptString[]
are renamed asexecuteWithArguments()
onAndroid
saf
protocol urls created byFFmpegKit.getSafParameter
methods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParameter
method that allows providing a custom open mode - Implements chapters in
MediaInformation
class
- Replaces
- Adds support for
zimg
library (enableszscale
filter) - Enables 10bit pixel formats in
x265
- Uses the new versions of
fontconfig
,freetype
,fribidi
,kvazaar
,libvpx
andx264
- Fixes issues #28, #152, #167, #171, #174, #187, #192, #196, #197, #205, #241, #292 and #316
Supports the following device specifications
-
Android
- Android 7.0 (API level 24) or later
arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
-
iOS
- iOS SDK 12.1 or later
arm64
,arm64-mac-catalyst
,arm64-simulator
,x86-64
andx86-64-mac-catalyst
architectures
-
macOS
- macOS SDK 10.15 or later
arm64
andx86-64
architectures
-
tvOS
- tvOS SDK 11.0 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, zimg) enabled
-
full: Includes ffmpeg with all external libraries without GPL license (excluding chromaprint, libaom, openh264, openssl, sdl, srt and tesseract) enabled
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled excluding chromaprint, libaom, openh264, openssl, sdl, srt, tesseract and rubberband
See Versions for the external library versions included.
FFmpegKit Flutter v4.5.1
- Based on
FFmpegKit
nativev4.5.1
releases - Includes
FFmpeg v4.5-dev-3393
- Switches to shared/dynamic libraries on
iOS
- API Changes
- Implements
execute()
methods - Replaces
ExecuteCallback
with session specificCompleteCallback
types (FFmpegSessionCompleteCallback
,FFprobeSessionCompleteCallback
,MediaInformationSessionCompleteCallback
) saf
protocol urls created byFFmpegKit.getSafParameter
methods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParameter
method that allows providing a custom open mode - Implements chapters in
MediaInformation
class
- Implements
- Adds support for
zimg
library (enableszscale
filter) - Enables 10bit pixel formats in
x265
- Uses the new versions of
fontconfig
,freetype
,fribidi
,kvazaar
,libvpx
andx264
- Fixes issues #209, #221 and #224
Tested using v4.5.1 test applications
FFmpegKit React Native v4.5.1
- Based on
FFmpegKit
nativev4.5.1
releases - Includes
FFmpeg v4.5-dev-3393
- Switches to shared/dynamic libraries on
iOS
- API Changes
- Implements
execute()
methods - Replaces
ExecuteCallback
with session specificCompleteCallback
types (FFmpegSessionCompleteCallback
,FFprobeSessionCompleteCallback
,MediaInformationSessionCompleteCallback
) saf
protocol urls created byFFmpegKit.getSafParameter
methods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParameter
method that allows providing a custom open mode - Implements chapters in
MediaInformation
class
- Implements
- Adds support for
zimg
library (enableszscale
filter) - Enables 10bit pixel formats in
x265
- Uses the new versions of
fontconfig
,freetype
,fribidi
,kvazaar
,libvpx
andx264
- Fixes issues #199 and #205
Tested using v4.5.1 test applications
FFmpegKit Flutter v4.5.0
Flutter
platform release forFFmpeg v4.5
- Supports
Android
,macOS
andiOS
- Supersedes
flutter_ffmpeg
- Fixes issue #23
FFmpegKit React Native v4.5.0
React Native
platform release ofFFmpeg v4.5
- Supports
Android
andiOS
- Supersedes react-native-ffmpeg
FFmpegKit v4.5 LTS
Long Term Support packages for FFmpegKit v4.5
Supports the following device specifications
-
Android
- Android 4.1 (API level 16) or later
arm-v7a
,arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
-
iOS
- iOS SDK 9.3 or later
armv7
,arm64
,i386
andx86-64
architectures
-
macOS
- macOS SDK 10.11 or later
x86-64
architecture
-
tvOS
- tvOS SDK 9.2 or later
arm64
andx86-64
architectures
FFmpegKit v4.5
Bug-fix release based on FFmpeg v4.5.x.
Features
- Includes
FFmpeg v4.5-dev-2008
- Implements
saf
andfd
protocols onAndroid
to address unhandledStorage Access Framework (SAF)
use cases - Drops
VideoToolbox
support from LTS releases ofiOS
since updatedVideoToolbox
implementation requiresiOS
SDK 11.0 - Embeds external library licenses in Android archives (.aar files)
- Uses the new versions of
dav1d
,freetype
,libogg
,libvpx
,libwebp
,libxml2
,snappy
andx264
- Fixes issues #11, #12, #14, #33, #35, #39, #72, #85, #93, #129, #139 and #144
Supports the following device specifications
-
Android
- Android 7.0 (API level 24) or later
arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
-
iOS
- iOS SDK 12.1 or later
arm64
,arm64-mac-catalyst
,arm64-simulator
,x86-64
andx86-64-mac-catalyst
architectures
-
macOS
- macOS SDK 10.15 or later
arm64
andx86-64
architectures
-
tvOS
- 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.9.2
- fontconfig v2.13.93
- freetype v2.11.0
- fribidi v1.0.10
- gmp v6.2.0
- gnutls v3.6.15.1
- kvazaar v2.0.0
- lame v3.100
- libass v0.15.2
- libiconv v1.16.2
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.7
- libvpx v1.10.0
- libwebp v1.2.1
- libxml2 v2.9.12
- opencore-amr v0.1.5
- opus v1.3.1
- shine v3.1.1
- snappy v1.1.9
- soxr v0.1.3
- speex v1.2.0
- twolame v0.4
- vo-amrwbenc v0.1.3
- (**) x264 v20210412-stable
- (**) x265 v3.4
- (**) xvidcore v1.3.7
(**): Libraries with GPL license
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