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

tvos.sh

Taner Şener edited this page Jul 27, 2020 · 6 revisions

tvos.sh builds FFmpeg and MobileFFmpeg for tvOS platform.

By default two architectures (arm64 and x86-64) 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, framework bundles and universal fat binaries are created under the prebuilt folder.

Options can be used to disable architectures and/or enable external libraries.

Usage: ./tvos.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.2+ devices
  -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-arm64		do not build arm64 platform [yes]
  --disable-x86-64		do not build x86-64 platform [yes]

Libraries:
  --full			enables all non-GPL external libraries
  --enable-tvos-audiotoolbox	build with built-in Apple AudioToolbox support[no]
  --enable-tvos-bzip2		build with built-in bzip2 support[no]
  --enable-tvos-videotoolbox	build with built-in Apple VideoToolbox support[no]
  --enable-tvos-zlib		build with built-in zlib [no]
  --enable-tvos-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]

Example Usage

1. Default build

tvos.sh is called without any options. FFmpeg is built for both platforms without any external library support.

2. Full build

tvos.sh is called with --full option. FFmpeg is built for both platforms with all external libraries enabled. Libraries with GPL license are not included in this option.

3. Custom build

tvos.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.

Clone this wiki locally