Build ffmpeg with its dependencies from source, optionally with debugging support.
gcc
(orclang
on macosx)- automake/autotools
- cmake
- ninja
- meson
- yasm
- nasm
- conan, optionally for
ios/android
- Bear, optionally for debugging via vscode/clangd
Refer to linux-debian10.dockerfile/linux-debian11.dockerfile to install prerequisites.
# (optional) enable debug
export FFMPEG_BUILD_TYPE=Debug
# build
./buildtools/scripts/build.sh
Refer to build-mac.yml to install prerequisites.
# (optional) enable debug
export FFMPEG_BUILD_TYPE=Debug
# build
./buildtools/scripts/build.sh
Refer to build-win.yml to install prerequisites.
# (optional) enable debug
export FFMPEG_BUILD_TYPE=Debug
# build
./buildtools/scripts/build.sh
export XXX=YYY
before run ./buildtools/scripts/build.sh
to leverage following env options.
name | available values | default value | comments |
---|---|---|---|
FFMPEG_BUILD_TYPE |
Release , Debug |
Release |
build type for ffmpeg |
FFMPEG_ENABLE_FATE_TESTS |
true , false |
false |
whether enable ffmpeg fate tests |
FFMPEG_TOOLCHAIN_COVERAGE |
true , false |
false |
configure ffmpeg with --toolchain=gcov , see more in 9.2 Visualizing Test Coverage. |
FFMPEG_TOOLCHAIN_VALGRIND_MEMCHECK |
true , false |
false |
configure ffmpeg with --toolchain=valgrind-memcheck , see more in 9.3 Using Valgrind. |