FFmpeg配置选项说明

帮助选项

   --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级	   (默认),12,断言测试量,
                           	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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值