FFmpeg3.4.2编译配置说明文档

Help options : 帮助选项

options
–help 打印此消息 rint this message
–quiet 抑制显示丰富的输出 Suppress showing informative output
–list-decoders 显示所有可用的解码器 show all available decoders
–list-encoders 显示所有可用的编码器 show all available encoders
–list-hwaccels 显示所有可用的硬件加速器 show all available hardware accelerators
–list-demuxers 显示所有可用的分流器 show all available demuxers
–list-muxers 显示所有可用的muxers show all available muxers
–list-parsers 显示所有可用的解析器 show all available parsers
–list-protocols 显示所有可用的协议 show all available protocols
–list-bsfs 显示所有可用的比特流筛选器 show all available bitstream filters
–list-indevs 显示所有可用的输入设备 show all available input devices
–list-outdevs 显示所有可用的输出设备 show all available output devices
–list-filters 显示所有可用过滤器 show all available filters

Standard options : 标准选项

options
–logfile=FILE 记录测试并输出到FILE [ffbuild/config.log] log tests and output to FILE [ffbuild/config.log]
–disable-logging 不要记录配置调试信息 do not log configure debug information
–fatal-warnings 如果生成任何配置警告,则失败 fail if any configure warning is generated
–prefix=PREFIX 安装在PREFIX [/usr/local] install in PREFIX [/usr/local]
–bindir=DIR 在DIR中安装二进制文件[PREFIX/bin] install binaries in DIR [PREFIX/bin]
–datadir=DIR 在DIR中安装数据文件[PREFIX/share/ffmpeg] install data files in DIR [PREFIX/share/ffmpeg]
–docdir=DIR 在DIR中安装文档[PREFIX/share/doc/ffmpeg] install documentation in DIR [PREFIX/share/doc/ffmpeg]
–libdir=DIR 在DIR中安装库[PREFIX/lib] install libs in DIR [PREFIX/lib]
–shlibdir=DIR 在DIR [LIBDIR]中安装共享库 install shared libs in DIR [LIBDIR]
–incdir=DIR 安装包含在DIR [PREFIX/include] install includes in DIR [PREFIX/include]
–mandir=DIR 在DIR中安装手册页[PREFIX/share/man] install man page in DIR [PREFIX/share/man]
–pkgconfigdir=DIR 在DIR [LIBDIR/pkgconfig]中安装pkg-config文件 install pkg-config files in DIR [LIBDIR/pkgconfig]
–enable-rpath 使用rpath允许在路径中安装库不是动态链接器搜索路径的一部分链接程序时使用rpath(USE WITH CARE) not part of the dynamic linker search path use rpath when linking programs (USE WITH CARE)
–install-name-dir=DIR 达尔文安装目标的目录名称. Darwin directory name for installed targets

Licensing options : 许可选项

options
–enable-gpl 允许使用GPL代码,由此产生的库和二进制文件将在GPL [no] allow use of GPL code, the resulting libs and binaries will be under GPL [no]
–enable-version3 升级(L)GPL到版本3 [否] upgrade (L)GPL to version 3 [no]
–enable-nonfree 允许使用非自由代码,生成的库和二进制文件将是不可分发的[no] allow use of nonfree code, the resulting libs and binaries will be unredistributable [no]

Configuration options : 配置选项

options
–disable-static 不建立静态库[no] do not build static libraries [no]
–enable-shared 建立共享库[no] build shared libraries [no]
–enable-small 优化大小而不是速度 optimize for size instead of speed
–disable-runtime-cpudetect 禁用在运行时检测CPU功能(较小的二进制) disable detecting CPU capabilities at runtime (smaller binary)
–enable-gray 启用全灰度支持(较慢的颜色) enable full grayscale support (slower color)
–disable-swscale-alpha 禁用swscale中的alpha通道支持 disable alpha channel support in swscale
–disable-all 禁用构建组件,库和程序 disable building components, libraries and programs
–disable-autodetect 禁用自动检测到的外部库[否] disable automatically detected external libraries [no]

Program options : 程序选项

options
–disable-programs 不要建立命令行程序 do not build command line programs
–disable-ffmpeg 禁用ffmpeg构建 disable ffmpeg build
–disable-ffplay 禁用ffplay构建 disable ffplay build
–disable-ffprobe 禁用ffprobe构建 disable ffprobe build

Documentation options : 文档选项

options
–disable-doc 不要构建文档 do not build documentation
–disable-htmlpages 不要构建HTML文档页面 do not build HTML documentation pages
–disable-manpages 不要建立man文档页面 do not build man documentation pages
–disable-podpages 不要构建POD文档页面 do not build POD documentation pages
–disable-txtpages 不要构建文本文档页面 do not build text documentation pages

Component options : 组件选项

