FFmpeg configure

FFmpeg configure


FFmpeg上一篇写了运行引用大神的额编译脚本的哥哥参数的和linux下面的命令的含义,这里列出函数内configure各个参数的含义。

Configure
Usage:configure [options]
Options: [defaults in brackets after description]

Help options:

OPTIONSDESCRIPTION描述
–helpprint this message显示帮助文档
–list-decodersshow all available decoders展示所有的解码器
–list-encodersshow all available encoders展示所有的编码器
–list-hwaccelsshow all available hardware accelerators展示所有的硬件加速器
–list-demuxersshow all available demuxers展示所有的解复用器
–list-muxersshow all available muxers展示所有的复用器
–list-parsersshow all available parsers展示所有的解析器
–list-protocolsshow all available protocols展示所有的协议
–list-bsfsshow all available bitstreamfilters??
–list-indevsshow all available inputdevices展示所有的输入设备
–list-outdevsshow all available outputdevices展示所有的输出设备
–list-filtersshow all available filters展示所有的过滤器

Standard options:

OPTIONSDESCRIPTION描述
–logfile=filelog tests and output to FILE[config.log]输出日志
–disable-loggingdo not log configure debug information不记录日志
–fatal-warningsfail if any configure warning is generated严重警告
–prefix=PREFIXinstall in PREFIX[]安装目录的前缀
–bindir=DIRinstall binaries in DIR[PREFIX/bin]二进制文件目录
–datadir=DIRinstall data files in DIR[PREFIX/share/ffmpeg]??文件目录
–docdir=DIRinstall documentation in DIR[PREFIX/share/doc/ffmepg]文档目录
–libdir=DIRinstall libs in DIR[PREFIX/lib]库文件目录
–shlibdir=DIRinstall shared libs in DIR[LIBDIR]动态库文件目录
–incdir=DIRinstall includes in DIR[PREFIX/include]头文件目录
–mandir=DIRinstall man page in DIR[PREFIX/share/man]手册目录
–pkgconfiguredir=DIRinstall pkg-config files in DIR[LIBDIR/pkgconfig]??
–enable-rpathuse rpath to allow installing libraries in paths not part of the dynamic linker search path use rpath when linking programs [USE WITH CARE]??
–install-name-dir=DIRDarwin directory name for installed targets??

Licensing options:

OPTIONSDESCRIPTION描述
–enable-gplallow use of GPL code,the resulting libs and binaries will be under GPL[no]允许使用GPL代码,默认不允许
–enable-version3upgrade (L)GPL to version 3 [no]升级GPL到版本3,默认不升级
–enable-nonfreeallow use of nonfree code,the resulting libs and binaries will be unredistributable [no]允许使用NONFREE模块代码,默认不允许

Configuration options:

OPTIONSDESCRIPTION描述
–disable-staticdo not build static libraries [no]不编译静态库
–enable-sharedbuild shared libraries[no]编译动态库
–enable-smalloptimize for size instead of speed优化大小而不是速度
–disable-runtime-cpudetectdisable detecting cpu capabilities at runtime(smaller binary)不检测CPU能力在运行时可以获得更小的二进制文件
–enable-grayenable full grayscale support(slower color)??
–disable-swscale-alphadisable alpha channel support in swscale??
–disable-alldisable building components,libraries and programs不便宜任何组件,库,程序
–disable-raise-majorincrease major version numbers in sonames[no]??

Program options:

OPTIONSDESCRIPTION描述
–disable-programsdo not build command line programs不编译命令行工具
–disable-ffmpegdisable ffmpeg build不编译ffmpeg
–disable-ffplaydisable ffplay build不编译ffplay
–disable-ffprobedisable ffprobe build不编译ffprobe
–disable-ffserverdisable ffserver build不编译ffserver

Documentation options:

OPTIONSDESCRIPTION描述
–disable-docdo not build documentation不编译出文档
–disable-htmlpagesdo not build HTML documentation pages不编译出文档
–disable-manpagesdo not build MAN documentation pages不编译出文档
–disable-podpagesdo not build POD documentation pages不编译出文档
–disable-txtpagesdo not build TXT documentation pages不编译出文档

