帮助选项
--help 打印此消息
--quiet 抑制显示信息输出
--list-decoders 显示所有可用的解码器
--list-encoders 显示所有可用的编码器
--list-hwaccels 显示所有可用的硬件加速器
--list-demuxers 显示所有可用的解复用器
--list-muxers 显示所有可用的复用器
--list-parsers 显示所有可用的解析器
--list-protocols 显示所有可用的协议
--list-bsfs 显示所有可用的比特流过滤器
--list-indevs 显示所有可用的输入设备
--list-outdevs 显示所有可用的输出设备
--list-filters 显示所有可用的过滤器
标准选项
--logfile = FILE 日志测试并输出到FILE [ffbuild / config.log]
--disable-logging 不记录配置调试信息,如果生成任何配置警告,
则-fatal-warnings将失败
--prefix = PREFIX 安装在PREFIX [/ usr / local]
-bindir = DIR 在DIR [PREFIX / bin]中安装二进制文件
-datadir = DIR 在DIR中安装数据文件[PREFIX / share / ffmpeg]
-docdir = DIR DIR安装文档[PREFIX / share / doc / ffmpeg]
--libdir = DIR 在DIR [PREFIX / lib]中安装库
--shlibdir = DIR 在DIR [LIBDIR]中安装共享库
--incdir = DIR 安装包含在DIR [PREFIX / include]中
--mandir = DIR 在DIR中安装手册页[PREFIX / share / man]
--pkgconfigdir = DIR 在DIR中安装pkg-config文件[LIBDIR / pkgconfig]
--enable-rpath 使用rpath允许在路径中安装库
不属于动态链接器搜索路径的一部分
链接程序时使用rpath(USE WITH CARE)
--install-name-dir = 已安装目标的DIR Darwin目录名
许可选项
--enable-gpl 允许使用GPL代码,生成的库
和二进制文件将在GPL下[no]
--enable-version3 升级(L)GPL到版本3 [no]
--enable-nonfree 允许使用非自由代码,生成的库
和二进制文件将是不可分发的[不]
配置选项
--disable-static 不构建静态库[no]
--enable-shared 构建共享库[no]
--enable-small 优化尺寸而不是速度
--disable-runtime-cpudetect禁用在运行时检测CPU功能(较小的二进制)
--enable-grey 启用全灰度支持(较慢的颜色)
--disable-swscale-alpha 禁用swscale中的alpha通道支持
--disable-all 禁用构建组件,库和程序
--disable-autodetect 禁用自动检测到的外部库[no]
计划选项
--disable-programs 不构建命令行程序
--disable-ffmpeg 禁用ffmpeg构建
--disable-ffplay 禁用ffplay构建
--disable-ffprobe 禁用ffprobe构建
文档选项
--disable-doc 不构建文档
--disable-htmlpages 不构建HTML文档页面
--disable-manpages 不构建man文档页面
--disable-podpages 不构建POD文档页面
--disable-txtpages 不构建文本文档页面
组件选项
--disable-avdevice 禁用libavdevice构建
--disable-avcodec 禁用libavcodec构建
--disable-avformat 禁用libavformat构建
--disable-swresample 禁用libswresample build
--disable-swscale 禁用libswscale构建
--disable-postproc 禁用libpostproc构建
--disable-avfilter 禁用libavfilter构建
--enable-avresample 启用libavresample build(不建议使用)[no]
--disable-pthreads 禁用pthreads [autodetect]
--disable-w32threads 禁用Win32线程[autodetect]
--disable-os2threads 禁用OS / 2线程[autodetect]
--disable-network 禁用网络支持[否]
--disable-dct 禁用DCT代码
--disable-dwt 禁用DWT代码
--disable-error-resilience 禁用错误恢复代码
--disable-lsp 禁用LSP代码
--disable-lzo 禁用LZO解码器代码
--disable-mdct 禁用MDCT代码
--disable-rdft 禁用RDFT代码
--disable-fft 禁用FFT代码
--disable-faan 禁用浮点AAN(I)DCT代码
--disable-pixelutils 禁用libavutil中的pixel utils
个别组件选项
--disable-everything 禁用下面列出的所有组件
--disable-encoder = NAME 禁用编码器名称
--enable-encoder = NAME 启用编码器NAME
--disable-encoders 禁用所有编码器
--disable-decoder = NAME 禁用解码器NAME
--enable-decoder = NAME 启用解码器NAME
--disable-decoders 禁用所有解码器
--disable-hwaccel = NAME 禁用hwaccel NAME
--enable-hwaccel = NAME 启用hwaccel NAME
--disable-hwaccels 禁用所有hwaccel
--disable-muxer = NAME 禁用muxer NAME
--enable-muxer = NAME 启用muxer NAME
--disable-muxers 禁用所有复用器
--disable-demuxer = NAME 禁用demuxer NAME
--enable-demuxer = NAME 启用解复用程序NAME
--disable-demuxers 禁用所有解复用器
--enable-parser = NAME 启用解析器NAME
--disable-parser = NAME 禁用解析器NAME
--disable-parsers 禁用所有解析器
--enable-bsf = NAME 启用比特流过滤器NAME
--disable-bsf = NAME 禁用比特流过滤器NAME
--disable-bsfs 禁用所有比特流过滤器
--enable-protocol = NAME 启用协议NAME
--disable-protocol = NAME 禁用协议名称
--disable-protocols 禁用所有协议
--enable-indev = NAME 启用输入设备NAME
--disable-indev = NAME 禁用输入设备NAME
--disable-indevs 禁用输入设备
--enable-outdev = NAME 启用输出设备NAME
--disable-outdev = NAME 禁用输出设备NAME
--disable-outdevs 禁用输出设备
--disable-devices 禁用所有设备
--enable-filter = NAME 启用过滤器NAME
--disable-filter = NAME 禁用过滤器名称
--disable-filters 禁用所有过滤器
外部库支持
使用以下任何一个开关将允许FFmpeg链接到
相应的外部库。所有组件都依赖于该库
如果所有其他依赖项都得到满足而未满足,则将启用
明确禁用。例如。 –enable-libwavpack将启用链接
libwavpack并允许构建libwavpack编码器,除非它是
使用–disable-encoder = libwavpack专门禁用。
请注意,仅自动检测系统库。所有其他外部
必须明确启用库。
另请注意,以下帮助文本描述了库的用途
他们自己并非所有功能都必须由FFmpeg使用
--disable-alsa 禁用ALSA支持[autodetect]
--disable-appkit 禁用Apple AppKit框架[autodetect]
--disable-avfoundation 禁用Apple AVFoundation框架[autodetect]
--enable-avisynth 可以读取AviSynth脚本文件[no]
--disable-bzlib disable bzlib [autodetect]
--disable-coreimage 禁用Apple CoreImage框架[autodetect]
--enable-chromaprint 启用带色度的音频指纹识别[no]
--enable-frei0r 启用frei0r视频过滤[no]
--enable-gcrypt 启用gcrypt,rtmp(t)e支持所需
如果没有使用openssl,librtmp或gmp [no]
--enable-gmp 启用gmp,rtmp(t)e支持所需
如果没有使用openssl或librtmp [no]
--enable-gnutls 支持https支持所需的gnutls
如果没有使用openssl或libtls [no]
--disable-iconv 禁用iconv [autodetect]
--enable-jni 启用JNI支持[no]
--enable-ladspa 启用LADSPA音频过滤[否]
--enable-libaom 通过libaom启用AV1视频编码/解码[no]
--enable-libass 启用libass字幕渲染,
字幕和屁股过滤所需[no]
--enable-libbluray 使用libbluray启用BluRay读取[no]
--enable-libbs2b 启用bs2b DSP库[no]
--enable-libcaca 使用libcaca启用文本显示[no]
--enable-libcelt 通过libcelt启用CELT解码[no]
--enable-libcdio 启用音频CD抓取libcdio [no]
--enable-libcodec2 使用libcodec2启用codec2 en / decode [no]
--enable-libdc1394 使用libdc1394启用IIDC-1394
和libraw1394 [no]
--enable-libfdk-aac 通过libfdk-aac启用AAC de / encoding [no]
--enable-libflite 通过libflite启用flite(语音合成)支持[no]
--enable-libfontconfig 启用libfontconfig,对drawtext过滤器很有用[no]
--enable-libfreetype 启用libfreetype,drawtext过滤器需要[no]
--enable-libfribidi 启用libfribidi,改进了drawtext过滤器[no]
--enable-libgme 通过libgme启用游戏音乐Emu [no]
--enable-libgsm 通过libgsm启用GSM de / encoding [no]
--enable-libiec61883 通过libiec61883启用iec61883 [no]
--enable-libilbc 通过libilbc启用iLBC de / encoding [no]
--enable-libjack 启用JACK音频声音服务器[否]
--enable-libkvazaar 通过libkvazaar启用HEVC编码[no]
--enable-libmodplug 通过libmodplug启用ModPlug [no]
--enable-libmp3lame 通过libmp3lame启用MP3编码[no]
--enable-libopencore-amrnb 通过libopencore-amrnb启用AMR-NB
de / encoding [no]
--enable-libopencore-amrwb 通过libopencore-amrwb启用AMR-WB解码[no]
--enable-libopencv 通过libopencv启用视频过滤[no]
--enable-libopenh264 通过OpenH264启用H.264编码[no]
--enable-libopenjpeg 通过OpenJPEG启用JPEG 2000 de / encoding [no]
--enable-libopenmpt 通过libopenmpt启用解码跟踪文件[no]
--enable-libopus 通过libopus启用Opus de / encoding [no]
--enable-libpulse 通过libpulse启用Pulseaudio输入[no]
--enable-librsvg 通过librsvg启用SVG光栅化[no]
--enable-librubberband 启用橡皮带过滤器所需的橡皮带[no]
--enable-librtmp 通过librtmp [no]启用RTMP [E]支持
--enable-libshine 通过libshine启用定点MP3编码[no]
--enable-libsmbclient 通过libsmbclient启用Samba协议[no]
--enable-libsnappy 启用Snappy压缩,用于hap编码[no]
--enable-libsoxr enable包含libsoxr重采样[no]
--enable-libspeex 通过libspeex启用Speex de / encoding [no]
--enable-libsrt 通过libsrt启用Haivision SRT协议[no]
--enable-libssh 通过libssh启用SFTP协议[no]
--enable-libtesseract 启用tesseract,ocr过滤器需要[no]
--enable-libtheora 通过libtheora启用Theora编码[no]
--enable-libtls 启用了LibreSSL(通过libtls),这是
https支持所必需的
如果没有使用openssl或gnutls [no]
--enable-libtwolame 通过libtwolame启用MP2编码[no]
--enable-libv4l2 启用libv4l2 / v4l-utils [no]
--enable-libvidstab 使用vid.stab [no]启用视频稳定
--enable-libvmaf 通过libvmaf启用vmaf过滤器[no]
--enable-libvo-amrwbenc 通过libvo-amrwbenc [no]启用AMR-WB编码
--enable-libvorbis 通过libvorbis启用Vorbis en /解码,
本机实现存在[否]
--enable-libvpx 通过libvpx启用VP8和VP9 de / encoding [no]
--enable-libwavpack 通过libwavpack启用wavpack编码[no]
--enable-libwebp 通过libwebp启用WebP编码[no]
--enable-libx264 通过x264启用H.264编码[no]
--enable-libx265 通过x265启用HEVC编码[no]
--enable-libxavs 通过xavs启用AVS编码[no]
--enable-libxcb 使用XCB启用X11抓取[autodetect]
--enable-libxcb-shm 启用X11抓取shm通信[autodetect]
--enable-libxcb-xfixes 启用X11抓取鼠标渲染[autodetect]
--enable-libxcb-shape 启用X11抓取形状渲染[autodetect]
--enable-libxvid 通过xvidcore启用Xvid编码,
原生MPEG-4 / Xvid编码器存在[no]
--enable-libxml2 使用C库libxml2 [no]启用XML解析
--enable-libzimg 启用z.lib,zscale过滤器需要[no]
--enable-libzmq 启用通过libzmq传递的消息[no]
--enable-libzvbi 通过libzvbi启用图文电视支持[no]
--enable-lv2 启用LV2音频过滤[否]
--disable-lzma disable lzma [autodetect]
--enable-decklink 启用Blackmagic DeckLink I / O支持[no]
--enable-libndi_newtek 启用Newteck NDI I / O支持[no]
--enable-mediacodec 支持Android MediaCodec [no]
--enable-libmysofa 启用libmysofa,sofalizer过滤器需要[no]
--enable-openal 启用OpenAL 1.1捕获支持[no]
--enable-opencl 启用OpenCL处理[no]
--enable-opengl 启用OpenGL渲染[no]
--enable-openssl 启用openssl,https支持所需
如果不使用gnutls或libtls [no]
--disable-sndio 禁用sndio支持[autodetect]
--disable-schannel 禁用SChannel SSP,需要TLS支持
Windows如果没有使用openssl和gnutls [autodetect]
--disable-sdl2 禁用sdl2 [autodetect]
--disable-securetransport 禁用TLS支持所需的安全传输
在OSX上如果没有使用openssl和gnutls [autodetect]
--disable-xlib 禁用xlib [autodetect]
--disable-zlib 禁用zlib [autodetect]
工具链选项
--arch = ARCH select architecture []
--cpu = CPU 选择所需的最小CPU(影响
指令选择,可能会在较旧的CPU上崩溃)
--cross-prefix = PREFIX 使用PREFIX编译工具[]
--progs-suffix = SUFFIX 程序名后缀[]
--enable-cross-compile 假设使用了交叉编译器
--sysroot = 交叉构建树的PATH根
--sysinclude = 交叉构建系统头的PATH位置
--target-os = OS编译器目标OS []
--target-exec = CMD命令在目标上运行可执行文件
--target-path = 在目标上查看构建目录的DIR路径
--target-samples = 目标上样本目录的DIR路径
--tempprefix = PATH 强制修复dir /前缀而不是mktemp进行检查
--toolchain = NAME 根据NAME设置工具默认值
(gcc-asan,clang-asan,gcc-msan,clang-msan,
gcc-tsan,clang-tsan,gcc-usan,clang-usan,
valgrind-massif,valgrind-memcheck,
msvc,icl,gcov,llvm-cov,hardened)
--nm = NM 使用nm工具NM [nm -g]
--ar = AR 使用存档工具AR [ar]
--as = AS 使用汇编程序AS []
--ln_s = LN_S 使用符号链接工具LN_S [ln -s -f]
--strip = STRIP 使用剥离工具STRIP [strip]
--windres = WINDRES 使用windows资源编译器WINDRES [windres]
--x86asmexe = EXE 使用nasm兼容的汇编程序EXE [nasm]
--cc = CC 使用C编译器CC [gcc]
--cxx = CXX 使用C编译器CXX [g ++]
--objcc = OCC 使用ObjC编译器OCC [gcc]
--dep-cc = DEPCC 使用依赖关系生成器DEPCC [gcc]
--nvcc = NVCC 使用Nvidia CUDA编译器NVCC [nvcc]
--ld = LD 使用链接器LD []
--pkg-config = PKGCONFIG 使用pkg-config工具PKGCONFIG [pkg-config]
--pkg-config-flags = FLAGS将附加标志传递给pkgconf []
--ranlib = RANLIB 使用ranlib RANLIB [ranlib]
--doxygen = DOXYGEN 使用DOXYGEN生成API doc [doxygen]
--host-cc = HOSTCC 使用主机C编译器HOSTCC
--host-cflags = HCFLAGS 在编译主机时使用HCFLAGS
--host-cppflags = HCPPFLAGS在编译主机时使用HCPPFLAGS
--host-ld = HOSTLD 使用主机链接器HOSTLD
--host-ldflags = HLDFLAGS 在链接主机时使用HLDFLAGS
--host-libs = HLIBS 在链接主机时使用libs HLIBS
--host-os = OS 编译器主机OS []
--extra-cflags = ECFLAGS 将ECFLAGS添加到CFLAGS []
--extra-cxxflags = ECFLAGS将ECFLAGS添加到CXXFLAGS []
--extra-objcflags = FLAGS 将标志添加到OBJCFLAGS []
--extra-ldflags = ELDFLAGS将ELDFLAGS添加到LDFLAGS []
--extra-ldexeflags = ELDFLAGS将ELDFLAGS添加到LDEXEFLAGS []
--extra-ldsoflags = ELDFLAGS将ELDFLAGS添加到LDSOFLAGS []
--extra-libs = ELIBS add ELIBS []
--extra-version = STRING 版本字符串后缀[]
--optflags = OPTFLAGS 覆盖与优化相关的编译器标志
--nvccflags = NVCCFLAGS 覆盖nvcc标志[-gencode arch = compute_30,
code = sm_30 -O2]
--build-suffix = SUFFIX 库名后缀[]
--enable-pic 构建与位置无关的代码
Thumb指令集的--enable-thumb编译
--enable-lto 使用链接时优化
--env =“ENV = override” 覆盖环境变量
高级选项(仅限专家)
--malloc-prefix = PREFIX 前缀malloc和PREFIX的相关名称
--custom-allocator = NAME 使用受支持的自定义分配器
--disable-symver 禁用符号版本控制
--enable-hardcoded-tables 使用硬编码表而不是运行时生成
禁用安全比特流阅读器
在bitreaders中禁用缓冲区边界检查
(更快,但可能会崩溃)
--sws-max-filter-size = N swscale使用的最大过滤器大小[256]
优化选项(仅限专家)
--disable-asm 禁用所有程序集优化
--disable-altivec 禁用AltiVec优化
--disable-vsx 禁用VSX优化
--disable-power8 禁用POWER8优化
--disable-amd3dnow 禁用3DNow!优化
--disable-amd3dnowext 禁用3DNow!扩展优化
--disable-mmx 禁用MMX优化
--disable-mmxext 禁用MMXEXT优化
--disable-sse 禁用SSE优化
--disable-sse2 禁用SSE2优化
--disable-sse3 禁用SSE3优化
--disable-ssse3 禁用SSSE3优化
--disable-sse4 禁用SSE4优化
--disable-sse42 禁用SSE4.2优化
--disable-avx 禁用AVX优化
--disable-xop 禁用XOP优化
--disable-fma3 禁用FMA3优化
--disable-fma4 禁用FMA4优化
--disable-avx2 禁用AVX2优化
--disable-avx512 禁用AVX-512优化
--disable-aesni 禁用AESNI优化
--disable-armv5te 禁用armv5te优化
--disable-armv6 禁用armv6优化
--disable-armv6t2 禁用armv6t2优化
--disable-vfp 禁用VFP优化
--disable-neon 禁用NEON优化
--disable-inline-asm 禁用内联汇编
--disable-x86asm 禁用独立x86程序集
--disable-mipsdsp 禁用MIPS DSP ASE R1优化
--disable-mipsdspr2 禁用MIPS DSP ASE R2优化
--disable-msa 禁用MSA优化
--disable-mipsfpu 禁用浮点MIPS优化
--disable-mmi 禁用龙芯SIMD优化
--disable-fast-unaligned认为未对齐的访问速度很慢
开发人员选项(在处理FFmpeg时很有用)
--disable-debug 禁用调试符号
--enable-debug = LEVEL 设置调试级别[]
--disable-optimizations 禁用编译器优化
--enable-extra-warnings 可以启用更多编译器警告
--disable-stripping 禁用剥离可执行文件和共享库
--assert-level = 0级 (默认),1或2,断言测试量,
2导致运行时减速。
--enable-memory-poisoning fill heap未初始化的已分配空间和任意数据
--valgrind = VALGRIND 通过valgrind运行“make fate”测试来检测内存
泄漏和错误,使用指定的valgrind二进制文件。
不能与--target-exec结合使用
--enable-ftrapv 陷阱算术溢出
--samples = FATE的测试样本的PATH位置,如果没有设置使用
make调用时的$ FATE_SAMPLES。
--enable-neon-clobber-test检查NEON寄存器用于破坏(应该是
仅用于调试目的)
--enable-xmm-clobber-test 检查XMM注册用于clobbering(仅限Win64;
应该只用于调试目的)
--enable-random 随机启用/禁用组件
--disable 随机
--enable-random = LIST 随机启用/禁用特定组件或
--disable-random = LIST组件组 LIST是以逗号分隔的列表
NAME是组件的NAME [:PROB]条目
(组)和PROB相关的概率
NAME(默认为0.5)。
--random-seed = --enable / disable-random的VALUE种子值
--disable-valgrind-backtrace不会在Valgrind下打印回溯
(仅适用于--disable-optimizations构建)
--enable-osfuzz 启用构建模糊工具
--libfuzzer = libfuzzer的路径
--ignore-tests = TESTS 以逗号分隔的列表(没有“fate-”前缀
在名称中)的结果被忽略的测试
--enable-linux-perf 启用Linux性能监视器API