Releases: tanersener/mobile-ffmpeg
MobileFFmpeg v4.4 LTS
Long Term Support packages for MobileFFmpeg v4.4
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
- Xcode v7.3.1 / iOS SDK 9.3 or later
armv7
,arm64
,i386
andx86-64
architectures
-
tvOS
- Xcode v7.3.1 / tvOS SDK 9.2 or later
arm64
andx86-64
architectures
MobileFFmpeg v4.4
Feature release based on FFmpeg v4.4.x.
Features
- Includes
FFmpeg v4.4-dev-416
- Adds async API methods to support executing
FFmpeg
commands asynchronously- Generates a new execution id for async executions, synchronous executions uses the id 0
- Ability to list all ongoing executions
- Cancel a specific async execution
- Log and statistics callbacks/delegates updated to include execution id
- Applies execution specific log levels concept. All executions have their own log level, this log level is isolated from other concurrent executions
- Introduces
Config.ignoreSignal()
API method to disable handling of signals. This is necessary to ignoreSIGXCPU
signal on Unity and other platforms that use Mono framework - Uses
Google
cpu_features
library instead ofNDK
's deprecatedcpufeatures
library onAndroid
- Updates
FFprobe.getMediaInformation()
implementation to use JSON parsing, which comes with more flexibleMediaInformation
andStreamInformation
classes - Adds
FFprobe.getMediaInformationFromCommand()
API method to extract media information from a customffprobe
command - Removes internal log line limit on
Android
- Adds an API method on
Android
to allow setting environment variables,Config.setEnvironmentVariable()
- Does not store
ffmpeg
andcpu-features
source code under the repository, downloads them before the build - Removes
avfoundation
device iniOS
LTS releases - Removes
coreimage
references iniOS/tvOS
build scripts and documentation, it is not supported underiOS/tvOS
- New versions of
chromaprint
,freetype
,kvazaar
,libjpeg-turbo
,libvorbis
,nettle
,openh264
,wavpack
,x264
andx265
- Adds support for encoding
amr-wb
viavo-amrwbenc
external librarylibopencore-amrwb
library dropped, sinceffmpeg
already includes a nativeamr-wb
decoder
- Fixes #214, #258, #331, #381, #394, #417, #418, #438, #443, #446, #447, #462, #472, #466, #480, #508 and #511
Thanks to everyone who contributed to this release, special thanks to Alex Cohn, who added support for Google
cpu_features
library and provided input in many issues
Note that this release is not fully backward compatible with previous releases.
- A new version of LogCallback and LogDelegate is introduced with
executionId
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 v10.1 / iOS SDK 12.1 or later
arm64
,x86-64
andx86-64-mac-catalyst
architectures
-
tvOS
- Xcode v7.3.1 / tvOS SDK 9.2 or later
arm64
andx86-64
architectures
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore) except rubberband
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore) except rubberband
-
audio: Includes ffmpeg with audio libraries enabled (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, vo-amrwbenc, wavpack)
-
video: Includes ffmpeg with video libraries without GPL license enabled (fontconfig, freetype, fribidi, kvazaar, libaom, libass, libiconv, libtheora, libvpx, libwebp, snappy)
-
full: Includes ffmpeg with all external libraries without GPL license enabled (excluding chromaprint, openh264, sdl and tesseract)
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled (excluding chromaprint, openh264, sdl, tesseract and rubberband)
External Libraries
- cpu-features v0.4.1.1
- fontconfig v2.13.92
- freetype v2.10.2
- fribidi v1.0.9
- gmp v6.2.0
- gnutls v3.6.13
- kvazaar v2.0.0
- lame v3.100
- libaom v1.0.0-errata1-avif-110
- libass v0.14.0
- libiconv v1.16
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.7
- libvpx v1.8.2
- 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
- wavpack v5.3.0
- (**) x264 v20200630-stable
- (**) x265 v3.4
- (**) xvidcore v1.3.7
(**): Libraries with GPL license
MobileFFmpeg v4.3.2
Maintenance release for FFmpeg v4.3.x.
Features
- Includes
FFmpeg v4.3-dev-2955
- Fixes #360, #367
- Disables
ffmpeg
workaround for issue #328 on Android - Enables building of neon assemblies for
openh264
on Androidarm-v7a-neon
architecture - Adds support for
libwebp_anim
encoder - Enables video4linux2 devices on
Android
to support external usb cameras - Adds
--xcframework
option inios.sh
to createxcframework
bundles - Adds
Mac Catalyst
support with newx86-64-mac-catalyst
architecture foriOS
- Uses system
libuuid
library instead of externallibuuid
library oniOS
/tvOS
- Introduces support for
rubberband
external library andlibsamplerate
supplementary library - New versions of
fribidi
,gmp
,gnutls
,openh264
,snappy
,x264
andx265
- Includes
xcframework
packages for iOS - Includes
framework
packages and Static Universal Binaries for tvOS
Notes
iOS
/tvOS
packages of this release are built usingXcode 11.4
. If you useXcode 11.3.x
to load them, you will most probably see #419. This is due to an incompatibility between twoXcode
versions. Upgrade toXcode 11.4.x
to resolve this issue.
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 v10.1 / iOS SDK 12.1 or later
arm64
,x86-64
andx86-64-mac-catalyst
architectures
-
tvOS
- Xcode v7.3.1 / tvOS SDK 9.2 or later
arm64
andx86-64
architectures
This release is backward compatible with previous releases.
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore) except rubberband
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore) except rubberband
-
audio: Includes ffmpeg with audio libraries enabled (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, wavpack)
-
video: Includes ffmpeg with video libraries without GPL license enabled (fontconfig, freetype, fribidi, kvazaar, libaom, libass, libiconv, libtheora, libvpx, libwebp, snappy)
-
full: Includes ffmpeg with all external libraries without GPL license enabled (excluding chromaprint, openh264, sdl and tesseract)
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled (excluding chromaprint, openh264, sdl, tesseract and rubberband)
External Libraries
- fontconfig v2.13.92
- freetype v2.10.1
- fribidi v1.0.9
- gmp v6.2.0
- gnutls v3.6.13
- kvazaar v1.3.0
- lame v3.100
- libaom v1.0.0-errata1-avif-110
- libass v0.14.0
- libiconv v1.16
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.6
- libvpx v1.8.2
- 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
- wavpack v5.2.0
- (**) x264 v20200409-stable
- (**) x265 v3.3
- (**) xvidcore v1.3.7
(**): Libraries with GPL license
MobileFFmpeg v4.3.1 Full-GPL Mac Catalyst Beta 2
iOS full-gpl xcframework including Mac Catalyst support for MobileFFmpeg v4.3.1.
Supports the following device specifications
- iOS
- Xcode v10.1 / iOS SDK 12.1 or later
arm64
,x86-64
andx86-64-mac-catalyst
architectures
MobileFFmpeg v4.3.1 Full-GPL Mac Catalyst Beta
iOS full-gpl package including Mac Catalyst support for MobileFFmpeg v4.3.1.
Supports the following device specifications
- iOS
- Xcode v10.1 / iOS SDK 12.1 or later
arm64
,arm64e
andx86-64-mac-catalyst
architectures
MobileFFmpeg v4.3.1 LTS
Long Term Support packages for MobileFFmpeg v4.3.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
- Xcode v7.3.1 / iOS SDK 9.3 or later
armv7
,arm64
,i386
andx86-64
architectures
-
tvOS
- Xcode v7.3.1 / tvOS SDK 9.2 or later
arm64
andx86-64
architectures
MobileFFmpeg v4.3.1
Maintenance release for FFmpeg v4.3.x.
Features
- Includes
FFmpeg v4.3-dev-1944
- Introduces
FFprobe
support - Adds concurrent execution support
- Updates
getMediaInformation
implementation. New version usesFFprobe
instead ofFFmpeg
- Improves
ffmpeg
log redirection. Logs previously printed to stderr are redirected usingAV_LOG_STDERR
log level iOS
/tvOS
releases started to useiconv
system library instead oficonv
external library- Fixes #182, #230, #286 and #302
- New versions of
fribidi
,gnutls
,libaom
,libjpeg-turbo
,libvpx
,libwebp
,libxml2
,tiff
,wavpack
,x264
,x265
andxvidcore
- Supports Xcode v10.1/SDK 12.1 or later on iOS
- Supports Android 7.0 (API level 24) or later on Android
- Includes Static Universal Binaries for iOS and tvOS
Changes
FFprobe
class on Android,MobileFFprobe
class oniOS
/tvOS
is introduced to executeFFprobe
commandsgetMediaInformation
method moved insideFFprobe
classgetLastReturnCode
andgetLastCommandOutput
methods moved insideConfig
/MobileFFmpegConfig
class- Logs printed to
stderr
byFFmpeg
are redirected toLogCallback
/LogDelegate
usingAV_LOG_STDERR
log severity. This severity can not be silenced bysetLogLevel
method.
This release is not backward compatible with previous releases. See Changes.
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
audio: Includes ffmpeg with audio libraries enabled (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, wavpack)
-
video: Includes ffmpeg with video libraries without GPL license enabled (fontconfig, freetype, fribidi, kvazaar, libaom, libass, libiconv, libtheora, libvpx, libwebp, snappy)
-
full: Includes ffmpeg with all external libraries without GPL license enabled (excluding chromaprint, openh264, sdl and tesseract)
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled (excluding chromaprint, openh264, sdl and tesseract)
External Libraries
- fontconfig v2.13.92
- freetype v2.10.1
- fribidi v1.0.8
- gmp v6.1.2
- gnutls v3.6.11.1
- kvazaar v1.3.0
- lame v3.100
- libaom v1.0.0-errata1-avif-110
- libass v0.14.0
- libiconv v1.16
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.6
- libvpx v1.8.2
- libwebp v1.1.0
- libxml2 v2.9.10
- opencore-amr v0.1.5
- opus v1.3.1
- shine v3.1.1
- snappy v1.1.7
- soxr v0.1.3
- speex v1.2.0
- twolame v0.4
- wavpack v5.2.0
- (**) x264 v20191125-stable
- (**) x265 v3.2.1
- (**) xvidcore v1.3.7
(**): Libraries with GPL license
MobileFFmpeg v4.3
First feature release based on FFmpeg v4.3.x.
Features
- Includes FFmpeg v4.3-dev-1181
- Supports single and double quotes in default
execute
method - Updates
getLastCommandOutput
implementation - Fixes #187, #190, #206, #211, #255 and #259
- Removes Android app theme from release packages
- New versions of
fontconfig
,fribidi
,gnutls
,kvazaar
,libaom
,libjpeg-turbo
,libvpx
,libwebp
,twolame
,x264
andx265
- Supports Xcode v10.1/SDK 12.1 or later on iOS
- Supports Android 7.0 (API level 24) or later on Android
- Includes Static Universal Binaries for iOS and tvOS
Changes
execute
method with delimiter parameter is deprecated- Default
execute
method is enhanced to support single and double quotes
This release is not backward compatible with previous releases. See Changes.
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
audio: Includes ffmpeg with audio libraries enabled (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, wavpack)
-
video: Includes ffmpeg with video libraries without GPL license enabled (fontconfig, freetype, fribidi, kvazaar, libaom, libass, libiconv, libtheora, libvpx, libwebp, snappy)
-
full: Includes ffmpeg with all external libraries without GPL license enabled (excluding chromaprint, openh264, sdl and tesseract)
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled (excluding chromaprint, openh264, sdl and tesseract)
External Libraries
- fontconfig v2.13.92
- freetype v2.10.1
- fribidi v1.0.7
- gmp v6.1.2
- gnutls v3.6.10
- kvazaar v1.3.0
- lame v3.100
- libaom v1.0.0-2567
- libass v0.14.0
- libiconv v1.16
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.6
- libvpx v1.8.1
- libwebp v1.0.3
- libxml2 v2.9.9
- opencore-amr v0.1.5
- opus v1.3.1
- shine v3.1.1
- snappy v1.1.7
- soxr v0.1.3
- speex v1.2.0
- twolame v0.4
- wavpack v5.1.0
- (**) x264 v20191024-2245-stable
- (**) x265 v3.2
- (**) xvidcore v1.3.5
(**): Libraries with GPL license
MobileFFmpeg v4.2.2 LTS
Long Term Support packages for MobileFFmpeg v4.2.2
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
- Xcode v7.3.1 / iOS SDK 9.3 or later
armv7
,arm64
,i386
andx86-64
architectures
-
tvOS
- Xcode v7.3.1 / tvOS SDK 9.2 or later
arm64
andx86-64
architectures
MobileFFmpeg v4.2.2
Maintenance release for FFmpeg v4.2.x.
Features
- Includes FFmpeg v4.2-dev-1824
- Adds tvOS support
- New
getSupportedCameraIds
API method on Android - Includes
proguard-rules.pro
configuration file in Android archives - Creates
module.modulemap
for iOS / tvOS frameworks - Fixes #113, #122, #123, #126, #128, #141, #145, #149, #151, #152, #154, #159, #160, #166 and #169
- Adds
OpenH264
support - New versions of
expat
,fontconfig
,freetype
,gnutls
,libaom
,libiconv
,libpng
,nettle
,opus
andx264
- Supports Android 7.0 (API level 24) or later
- Includes
arm-v7a-neon
,arm64-v8a
,x86
andx86-64
architectures
- Includes
- Supports iOS SDK 12.1 or later
- Includes
arm64
,arm64e
andx86-64
architectures
- Includes
- Supports tvOS SDK 10.2 or later
- Includes
arm64
andx86-64
architectures
- Includes
- Includes Static Universal Binaries for iOS and tvOS
This release is backward compatible with v2.1.x and later
Packages
-
min: Includes only ffmpeg
-
min-gpl: Includes ffmpeg with all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
https: Includes ffmpeg with gmp and gnutls enabled
-
https-gpl: Includes ffmpeg with gmp, gnutls and all GPL licensed external libraries enabled (libvid.stab, x264, x265, xvidcore)
-
audio: Includes ffmpeg with audio libraries enabled (lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame, wavpack)
-
video: Includes ffmpeg with video libraries without GPL license enabled (fontconfig, freetype, fribidi, kvazaar, libaom, libass, libiconv, libtheora, libvpx, libwebp, snappy)
-
full: Includes ffmpeg with all external libraries without GPL license enabled (excluding chromaprint, openh264, sdl and tesseract)
-
full-gpl: Includes ffmpeg with all external libraries, with or without GPL license, enabled (excluding chromaprint, openh264, sdl and tesseract)
External Libraries
- fontconfig v2.13.91
- freetype v2.10.1
- fribidi v1.0.5
- gmp v6.1.2
- gnutls v3.6.8
- kvazaar v1.2.0
- lame v3.100
- libaom v1.0.0-2018
- libass v0.14.0
- libiconv v1.16
- libilbc v2.0.2
- libtheora v1.1.1
- (**) libvid.stab v1.1.0
- libvorbis v1.3.5
- libvpx v1.8.0
- libwebp v1.0.2
- libxml2 v2.9.9
- opencore-amr v0.1.5
- opus v1.3.1
- shine v3.1.1
- snappy v1.1.7
- speex v1.2.0
- twolame v0.3.13
- wavpack v5.1.0
- (**) x264 20190701-2245-stable
- (**) x265 v3.0
- (**) xvidcore v1.3.5
(**): Libraries with GPL license