这里给出我会用到的八个库的作用:
- libavdevice 设备
- libavcodec 编解码
- libavformat 格式
- libswresample ??
- libswscale ??
- libpostproc ??
- libavfilter 滤镜
- libavresample ??
- libavutil 工具

Component options:

OPTIONSDESCRIPTION描述
–disable-avdevicedisable libavdevice buile不编译此库
–disable-avcodecdisable libavcodec buile不编译此库
–disable-avformatdisable libavformat buile不编译此库
–disable-swresampledisable libswresample buile不编译此库
–disable-swscaledisable libswscale buile不编译此库
–disable-postprocdisable libpostproc buile不编译此库
–disable-avfilterdisable libavfilter buile不编译此库
–enable-avresampleenable libavresample buile[no]编译此库默认不编译
–disable-pthreadsdisable pthreads [autodetect]??
–disable-w32threadsdisable w32threads [autodetect]??
–disable-os2threadsdisable os2threads [autodetect]??
–disable-networkdisable network support??
–disable-dctdisable DCT code??
–disable-dwtdisable DWT dode??
–disable-error-resiliencedisable error resilience??
–disable-lspdisable LSP code??
–disable-lzodisable LZO code??
–disable-mdctdisable MDCT code??
–disable-rdftdisable RDFT code??
–disable-fftdisable FFT code??
–disable-faandisable floating point AAN (I)DCT code??
–disable-pixelutilsdisable pixel utils in libavutil??

Individual component options:

OPTIONSDESCRIPTION描述
–disable-everythingdisable all components listed below
–disable-encoder=NAMEdisable encoder name禁用
–enable-encoder=NAMEenable encoder name使用
–disable-encodersdisable all encoders全部禁用
–disable-decoder=NAMEdisable decoder name禁用
–enable-decoder=NAMEenable decoder name使用
–disable-decodersdisable all decoders全部禁用
–disable-hwaccel=NAMEdisable hwaccel name禁用
–enable-hwaccel=NAMEenable hwaccel name使用
–disable-hwaccelsdisable all hwaccels全部禁用
–disable-muxer=NAMEdisable muxer name禁用
–enable-muxer=NAMEenable muxer name使用
–disable-muxersdisable all muxers全部禁用
–disable-demuxer=NAMEdisable demuxer name禁用
–enable-demuxer=NAMEenable demuxer name使用
–disable-demuxersdisable all demuxers全部禁用
–disable-parser=NAMEdisable parser name禁用
–enable-parser=NAMEenable parser name使用
–disable-parsersdisable all parsers全部禁用
–disable-bsf=NAMEdisable bsf name禁用
–enable-bsf=NAMEenable bsf name使用
–disable-bsfsdisable all bsfs全部禁用
–disable-protocol=NAMEdisable protocol name禁用
–enable-protocol=NAMEenable protocol name使用
–disable-protocolsdisable all protocols全部禁用
–disable-indev=NAMEdisable indev name禁用
–enable-indev=NAMEenable indev name使用
–disable-indevsdisable all indevs全部禁用
–disable-outdev=NAMEdisable outdev name禁用
–enable-outdev=NAMEenable outdev name使用
–disable-outdevsdisable all outdevs全部禁用
–disable-filter=NAMEdisable filter name禁用
–enable-filter=NAMEenable filter name使用
–disable-filtersdisable all filters全部禁用