options
–disable-avdevice 禁用libavdevice构建 disable libavdevice build
–disable-avcodec 禁用libavcodec构建 disable libavcodec build
–disable-avformat 禁用libavformat构建 disable libavformat build
–disable-swresample 禁用libswresample构建 disable libswresample build
–disable-swscale 禁用libswscale构建 disable libswscale build
–disable-postproc 禁用libpostproc构建 disable libpostproc build
–disable-avfilter 禁用libavfilter构建 disable libavfilter build
–enable-avresample 启用libavresample构建(不建议使用)[no] enable libavresample build (deprecated) [no]
–disable-pthreads 禁用pthreads [autodetect] disable pthreads [autodetect]
–disable-w32threads 禁用Win32线程[autodetect] disable Win32 threads [autodetect]
–disable-os2threads 禁用OS/2线程[autodetect] disable OS/2 threads [autodetect]
–disable-network 禁用网络支持[no] disable network support [no]
–disable-dct 禁用DCT代码 disable DCT code
–disable-dwt 禁用DWT代码 disable DWT code
–disable-error-resilience 禁用错误恢复代码 disable error resilience code
–disable-lsp 禁用LSP代码 disable LSP code
–disable-lzo 禁用LZO解码器代码 disable LZO decoder code
–disable-mdct 禁用MDCT代码 disable MDCT code
–disable-rdft 禁用RDFT代码 disable RDFT code
–disable-fft 禁用FFT代码 disable FFT code
–disable-faan 禁用浮点AAN(I)DCT代码 disable floating point AAN (I)DCT code
–disable-pixelutils 禁用libavutil中的像素实用程序 disable pixel utils in libavutil

Individual component options : 单个组件选项

options
–disable-everything 禁用下面列出的所有组件 disable all components listed below
–disable-encoder=NAME 禁用编码器名称 disable encoder NAME
–enable-encoder=NAME 启用编码器名称 enable encoder NAME
–disable-encoders 禁用所有编码器 disable all encoders
–disable-decoder=NAME 禁用解码器名称 disable decoder NAME
–enable-decoder=NAME 启用解码器名称 enable decoder NAME
–disable-decoders 禁用所有解码器 disable all decoders
–disable-hwaccel=NAME 禁用hwaccel名称 disable hwaccel NAME
–enable-hwaccel=NAME 启用hwaccel名称 enable hwaccel NAME
–disable-hwaccels 禁用所有hwaccels disable all hwaccels
–disable-muxer=NAME 禁用muxer名称 disable muxer NAME
–enable-muxer=NAME 启用muxer名称 enable muxer NAME
–disable-muxers 禁用所有muxers disable all muxers
–disable-demuxer=NAME 禁用分路器名称 disable demuxer NAME
–enable-demuxer=NAME 启用分路器名称 enable demuxer NAME
–disable-demuxers 禁用所有分路器 disable all demuxers
–enable-parser=NAME 启用解析器名称 enable parser NAME
–disable-parser=NAME 禁用解析器名称 disable parser NAME
–disable-parsers 禁用所有解析器 disable all parsers
–enable-bsf=NAME 启用比特流筛选器名称 enable bitstream filter NAME
–disable-bsf=NAME 禁用比特流筛选器名称 disable bitstream filter NAME
–disable-bsfs 禁用所有比特流筛选器 disable all bitstream filters
–enable-protocol=NAME 启用协议名称 enable protocol NAME
–disable-protocol=NAME 禁用协议名称 disable protocol NAME
–disable-protocols 禁用所有协议 disable all protocols
–enable-indev=NAME 启用输入设备名称 enable input device NAME
–disable-indev=NAME 禁用输入设备名称 disable input device NAME
–disable-indevs 禁用输入设备 disable input devices
–enable-outdev=NAME 启用输出设备名称 enable output device NAME
–disable-outdev=NAME 禁用输出设备名称 disable output device NAME
–disable-outdevs 禁用输出设备 disable output devices
–disable-devices 禁用所有设备 disable all devices
–enable-filter=NAME 启用过滤器名称 enable filter NAME
–disable-filter=NAME 禁用过滤器名称 disable filter NAME
–disable-filters 禁用所有过滤器 disable all filters

