-
-
Notifications
You must be signed in to change notification settings - Fork 796
ios.sh
ios.sh
builds FFmpeg
and MobileFFmpeg
for iOS platform.
By default seven architectures (armv7
, armv7s
, arm64
, arm64e
, i386
, x86-64
and x86-64-mac-catalyst
) are built without any external libraries enabled. Options can be used to disable architectures and/or enable external libraries. Please note that GPL
libraries (external libraries with GPL license) need --enable-gpl
flag to be set explicitly. When compilation ends, library bundles are created under the prebuilt
folder. By default framework bundles and universal fat binaries are built. If --xcframework
option is provided then only xcframework
bundles are created.
Options can be used to disable architectures and/or enable external libraries.
Usage: ./ios.sh [OPTION]...
Options:
-h, --help display this help and exit
-v, --version display version information and exit
-d, --debug build with debug information
-s, --speed optimize for speed instead of size
-l, --lts build lts packages to support sdk 9.3+ devices
-x, --xcframework build xcframework bundles instead of framework bundles and universal libraries
-f, --force ignore warnings and build with given options
Licensing options:
--enable-gpl allow use of GPL libraries, created libs will be licensed under GPLv3.0 [no]
Platforms:
--disable-armv7 do not build armv7 platform [yes]
--disable-armv7s do not build armv7s platform [yes]
--disable-arm64 do not build arm64 platform [yes]
--disable-arm64e do not build arm64e platform [yes]
--disable-i386 do not build i386 platform [yes]
--disable-x86-64 do not build x86-64 platform [yes]
--disable-x86-64-mac-catalyst do not build x86-64-mac-catalyst platform [yes]
Libraries:
--full enables all non-GPL external libraries
--enable-ios-audiotoolbox build with built-in Apple AudioToolbox support[no]
--enable-ios-avfoundation build with built-in Apple AVFoundation support[no]
--enable-ios-bzip2 build with built-in bzip2 support[no]
--enable-ios-videotoolbox build with built-in Apple VideoToolbox support[no]
--enable-ios-zlib build with built-in zlib [no]
--enable-ios-libiconv build with built-in libiconv [no]
--enable-chromaprint build with chromaprint [no]
--enable-fontconfig build with fontconfig [no]
--enable-freetype build with freetype [no]
--enable-fribidi build with fribidi [no]
--enable-gmp build with gmp [no]
--enable-gnutls build with gnutls [no]
--enable-kvazaar build with kvazaar [no]
--enable-lame build with lame [no]
--enable-libaom build with libaom [no]
--enable-libass build with libass [no]
--enable-libilbc build with libilbc [no]
--enable-libtheora build with libtheora [no]
--enable-libvorbis build with libvorbis [no]
--enable-libvpx build with libvpx [no]
--enable-libwebp build with libwebp [no]
--enable-libxml2 build with libxml2 [no]
--enable-opencore-amr build with opencore-amr [no]
--enable-openh264 build with openh264 [no]
--enable-opus build with opus [no]
--enable-sdl build with sdl [no]
--enable-shine build with shine [no]
--enable-snappy build with snappy [no]
--enable-soxr build with soxr [no]
--enable-speex build with speex [no]
--enable-tesseract build with tesseract [no]
--enable-twolame build with twolame [no]
--enable-vo-amrwbenc build with vo-amrwbenc [no]
--enable-wavpack build with wavpack [no]
GPL libraries:
--enable-libvidstab build with libvidstab [no]
--enable-rubberband build with rubber band [no]
--enable-x264 build with x264 [no]
--enable-x265 build with x265 [no]
--enable-xvidcore build with xvidcore [no]
Advanced options:
--reconf-LIBRARY run autoreconf before building LIBRARY [no]
--redownload-LIBRARY download LIBRARY even it is detected as already downloaded [no]
--rebuild-LIBRARY build LIBRARY even it is detected as already built [no]
ios.sh
is called without any options. FFmpeg is built for all platforms without any external library support.
ios.sh
is called with --full
option. FFmpeg is built for all platforms with all external libraries enabled. Libraries with GPL license are not included in this option.
ios.sh
is called with a series of --enable-*
, --disable-*
, --reconf-*
and --rebuild-*
options. Options define which platforms and libraries will be built, which libraries will be reconfigured or rebuilt.
Copyright (c) 2018-2021 MobileFFmpeg