external library support:
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 enable,if all their other dependencies are met and they are not explicitly disable. E.g. --enable-libwavpack will enabel 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.
OPTIONSDESCRIPTION描述
–enable-avisynthenable reading of AviSynth script files[no]一个强大的视频后期处理库
–disable-bzlibdisable bzlib [autodetect]图形处理
–enable-chromaprintenable audio fingerprinting with chromaprint[no]chromaprint 提取指纹算法
–enable frei0renable frei0rvideo filtering[no]滤镜
–enable-gcryptenable gcrypt,needed for rtmp(t)e support if openssl,librtmp or gmp is not used[no]加密 openssl安全套接字层密码库
–enable-gmpenable gmp,needed for trmp(t)e support if openssl or librtmp is not used[no]数学运算能力
–enable-gnutilsenable gnutils,needed for https support if openssl or librtmp is not used[no]??
–disable-iconvdisable iconv [autodetect]国际编码的转换
–enable-jnienable jni supportjni 支持
–enable-ladspaenable LADSPA audio filtering[no]Linux Audio Developer’s Simple Plugin API
–enable-libassenable libass subtitles rendering,needed for subtitles and ass filter[no]LibASS则是一个轻量级的对ASS / SSA格式字幕进行渲染的函数库.该库使用C编写,效率较高.据官方说明,LibASS和VSFilter兼容性最好~
–enable-libblurayenable BluRay reading using libbluray蓝光BD
–enable-libbs2benable bs2b DSP library[no]??
–enable-libcacaenable textual display using libcaca[no]用文本代替图像的图形库
–enable-libceltenable CELT decoding via libcelt[no]??
–enable-libcdioenable audio CD grabbing with libcdio[no]CD音频抓取
–enable-libdc1394enable IIDC-1394 grabbing using libdc1394??
–enable-libebur128enable libebur128 for EBU R128 measurement,needed for loudnorm filter[no]??
–enable-libfdk-aacenable AAC de/encoding via libfdk-aac[no]一种aac编码,似乎挺好的没有验证过
–enable-libfliteenable flite (voice synthesis) support via libfliteibflite Flite是一个小型、快速的TTS系统,是著名的语音合成系统festival的c版本。
–enable-libfontconfigenable libfontconfig,useful for drawtext filter[no]配置字体库
–enable-libfreebyteenable libfreebyte,needed for drawtext filter[no]??
–enable-libfribidienable libfribidi,improves drawtext filter[no]??
–enable-libgmeenable Game Music Emu via libgme[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??
–enable-libgsmenable GSM Music de/encoding via libgsm[no]??

Toolchain options:

OPTIONSDESCRIPTION描述
–arch=ARCHselect architecture[]选择未处理器体系结构
–cpu=CPUselect the minimum required CPU(affects instruction selection,may crash on older CPUS)选用要求的最低CPU(影响指令选择,可能在过时的CPU上崩溃)
–cross-prefix=PREFIXuse PREFIX for compilation tools[]编译工具路径
–progs-suffix=SUFFIXprogram name suffix[]程序后缀
–enable-cross-compileassume a cross-compiler is used使用交叉编译
–sysroot=PATHroot of cross-build tree交叉编译树跟目录,编译时期的逻辑目录
–sysinclude=PATHlocation of cross-build headers交叉编译头文件目录
–target-os=OScompiler targets OS[]编译器目标操作系统
–target-exec=CMDcommand to run executables on target在目标系统上运行可执行应用的命令
–target-path=DIRpath to view of build directory on target
–target-samples=DIRpath to samples directory on target
–tempprefix=PATHforce fixed dir/prefix instead of mktemp for checks
–toolchain=NAMEset tool defaults according to NAME
–nm=NMuse nm tool NM[nm -g]列出目标文件中的符号的工具链
–ar=ARuse archive tool AR [ar]
–as=ASuse assembler AS []
–ln_s=LN_Suse symbolic link tool LN_S[ln -s -f]
–strip=STRIPuse strip tool STRIP[strip]
–windres=WINDRESuse windows resource compiler WINDRES[windres]
–yasmexe=EXEuse yasm-compatible assembler EXEYASM是一个完全重写的NASM汇编
–cc=CCuse C compiler CC[gcc]用gcc编译
–cxx=CXXuse C compiler cxx[g++]编译c++
–objcc=OCCuse Objc compiler OCC[gcc]编译OCC
–dep-cc=DEPCCuse dependecy generator DEPCC[gcc]
–ld=LDuse linker LD[]
–pkg-config=PKGCONFIGuse pkg-config tool PKGCONFIGUR[pkg-config]
–pkg-config=flags=FLAGSpass additional flags to pkgconf[]
–ranlib=RANLIBuse ranlib RANLIB[ranlib]
–doxygen=DOXYGENuse doxygen to generate API doc[doxygen]
–host-cc=HOSTCCuse host c compiler HOSTCC
–host-cflags=HCFLAGSuse HCFLAGS when compiler for host
–host-cppflags=HCPPFLAGSuse HCPPFLAGS when compiler for host
–host-ld=HOSTLDuse host linker HOSTLD
–host-ldflags=HLDFLAGSuse HLDFLAGS when link for host
–host-libs=HLIBSuse libs HLIBS when linking for host
–host-os=OScompiler host OS[]
–extra-cflags=ECFLAGSadd ECFLAGS to CFLAGS[]
–extra-cxxflags=ECFLAGSadd ECFLAGS to CXXFLAGS[]
–extra-objcflags=FLAGSadd ECFLAGS to OBJCLAGS[]
–extra-ldlags=ELDFLAGSadd ECFLAGS to LDLAGS[]
–extra-ldexelags=ELDFLAGSadd ECFLAGS to LDEXEFLAGS[]
–extra-ldliblags=ELDFLAGSadd ECFLAGS to LDEXEFLAGS[]
–extra-libs=ELIBSadd ELIBS[]
–extra-version=STRINGversion string suffix[]
–optflags=OPTFLAGSoverride optimization-related compiler flags
–build-suffix=SUFFIXlibrary name suffix[]
–enable-picbuild position-independent code
–enable-thumbcompiler for thumb instrument code
–enable-ltouse link-time optimization
–env=”ENV=override”override the environment variables

Advanced options(experts only):

OPTIONSDESCRIPTION描述
–malloc-prefix=PREFIXprefix malloc and related names with PREFIX
–custom-allocator=NAMEuse a supported allocator
–disable-symverdisable symbol versioning
–enable-hardcoded-tablesuse hardcoded tables instead of runtime generation
–disable-safe-bitstream-readerdisable buffer boundary checking in bitreaders
–enable-memalign-hackemulate memalign, interferes with memory debuggers
–sws-max-filter-size=Nthe max filter size swscale uses [$sws_max_filter_size_default]

Optimization options(experts only):

OPTIONSDESCRIPTION描述
–disable-asm
–disable-altivec
–disable-vsx
–disable-power8
–disable-amd3dnowext
–disable-mmx
–disable-mmxext
–disable-sse
–disable-sse2
–disable-sse3
–disable-ssse3
–disable-sse4
–disable-sse42
–disable-avx
–disable-xop
–disable-fma3
–disable-fma4
–disable-avx2
–disable-aesni
–disable-armv5te
–disable-armv6
–disable-armv6t2
–disable-vfp
–disable-neon
–disable-inline-asm
–disable-yasm
–disable-mipsdsp
–disable-mipsdspr2
–disable-msa
–disable-mipsfpu
–disable-mmi
–disable-fast-unaligned

Developer options(useful when working on FFmpeg itself):

OPTIONSDESCRIPTION描述
–disable-debugdisable debugging symbols
–enable-debug=LEVELset the debug level [$debuglevel]
–disable-optimizationsdisable compiler optimizations
–enable-extra-warningsenable more compiler warnings
–disable-strippingdisable stringpping executables and shared libraries
–assert-level=level0(default), 1 or 2, amount of assertion testing,2 causes a slowdown at runtime.
–enable-memory-poisoningfill heap uninitialized allocated space with arbitrary data
–valgrind=VALGRIND
–enable-ftrapv
–samples=PATH
–enable-neon-clobber-test
–enable-xmm-clobber-test
–enable-random
–disable-random
–enable-random=LIST
–disable-random=LIST
–random-seed=VALUE
–disable-valgrind-backtrace

自己觉得陌生单词的释义
  • hard accelerators 硬件加速器
  • decoders 解码器
  • encoders 编码器
  • demuxers 解复用器
  • muxers 复用器
  • parsers 解析器
  • protocols 协议
  • filters 滤镜
  • generate 生成 发生 生
  • fatal 致命的 严重的 命中注定的 毁灭性的
  • binaries 二进制
  • man page 手册
  • prefix 前缀
  • unredistributable 禁止发布(redistributable)
  • licensing 许可
  • optimize 优化
  • detect 查明
  • capabilities 能力
  • scale 规模 比例 尺寸
  • individual 特别的 个人的
  • external 外部的
  • corresponding 相应的
  • explisitly 明确的
  • grabbing 抓取
  • synth 音频合成器
  • capatible 兼容的
  • assembler 汇编程序
  • strip 剥离
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值