Releases: arthenica/ffmpeg-kit
FFmpegKit Flutter v5.1.0
- Based on
FFmpegKitnativev5.1releases - Includes
FFmpeg v5.1.2 - API Changes
- Improves parsing in
FFprobeKit.getMediaInformation()method. The method is more tolerant to warnings now - Implements
AbstractSession.cancel()method - Runs
iOSandmacOScallbacks on the main queue - Refactors
MediaInformationclasses- Renames all
getPropertiesmethods asgetProperty - Renames
mediaPropertiesinsideMediaInformationasformatProperties, adds extra methods to get format properties
- Renames all
- Fixes a bug in which old sessions were not deleted in
setSessionHistorySizemethod
- Improves parsing in
- Uses the new versions of
cpu_features,dav1d,expat,fontconfig,freetype,fribidi,harfbuzz,libjpeg-turbo,libaom,libpng,libvpx,libwebp,libxml2,nettle,opencore-amr,openh264,openssl,speex,srt,x264andzimg
Tested using v5.1.0 test applications
FFmpegKit Native 5.1.LTS
Long Term Support native packages for FFmpegKit v5.1
Supports the following device specifications
-
Android
- Android 4.1 (API level 16) or later
arm-v7a,arm-v7a-neon,arm64-v8a,x86andx86-64architectures
-
iOS
- iOS SDK 10 or later
armv7,arm64,i386andx86-64architectures
-
macOS
- macOS SDK 10.12 or later
x86-64architecture
-
tvOS
- tvOS SDK 10.0 or later
arm64andx86-64architectures
FFmpegKit Native 5.1
- Includes
FFmpeg v5.1.2 FFmpegKitlibrary changes- Implements
FFmpegKitC++ API onLinuxplatform which is not distributed in releases - Adds
createmethods to all session classes as the default method to create a new session - Improves parsing in
FFprobeKit.getMediaInformation()method. The method is more tolerant to warnings now - Refactors
MediaInformationclasses- Renames all
getPropertiesmethods asgetProperty - Renames
mediaPropertiesinsideMediaInformationasformatProperties, adds extra methods to get format properties
- Renames all
- Fixes a bug in which old sessions were not deleted in
setSessionHistorySizemethod
- Implements
- Build script changes
- Adds builds scripts for the
Linuxplatform (x86_64architecture) - Enables
opensslon 32-bitiOSarchitectures - Upgrades
Android Gradle Pluginto7.3.0 - Fixes building
gnutlsusingXcode v13.3or later - Adds support for
Android NDK r24andr25 - Bundles
c++_sharedwhenchromaprintis enabled - Targets
API Level 31onAndroid - Removes auto-generated files from
VCS
- Adds builds scripts for the
- Uses the new versions of
cpu_features,dav1d,expat,fontconfig,freetype,fribidi,harfbuzz,libjpeg-turbo,libaom,libpng,libvpx,libwebp,libxml2,nettle,opencore-amr,openh264,openssl,speex,srt,x264andzimg - Fixes issues #3, #311, #323, #394, #443, #472, #530, #531, #546, #552 and #571
Supports the following device specifications
-
Android
- Android 7.0 (API level 24) or later
arm-v7a-neon,arm64-v8a,x86andx86-64architectures
-
iOS
- iOS SDK 12.1 or later
arm64,arm64-mac-catalyst,arm64-simulator,x86-64andx86-64-mac-catalystarchitectures
-
macOS
- macOS SDK 10.15 or later
arm64andx86-64architectures
-
tvOS
- tvOS SDK 11.0 or later
arm64,arm64-simulatorandx86-64architectures
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 React Native v4.5.2
- Based on
FFmpegKitnativev4.5.1releases - 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,x86andx86-64architectures
-
iOS
- iOS SDK 10 or later
armv7,arm64,i386andx86-64architectures
-
macOS
- macOS SDK 10.12 or later
x86-64architecture
-
tvOS
- tvOS SDK 10.0 or later
arm64andx86-64architectures
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
ExecuteCallbackwith session specificCompleteCallbacktypes (FFmpegSessionCompleteCallback,FFprobeSessionCompleteCallback,MediaInformationSessionCompleteCallback) execute()methods that acceptString[]are renamed asexecuteWithArguments()onAndroidsafprotocol urls created byFFmpegKit.getSafParametermethods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParametermethod that allows providing a custom open mode - Implements chapters in
MediaInformationclass
- Replaces
- Adds support for
zimglibrary (enableszscalefilter) - Enables 10bit pixel formats in
x265 - Uses the new versions of
fontconfig,freetype,fribidi,kvazaar,libvpxandx264 - 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,x86andx86-64architectures
-
iOS
- iOS SDK 12.1 or later
arm64,arm64-mac-catalyst,arm64-simulator,x86-64andx86-64-mac-catalystarchitectures
-
macOS
- macOS SDK 10.15 or later
arm64andx86-64architectures
-
tvOS
- tvOS SDK 11.0 or later
arm64,arm64-simulatorandx86-64architectures
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
FFmpegKitnativev4.5.1releases - Includes
FFmpeg v4.5-dev-3393 - Switches to shared/dynamic libraries on
iOS - API Changes
- Implements
execute()methods - Replaces
ExecuteCallbackwith session specificCompleteCallbacktypes (FFmpegSessionCompleteCallback,FFprobeSessionCompleteCallback,MediaInformationSessionCompleteCallback) safprotocol urls created byFFmpegKit.getSafParametermethods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParametermethod that allows providing a custom open mode - Implements chapters in
MediaInformationclass
- Implements
- Adds support for
zimglibrary (enableszscalefilter) - Enables 10bit pixel formats in
x265 - Uses the new versions of
fontconfig,freetype,fribidi,kvazaar,libvpxandx264 - Fixes issues #209, #221 and #224
Tested using v4.5.1 test applications
FFmpegKit React Native v4.5.1
- Based on
FFmpegKitnativev4.5.1releases - Includes
FFmpeg v4.5-dev-3393 - Switches to shared/dynamic libraries on
iOS - API Changes
- Implements
execute()methods - Replaces
ExecuteCallbackwith session specificCompleteCallbacktypes (FFmpegSessionCompleteCallback,FFprobeSessionCompleteCallback,MediaInformationSessionCompleteCallback) safprotocol urls created byFFmpegKit.getSafParametermethods are no longer single-use. They can be re-used multiple times- New
FFmpegKit.getSafParametermethod that allows providing a custom open mode - Implements chapters in
MediaInformationclass
- Implements
- Adds support for
zimglibrary (enableszscalefilter) - Enables 10bit pixel formats in
x265 - Uses the new versions of
fontconfig,freetype,fribidi,kvazaar,libvpxandx264 - Fixes issues #199 and #205
Tested using v4.5.1 test applications
FFmpegKit Flutter v4.5.0
Flutterplatform release forFFmpeg v4.5- Supports
Android,macOSandiOS - Supersedes
flutter_ffmpeg - Fixes issue #23
FFmpegKit React Native v4.5.0
React Nativeplatform release ofFFmpeg v4.5- Supports
AndroidandiOS - Supersedes react-native-ffmpeg