Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

MobileFFmpeg v4.4

Compare
Choose a tag to compare
@tanersener tanersener released this 06 Feb 13:31
· 12 commits to development since this release

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 ignore SIGXCPU signal on Unity and other platforms that use Mono framework
  • Uses Google cpu_features library instead of NDK's deprecated cpufeatures library on Android
  • Updates FFprobe.getMediaInformation() implementation to use JSON parsing, which comes with more flexible MediaInformation and StreamInformation classes
  • Adds FFprobe.getMediaInformationFromCommand() API method to extract media information from a custom ffprobe 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 and cpu-features source code under the repository, downloads them before the build
  • Removes avfoundation device in iOS LTS releases
  • Removes coreimage references in iOS/tvOS build scripts and documentation, it is not supported under iOS/tvOS
  • New versions of chromaprint, freetype, kvazaar, libjpeg-turbo, libvorbis, nettle, openh264, wavpack, x264 and x265
  • Adds support for encoding amr-wb via vo-amrwbenc external library
    • libopencore-amrwb library dropped, since ffmpeg already includes a native amr-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 and x86-64 architectures
  • iOS

    • Xcode v10.1 / iOS SDK 12.1 or later
    • arm64, x86-64 and x86-64-mac-catalyst architectures
  • tvOS

    • Xcode v7.3.1 / tvOS SDK 9.2 or later
    • arm64 and x86-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