External library support : 外部库支持

  • 使用以下任何开关将允许FFmpeg链接到相应的外部库。 所有依赖于该库的组件都将被启用,如果所有其他依赖项都满足并且它们未被明确禁用。 例如。 –enable-libwavpack将启用链接到libwavpack并允许编译libwavpack编码器,除非它是通过–disable-encoder = libwavpack特别禁用的。
  • 请注意,只有系统库被自动检测到。 所有其他外部库必须明确启用。
  • 另请注意,以下帮助文本描述了库本身的用途,并非所有功能都必须由FFmpeg使用。

  • Using any of the following switches will allow FFmpeg to link to the corresponding external library. All the components depending on that library will become enabled, if all their other dependencies are met and they are not explicitly disabled. E.g. –enable-libwavpack will enable linking to libwavpack and allow the libwavpack encoder to be built, unless it is specifically disabled with –disable-encoder=libwavpack.

  • Note that only the system libraries are auto-detected. All the other external libraries must be explicitly enabled.
  • Also note that the following help text describes the purpose of the libraries themselves, not all their features will necessarily be usable by FFmpeg.

以下库提供了各种硬件加速功能

options
–disable-amf 禁用AMF视频编码代码[autodetect] disable AMF video encoding code [autodetect]
–disable-audiotoolbox 禁用Apple AudioToolbox代码[autodetect] disable Apple AudioToolbox code [autodetect]
–enable-cuda-sdk 启用需要CUDA SDK的CUDA功能[否] enable CUDA features that require the CUDA SDK [no]
–disable-cuvid 禁用Nvidia CUVID支持[autodetect] disable Nvidia CUVID support [autodetect]
–disable-d3d11va 禁用Microsoft Direct3D 11视频加速代码[autodetect] disable Microsoft Direct3D 11 video acceleration code [autodetect]
–disable-dxva2 禁用Microsoft DirectX 9视频加速代码[autodetect] disable Microsoft DirectX 9 video acceleration code [autodetect]
–disable-ffnvcodec 禁用动态链接的Nvidia代码[autodetect] disable dynamically linked Nvidia code [autodetect]
–enable-libdrm 启用DRM代码(Linux)[no] enable DRM code (Linux) [no]
–enable-libmfx 通过libmfx启用Intel MediaSDK(AKA快速同步视频)代码[no] enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
–enable-libnpp 启用基于Nvidia Performance Primitives的代码[no] enable Nvidia Performance Primitives-based code [no]
–enable-mmal 通过MMAL启用Broadcom多媒体抽象层(树莓派)[no] enable Broadcom Multi-Media Abstraction Layer (Raspberry Pi) via MMAL [no]
–disable-nvdec 禁用Nvidia视频解码加速(通过hwaccel)[autodetect] disable Nvidia video decoding acceleration (via hwaccel) [autodetect]
–disable-nvenc 禁用Nvidia视频编码代码[autodetect] disable Nvidia video encoding code [autodetect]
–enable-omx 启用OpenMAX IL代码[no] enable OpenMAX IL code [no]
–enable-omx-rpi 为Raspberry Pi启用OpenMAX IL代码[no] enable OpenMAX IL code for Raspberry Pi [no]
–enable-rkmpp 启用瑞芯微媒体处理平台代码[no] enable Rockchip Media Process Platform code [no]
–disable-v4l2-m2m 禁用V4L2 mem2mem代码[autodetect] disable V4L2 mem2mem code [autodetect]
–disable-vaapi 禁用Video Acceleration API(主要是Unix / Intel)代码[autodetect] disable Video Acceleration API (mainly Unix/Intel) code [autodetect]
–disable-vdpau 禁用用于Unix代码的Nvidia视频解码和演示API [autodetect] disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
–disable-videotoolbox 禁用VideoToolbox代码[autodetect] disable VideoToolbox code [autodetect]

Toolchain options : 工具链选项

Advanced options (experts only): 高级选项(仅限专家)

Optimization options (experts only): 优化选项(仅限专家)

