Skip to content

FFmpegKit v4.4

Compare
Choose a tag to compare
@tanersener tanersener released this 05 Mar 02:41
· 369 commits to development since this release

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 and arm64-simulator architectures on iOS
  • Adds support for arm64-simulator architecture on tvOS
  • 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 within FFmpegKit
  • Stops using the deprecated AsyncTask classes on Android
  • Adds session specific log and statistics 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 for dav1d
  • Builds libass with harfbuzz
  • Uses the new versions of cpu_features, expat, fontconfig, fribidi, libass, libjpeg-turbo, libsndfile, libvpx, nettle and x264
  • 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 and x86-64 architectures
  • iOS

    • Xcode v11.0 / iOS SDK 12.1 or later
    • arm64, arm64-mac-catalyst, arm64-simulator, x86-64 and x86-64-mac-catalyst architectures
  • macOS

    • Xcode v11.0 / macOS SDK 10.15 or later
    • arm64 and x86-64 architectures
  • tvOS

    • Xcode v11.0 / tvOS SDK 10.2 or later
    • arm64, arm64-simulator and x86-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