(Translated by https://www.hiragana.jp/)
GitHub - wang-bin/avbuild: ffmpeg花式编译. build tool for all platforms: iOS, android, raspberry pi, win32, uwp, linux, macOS etc.
Skip to content

ffmpegはなしき编译. build tool for all platforms: iOS, android, raspberry pi, win32, uwp, linux, macOS etc.

License

Notifications You must be signed in to change notification settings

wang-bin/avbuild

Repository files navigation

It's a tool to build ffmpeg for almost all platforms.

How: https://github.com/wang-bin/avbuild/wiki

Download prebuilt packages

Totoal Downloads

Lite build of FFmpeg master branch (recommended):

Android, Apple, Linux, VS2022 Desktop, VS2022 UWP, Clang Windows Desktop

FFmpeg releases and others: https://sourceforge.net/projects/avbuild/files

Build Details:

Linux, android, macOS, iOS, raspberry pi(legacy OSes), windows build:Build status github Build Status, CircleCI

Features

  • Support single FFmpeg shared library: ffmpeg.dll, libffmpeg.so, libffmpeg.dylib, FFmpeg.xcframework
  • modern toolchain support: clang+lld, cross build for almost all platforms on any host OS
  • multiple targets build and configure simultaneously
  • ssl
  • enable all gpu decoders and encoders if possible
  • nvidia driver version is not limited(nvcuvid, nvdec, nvenc)
  • ffmpeg patches
  • Universal binaries for apple platforms, including apple sillicon support

Build Matrix

CC/H?X/OS Linux Android macOS iOS RPi Win32 WinStore WinPhone
Clang H C A+H A+C H+C
Clang+LLD H C ? A+H+C A+H+C.
MINGW or VCRT120+
A+H+C A+C
GCC H C H H+C H+C
VS2013/15 H H C
VS2017+ H H
  • A: Apple clang
  • H: host build. Clang is open source clang
  • C: cross build (for example, build win32 from linux/macOS using mingw, build rpi from windows/linux/macOS using gcc and clang)
  • ?: in plan
  • Empty: won't support

Fork and Custom Build by Github Actions

You can request to add your configuration. If not accepted, customize yourself and build by github actions

  • Fork the repo
  • Set actions variables used by workflows in github repo settings
    • FF_VER: master, or version, e.g. 7.0, 6.1
    • LINUX_SYSROOT_ID: any characters, used to update sysroot cache
    • LLVM_VER: llvm version, e.g. 20, used by linux and windows build. Available versions can be found in https://apt.llvm.org
    • VCVER: msvcrt version, e.g. 14.28.29333. used by windows clang build
    • WINSDKVER: windows sdk version, e.g. 10.0.22621.0. used by windows clang build
    • VC_LTL_VER: VC-LTL5 version, e.g. 5.1.1. used by windows build with LTL
  • Edit workflow files(build.yml, build_gpl.yml). Remove unused jobs, e.g. sourceforge upload
  • Download ffmpeg binaries from workflow artifacts

TODO

  • Azure pipeline/github action: vs2022+WSL