options
–disable-asm 禁用所有程序集优化 disable all assembly optimizations
–disable-altivec 禁用AltiVec优化 disable AltiVec optimizations
–disable-vsx 禁用VSX优化 disable VSX optimizations
–disable-power8 禁用POWER8优化 disable POWER8 optimizations
–disable-amd3dnow 禁用3DNow!优化 disable 3DNow! optimizations
–disable-amd3dnowext 禁用3DNow!扩展优化 disable 3DNow! extended optimizations
–disable-mmx 禁用MMX优化 disable MMX optimizations
–disable-mmxext 禁用MMXEXT优化 disable MMXEXT optimizations
–disable-sse 禁用SSE优化 disable SSE optimizations
–disable-sse2 禁用SSE2优化 disable SSE2 optimizations
–disable-sse3 禁用SSE3优化 disable SSE3 optimizations
–disable-ssse3 禁用SSSE3优化 disable SSSE3 optimizations
–disable-sse4 禁用SSE4优化 disable SSE4 optimizations
–disable-sse42 禁用SSE4.2优化 disable SSE4.2 optimizations
–disable-avx 禁用AVX优化 disable AVX optimizations
–disable-xop 禁用XOP优化 disable XOP optimizations
–disable-fma3 禁用FMA3优化 disable FMA3 optimizations
–disable-fma4 禁用FMA4优化 disable FMA4 optimizations
–disable-avx2 禁用AVX2优化 disable AVX2 optimizations
–disable-avx512 禁用AVX-512优化 disable AVX-512 optimizations
–disable-aesni 禁用AESNI优化 disable AESNI optimizations
–disable-armv5te 禁用armv5te优化 disable armv5te optimizations
–disable-armv6 禁用armv6优化 disable armv6 optimizations
–disable-armv6t2 禁用armv6t2优化 disable armv6t2 optimizations
–disable-vfp 禁用VFP优化 disable VFP optimizations
–disable-neon 禁用NEON优化 disable NEON optimizations
–disable-inline-asm 禁用内联汇编的使用 disable use of inline assembly
–disable-x86asm 禁用独立x86程序集的使用 disable use of standalone x86 assembly
–disable-mipsdsp 禁用MIPS DSP ASE R1优化 disable MIPS DSP ASE R1 optimizations
–disable-mipsdspr2 禁用MIPS DSP ASE R2优化 disable MIPS DSP ASE R2 optimizations
–disable-msa 禁用MSA优化 disable MSA optimizations
–disable-mipsfpu 禁用浮点MIPS优化 disable floating point MIPS optimizations
–disable-mmi 禁用龙芯SIMD优化 disable Loongson SIMD optimizations
–disable-fast-unaligned 考虑未对齐的访问速度缓慢 consider unaligned accesses slow

Developer options (useful when working on FFmpeg itself): 开发人员选项(在FFmpeg本身工作时很有用)

options
–disable-debug 禁用调试符号 disable debugging symbols
–enable-debug=LEVEL 设置调试级别[] set the debug level []
–disable-optimizations 禁用编译器优化 disable compiler optimizations
–enable-extra-warnings 启用更多编译器警告 enable more compiler warnings
–disable-stripping 禁用可执行文件和共享库的剥离 disable stripping of executables and shared libraries
–assert-level=level 0(默认),1或2,断言测试的数量,2在运行时导致减速。 0(default), 1 or 2, amount of assertion testing, 2 causes a slowdown at runtime.
–enable-memory-poisoning 用任意数据填充堆未初始化的分配空间 fill heap uninitialized allocated space with arbitrary data
–valgrind=VALGRIND 使用指定的valgrind二进制文件,通过valgrind运行“make fate”测试来检测内存泄漏和错误。不能与–target-exec结合使用 run “make fate” tests through valgrind to detect memory leaks and errors, using the specified valgrind binary. Cannot be combined with –target-exec
–enable-ftrapv 陷阱算术溢出 Trap arithmetic overflows
–samples=PATH FATE的测试样本的位置,如果未设置,则在调用时使用 FATESAMPLES|locationoftestsamplesforFATE,ifnotsetuse F A T E S A M P L E S 。 | l o c a t i o n o f t e s t s a m p l e s f o r F A T E , i f n o t s e t u s e FATE_SAMPLES at make invocation time.
–enable-neon-clobber-test 检查NEON寄存器是否存在破坏(应仅用于调试目的) check NEON registers for clobbering (should be used only for debugging purposes)
–enable-xmm-clobber-test 检查XMM寄存器是否存在破坏(仅适用于Win64;应仅用于调试目的) check XMM registers for clobbering (Win64-only; should be used only for debugging purposes)
–enable-random 启用随机组件 randomly enable/disable components
–disable-random 禁用随机组件
–enable-random=LIST 随机启用/禁用特定组件或 randomly enable/disable specific components or
–disable-random=LIST 组件组。 LIST是NAME [:PROB]条目的逗号分隔列表,其中NAME是组件,PROB是与NAME相关的概率(默认值为0.5)。 component groups. LIST is a comma-separated list of NAME[:PROB] entries where NAME is a component (group) and PROB the probability associated with NAME (default 0.5).
–random-seed=VALUE 种子值为–enable / disable-random seed value for –enable/disable-random
–disable-valgrind-backtrace 不要在Valgrind下打印回溯(仅适用于–disable-optimizations构建) do not print a backtrace under Valgrind (only applies to –disable-optimizations builds)
–enable-osfuzz 启用构建模糊工具 Enable building fuzzer tool
–libfuzzer=PATH 通往libfuzzer的路径 path to libfuzzer
–ignore-tests=TESTS 以逗号分隔的列表(名称中没有“命运 - ”前缀),其结果被忽略 comma-separated list (without “fate-” prefix in the name) of tests whose result is ignored
–enable-linux-perf 启用Linux性能监视器API enable Linux Performance Monitor API

NOTE: Object files are built at the place where configure is launched.

注:对象文件是在启动配置的位置构建的。

你可能感兴趣的:(ffmpeg)