码迷,mamicode.com
首页 > 其他好文 > 详细

ffmpeg编译选项汇总

时间:2015-01-05 18:32:13      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

编译禁用“jack” 和 “crystalhd” :

--disable-crystalhd
--disable-indev=jack

===========================================================

http://blog.chinaunix.net/uid-24868917-id-120539.html

在控制台输入如下命令可看到 ffmpeg 详细的编译选项。
[root@localhost ffmpeg]# ./configure --help

 

 

Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:
  --help                   print this message
  --logfile=FILE           log tests and output to FILE [config.log]
  --disable-logging        do not log configure debug information

------------------------------------------------------------------------------
这几个参数重要,决定了ffmpeg编译出来的文件放在系统的什么地方。 
                         
  --prefix=PREFIX          install in PREFIX []
  --bindir=DIR             install binaries in DIR [PREFIX/bin]
  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]
  --libdir=DIR             install libs in DIR [PREFIX/lib]
  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]
  --incdir=DIR             install includes in DIR [PREFIX/include]
  --mandir=DIR             install man page in DIR [PREFIX/share/man]
------------------------------------------------------------------------------
Configuration options:
  --disable-static         do not build static libraries [no]
  --enable-shared          build shared libraries [no]
  --enable-gpl             allow use of GPL code, the resulting libs
                           and binaries will be under GPL [no]
  --enable-version3        upgrade (L)GPL to version 3 [no]
  --enable-nonfree         allow use of nonfree code, the resulting libs
                           and binaries will be unredistributable [no]
------------------------------------------------------------------------------
这些文ffmpeg目录下的文件
  --disable-doc            do not build documentation
  --disable-ffmpeg         disable ffmpeg build
  --disable-ffplay         disable ffplay build
  --disable-ffprobe        disable ffprobe build
  --disable-ffserver       disable ffserver build
  --disable-avdevice       disable libavdevice build
  --disable-avcodec        disable libavcodec build
  --disable-avcore         disable libavcore build
  --disable-avformat       disable libavformat build
  --disable-swscale        disable libswscale build
  --enable-postproc        enable GPLed postprocessing support [no]
  --disable-avfilter       disable video filter support [no]
-------------------------------------------------------------------------------
  --disable-pthreads       disable pthreads [auto]
  --enable-w32threads      use Win32 threads [no]
  --enable-x11grab         enable X11 grabbing [no]
  --disable-network        disable network support [no]
  --disable-mpegaudio-hp   faster (but less accurate) MPEG audio decoding [no]
  --enable-gray            enable full grayscale support (slower color)
  --disable-swscale-alpha  disable alpha channel support in swscale
  --disable-fastdiv        disable table-based division
  --enable-small           optimize for size instead of speed
  --disable-aandct         disable AAN DCT code
  --disable-dct            disable DCT code
  --disable-fft            disable FFT code
  --disable-golomb         disable Golomb code
  --disable-huffman        disable Huffman code
  --disable-lpc            disable LPC code
  --disable-mdct           disable MDCT code
  --disable-rdft           disable RDFT code
  --disable-vaapi          disable VAAPI code
  --disable-vdpau          disable VDPAU code
  --disable-dxva2          disable DXVA2 code
  --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
  --enable-hardcoded-tables use hardcoded tables instead of runtime generation
  --enable-memalign-hack   emulate memalign, interferes with memory debuggers

  这个选项 牛B 啊!
  --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   disable hwaccel NAME
  --enable-hwaccel=NAME    enable hwaccel NAME
  --disable-hwaccels       disable all hwaccels
  --disable-muxer=NAME     disable muxer NAME
  --enable-muxer=NAME      enable muxer NAME
  --disable-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
  --disable-indev=NAME     disable input device NAME
  --disable-outdev=NAME    disable output device NAME
  --disable-indevs         disable input devices
  --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

  --list-decoders          show all available decoders
  --list-encoders          show all available encoders
  --list-hwaccels          show all available hardware accelerators
  --list-muxers            show all available muxers
  --list-demuxers          show all available demuxers
  --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
----------------------------------------------------------------------------------
ffmpeg支持的外部解码库。ffmpeg为我们保留了这些解码库的swap(空壳子)。
当ffmpeg要支持这些文件格式时,那个这些解码库需我们手动的添加。当然ffmpeg也为我们自带
了 avi 这种常见视频格式的解码库,这样就不需要我们手动添加了。

External library support:
  --enable-avisynth        enable reading of AVISynth script files [no]
  --enable-bzlib           enable bzlib [autodetect]
  --enable-frei0r          enable frei0r video filtering
  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
  --enable-libopencv       enable video filtering via libopencv [no]
  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
                           and libraw1394 [no]
  --enable-libdirac        enable Dirac support via libdirac [no]
  --enable-libfaac         enable FAAC support via libfaac [no]
  --enable-libgsm          enable GSM support via libgsm [no]
  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
  --enable-libnut          enable NUT (de)muxing via libnut,
                           native (de)muxer exists [no]
  --enable-libopenjpeg     enable JPEG 2000 decoding via OpenJPEG [no]
  --enable-librtmp         enable RTMP[E] support via librtmp [no]
  --enable-libschroedinger enable Dirac support via libschroedinger [no]
  --enable-libspeex        enable Speex decoding via libspeex [no]
  --enable-libtheora       enable Theora encoding via libtheora [no]
  --enable-libvorbis       enable Vorbis encoding via libvorbis,
                           native implementation exists [no]
  --enable-libvpx          enable VP8 support via libvpx [no]
  
  x264为新一代H.264标准的编解码器,它与2003年发布。在同行中编解码的效率是可是相当之高 。
  质量可超 rmvb。
  2011年又宣布支持蓝光编解码,可谓相当给力。
  --enable-libx264         enable H.264 encoding via x264 [no]

  --enable-libxavs         enable AVS encoding via xavs [no]

  xvid 为老一代的编解码器。
  --enable-libxvid         enable Xvid encoding via xvidcore,
                           native MPEG-4/Xvid encoder exists [no]
  --enable-mlib            enable Sun medialib [no]
  --enable-zlib            enable zlib [autodetect]

Advanced options (experts only):
  --source-path=PATH       path to source code [/opt/friendlyarm/video/ffmpeg]
  --cross-prefix=PREFIX    use PREFIX for compilation tools []
  --enable-cross-compile   assume a cross-compiler is used
  --sysroot=PATH           root of cross-build tree
  --sysinclude=PATH        location of cross-build system headers
  --target-os=OS           compiler targets OS []
  --target-exec=CMD        command to run executables on target
  --target-path=DIR        path to view of build directory on target
  --nm=NM                  use nm tool
  --ar=AR                  use archive tool AR [ar]
  --as=AS                  use assembler AS []
  --cc=CC                  use C compiler CC [gcc]
  --ld=LD                  use linker LD
  --host-cc=HOSTCC         use host C compiler HOSTCC
  --host-cflags=HCFLAGS    use HCFLAGS when compiling for host
  --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host
  --host-libs=HLIBS        use libs HLIBS when linking for host
  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS []
  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
  --extra-libs=ELIBS       add ELIBS []
  --extra-version=STRING   version string suffix []
  --build-suffix=SUFFIX    library name suffix []
  --arch=ARCH              select architecture []
  --cpu=CPU                select the minimum required CPU (affects
                           instruction selection, may crash on older CPUs)
  --disable-asm            disable all assembler optimizations
  --disable-altivec        disable AltiVec optimizations
  --disable-amd3dnow       disable 3DNow! optimizations
  --disable-amd3dnowext    disable 3DNow! extended optimizations
  --disable-mmx            disable MMX optimizations
  --disable-mmx2           disable MMX2 optimizations
  --disable-sse            disable SSE optimizations
  --disable-ssse3          disable SSSE3 optimizations
  --disable-armv5te        disable armv5te optimizations
  --disable-armv6          disable armv6 optimizations
  --disable-armv6t2        disable armv6t2 optimizations
  --disable-armvfp         disable ARM VFP optimizations
  --disable-iwmmxt         disable iwmmxt optimizations
  --disable-mmi            disable MMI optimizations
  --disable-neon           disable neon optimizations
  --disable-vis            disable VIS optimizations
  --disable-yasm           disable use of yasm assembler
  --enable-pic             build position-independent code
  --malloc-prefix=PFX      prefix malloc and related names with PFX
  --enable-sram            allow use of on-chip SRAM
  --disable-symver         disable symbol versioning

Developer options (useful when working on FFmpeg itself):
  --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
  --samples=PATH           location of test samples for FATE

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

-----------------------------------------------------------------------------------

以下翻译来自网络,ffmpeg的版本未知,放在一起只是为了参考下。


[root@web ffmpeg]# ./configure --help

Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:          基本选项参数
  --help                   显示此帮助信息|print this message
  --log[=FILE|yes|no]      记录测试并输出到config.err文件|log tests and output to FILE [config.err]
  --prefix=PREFIX          安装程序到指定目录(默认/usr/local)|install in PREFIX [/usr/local]
  --libdir=DIR             安装库到指定目录(默认prefix/lib)|install libs in DIR [PREFIX/lib]
  --shlibdir=DIR           指定共享库路径(默认prefix/lib)|install shared libs in DIR [PREFIX/lib]
  --incdir=DIR             指定includes路径(默认prefix/include/ffmpeg)|install includes in DIR[PREFIX/include/ffmpeg]
  --mandir=DIR             指定man page路径(默认prefix/maninstall man page in DIR [PREFIX/man]
  --enable-mp3lame         启用mp3编码libmp3lame(默认关闭)enable MP3 encoding via libmp3lame[default=no]
  --enable-libogg          启用ogg支持libogg(默认关闭)enable Ogg support via libogg [default=no]
  --enable-vorbis          启用Vorbis支持libvorbis(默认关闭)enable Vorbis support via libvorbis [default=no]
  --enable-faad            启用faad支持libfaad(默认关闭)enable FAAD support via libfaad [default=no]
  --enable-faadbin         启用faad运行时链接支持(默认关闭)build FAAD support with runtime linking[default=no]
  --enable-faac            启用faac支持libfaac(默认关闭)enable FAAC support via libfaac [default=no]
  --enable-libgsm          启用GSM支持libgsm(默认关闭)enable GSM support via libgsm [default=no]
  --enable-xvid            启用xvid支持xvidcore(默认关闭)enable XviD support via xvidcore [default=no]
  --enable-x264            启用H.264编码(默认关闭)enable H.264 encoding via x264 [default=no]
  --enable-mingw32         启用MinGW本地/交叉win环境编译|enable MinGW native/cross Windows compile
  --enable-mingwce         启用MinGW本地/交叉winCE环境编译enable MinGW native/cross WinCE compile
  --enable-a52             启用A52支持(默认关闭)enable GPLed A52 support [default=no]
  --enable-a52bin          启用运行时打开liba52.so.0(默认关闭)open liba52.so.0 at runtime [default=no]
  --enable-dts             启用DTS支持(默认关闭)enable GPLed DTS support [default=no]
  --enable-pp              启用后加工支持(默认关闭)enable GPLed postprocessing support [default=no]
  --enable-static          构建静态库(默认启用)build static libraries [default=yes]
  --disable-static         禁止构建静态库(默认关闭)do not build static libraries [default=no]
  --enable-shared          构建共享库(默认关闭)build shared libraries [default=no]
  --disable-shared         禁止构建共享库(默认启用)do not build shared libraries [default=yes]
  --enable-amr_nb          启用amr_nb float音频编解码器|enable amr_nb float audio codec
  --enable-amr_nb-fixed    启用fixed amr_nb codec | use fixed point for amr-nb codec
  --enable-amr_wb          启用amr_wb float音频编解码器|enable amr_wb float audio codec
  --enable-amr_if2         启用amr_wb IF2音频编解码器|enable amr_wb IF2 audio codec
  --enable-sunmlib         启用Sun medialib(默认关闭) | use Sun medialib [default=no]
  --enable-pthreads        启用pthreads(多线程)(默认关闭)use pthreads [default=no]
  --enable-dc1394          启用libdc1394、libraw1394抓取IIDC-1394(默认关闭)enable IIDC-1394 grabbing using libdc1394 

and 

libraw1394 [default=no]
  --enable-swscaler        启用计数器支持?(默认关闭)software scaler support [default=no]
  --enable-avisynth        允许读取AVISynth脚本本件(默认关闭)allow reading AVISynth script files [default=no]
  --enable-gpl             允许使用GPL(默认关闭)allow use of GPL code, the resulting libav* and ffmpeg will be under 

GPL 

[default=no]

Advanced options (experts only): 高级选项参数(供专业人员使用)
  --source-path=PATH       源码的路径(当前为/root/flv/ffmpeg)| path to source code [/root/flv/ffmpeg]
  --cross-prefix=PREFIX    为编译工具指定路径 | use PREFIX for compilation tools []
  --cross-compile          假定使用了交叉编译 | assume a cross-compiler is used
  --cc=CC                  指定使用何种C编译器(默认gcc)use C compiler CC [gcc]
  --make=MAKE              使用特定的make | use specified make [make]
  --extra-cflags=ECFLAGS   添加ECFLAGS到CFLAGS | add ECFLAGS to CFLAGS []
  --extra-ldflags=ELDFLAGS 添加ELDFLAGS到LDFLAGS(默认-Wl,--as-needed)| add ELDFLAGS to LDFLAGS [ -Wl,--as-needed]
  --extra-libs=ELIBS       添加ELIBS | add ELIBS []
  --build-suffix=SUFFIX    为专用程序添加后缀 | suffix for application specific build []
  --arch=ARCH              选择机器架构(默认x86)select architecture  [x86]
  --cpu=CPU                选用最低的cpu(影响指令的选择,可以在老CPU上出错) | selects the minimum cpu required 

(affects 

instruction selection, may crash on older CPUs)
  --powerpc-perf-enable    启用PPC上面的性能报告(需要启用PMC)enable performance report on PPC
                           (requires enabling PMC)
  --disable-mmx            禁用MMX | disable MMX usage
  --disable-armv5te        禁用armv5te | disable armv5te usage
  --disable-iwmmxt         禁用iwmmxt | disable iwmmxt usage
  --disable-altivec        禁用AltiVec | disable AltiVec usage
  --disable-audio-oss      禁用OSS音频支持(默认启用)disable OSS audio support [default=no]
  --disable-audio-beos     禁用BeOS音频支持(默认启用)disable BeOS audio support [default=no]
  --disable-v4l            禁用video4linux提取(默认启用)disable video4linux grabbing [default=no]
  --disable-v4l2           禁用video4linux2提取(默认启用)disable video4linux2 grabbing [default=no]
  --disable-bktr           禁用bktr视频提取(默认启用)disable bktr video grabbing [default=no]
  --disable-dv1394         禁用DV1394提取(默认启用)disable DV1394 grabbing [default=no]
  --disable-network        禁用网络支持(默认支持)disable network support [default=no]
  --disable-ipv6           禁用ipv6支持(默认支持)disable ipv6 support [default=no]
  --disable-zlib           禁用zlib(默认支持)disable zlib [default=no]
  --disable-simple_idct    禁用simple IDCT例程(默认启用)disable simple IDCT routines [default=no]
  --disable-vhook          禁用video hooking支持 | disable video hooking support
  --enable-gprof           enable profiling with gprof [no]
  --disable-debug          禁用调试符号 | disable debugging symbols
  --disable-opts           禁用编译器最优化 | disable compiler optimizations
  --disable-mpegaudio-hp   启用更快的解码MPEG音频(但精确度较低)(默认禁用)faster (but less accurate) MPEG audio 

decoding 

[default=no]
  --disable-protocols      禁用 I/O 协议支持(默认启用)disable I/O protocols support [default=no]
  --disable-ffserver       禁用生成ffserver | disable ffserver build
  --disable-ffplay         禁用生成ffplay | disable ffplay build
  --enable-small           启用优化文件尺寸大小(牺牲速度)optimize for size instead of speed
  --enable-memalign-hack   启用模拟内存排列,由内存调试器干涉? | emulate memalign, interferes with memory debuggers
  --disable-strip          禁用剥离可执行程序和共享库 | disable stripping of executables and shared libraries
  --disable-encoder=NAME   禁用XX编码器 | disables encoder NAME
  --enable-encoder=NAME    启用XX编码器 | enables encoder NAME
  --disable-decoder=NAME   禁用XX解码器 | disables decoder NAME
  --enable-decoder=NAME    启用XX解码器 | enables decoder NAME
  --disable-encoders       禁用所有编码器 | disables all encoders
  --disable-decoders       禁用所有解码器 | disables all decoders
  --disable-muxer=NAME     禁用XX混音器 | disables muxer NAME
  --enable-muxer=NAME      启用XX混音器 | enables muxer NAME
  --disable-muxers         禁用所有混音器 | disables all muxers
  --disable-demuxer=NAME   禁用XX解轨器 | disables demuxer NAME
  --enable-demuxer=NAME    启用XX解轨器 | enables demuxer NAME
  --disable-demuxers       禁用所有解轨器 | disables all demuxers
  --enable-parser=NAME     启用XX剖析器 | enables parser NAME
  --disable-parser=NAME    禁用XX剖析器 | disables parser NAME
  --disable-parsers        禁用所有剖析器 | disables all parsers

=========================================================

http://blog.csdn.net/pointfish/article/details/7558140

已经测试,可以解码H264和RTP, LIB和DLL一共2.7M

./configure --disable-everything --disable-muxers --disable-avdevice --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-zlib --disable-bzlib --disable-debug --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-muxers --disable-filters --disable-devices --disable-encoders --disable-hwaccels --enable-static --enable-memalign-hack --enable-small --enable-decoder=h264 --enable-demuxers --enable-parsers --enable-protocols




附1:

打包静态库的命令

gcc -shared -fPIC -o ffmpeg-0.8.dll -Wl,--whole-archive libswscale.a libavcodec.a libavfilter.a libavutil.a libavformat.a -Wl,--no-whole-archive -lwsock32 -lpthread -lSDL -lvfw32

附2:

打包静态库出现的BUG

1)若出现重复定义则找到avdecoec的makefile

OBJS-$(!CONFIG_SMALL)                   += inverse.o

编译时出现的BUG(编DLL时出现,或打包成DLL时也会出现)

1) ff_svq3_add_idct_c等无法识别,link错误

用在h264.c里#if CONFIG_SVQ3_DECODER和#endif注释掉这些函数

 

 

小弟愚钝翻译的很不标准 将就着看吧
   --help                   print this message
   --logfile=FILE           log tests and output to FILE [config.err]          //测试和输出到文件记录
  --disable-logging        do not log configure debug information             //不要日志调试的信息
  --prefix=PREFIX          install in PREFIX []                               //安装在前缀
  --bindir=DIR             install binaries in DIR [PREFIX/bin]               //安装2进制文件
  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]    //安装数据文件目录
  --libdir=DIR             install libs in DIR [PREFIX/lib]                   //安装lib文件目录
  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]            //安装分享lib在目录
  --incdir=DIR             install includes in DIR [PREFIX/include]           //安装include在目录
  --mandir=DIR             install man page in DIR [PREFIX/share/man]         //安装手页册到目录

Configuration options:
   --disable-static         do not build static libraries [no]                 //不建立静态库
  --enable-shared          build shared libraries [no]                        // 建立共享库
  --enable-gpl             allow use of GPL code, the resulting libs          //允许GPL代码 生成在lib 和2进制文件
                           and binaries will be under GPL [no]               
   --enable-nonfree         allow use of nonfree code, the resulting libs      //允许nonfree代码生成lib 和2进制文件
                           and binaries will be unredistributable [no]
   --disable-ffmpeg         disable ffmpeg build                                //取消建立ffmpeg
   --disable-ffplay         disable ffplay build                                //
   --disable-ffserver       disable ffserver build                              //
   --enable-postproc        enable GPLed postprocessing support [no]            //使GPled后置处理支持        
   --enable-avfilter        video filter support [no]                           //视频过滤支持
  --enable-avfilter-lavf   video filters dependent on avformat [no]            //依赖avformat过滤器
  --enable-beosthreads     use BeOS threads [no]                               //使用BeOS线程                            
   --enable-os2threads      use OS/2 threads [no]                               //使用OS/2线程
  --enable-pthreads        use pthreads [no]                                   //pthreads
   --enable-w32threads      use Win32 threads [no]                              //win32
   --enable-x11grab         enable X11 grabbing [no]                            //使用X11夺走
  --disable-network        disable network support [no]                        //禁用网络支持                     
   --disable-ipv6           disable IPv6 support [no]                            //禁用ipv6支持
  --disable-mpegaudio-hp   faster (but less accurate) MPEG audio decoding [no]   //快(但不准确)的音频解码
  --enable-gray            enable full grayscale support (slower color)          //使全灰度支持(慢,颜色)    
   --disable-swscale-alpha  disable alpha channel support in swscale              //使alpha管道在swscale失去支持
  --disable-fastdiv        disable table-based division                          //禁用table-based的分工
  --enable-small           optimize for size instead of speed                     //优化尺寸代替速度
  --disable-aandct         disable AAN DCT code                                   //禁用AAN dct编码
  --disable-fft            disable FFT code                                       //禁用FFT代码
  --disable-golomb         disable Golomb code                                    //禁用Golomb代码
  --disable-mdct           disable MDCT code                                      //取消MDCT代码
  --disable-rdft           disable RDFT code                                      //取消RDFT代码
  --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)   //检测cpu的能力在运行时(更大的2进制)
  --enable-hardcoded-tables use hardcoded tables instead of runtime generation    //使用编码表替换运行时产生
  --enable-memalign-hack   emulate memalign, interferes with memory debuggers     //模仿memalign影响记忆的调试器
  --enable-beos-netserver  enable BeOS netserver                                  //使用beos netserver
   --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   disable hwaccel NAME                                   //禁用hwaccel名字
  --enable-hwaccel=NAME    enable hwaccel NAME                                    //启用hwaccel名字
  --disable-hwaccels       disable all hwaccels                                   //禁用所有hwaccel        
   --disable-muxer=NAME     disable muxer NAME                                     //muxer
   --enable-muxer=NAME      enable muxer NAME
   --disable-muxers         disable all muxers
   --disable-demuxer=NAME   disable demuxer NAME                                   //demuxer
   --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
   --disable-indevs         disable input devices                                //禁用输入设备                                            
   --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                                   //禁用所有过滤器
  --list-decoders          show all available decoders                           //显示所有可用的解码器
  --list-encoders          show all available encoders                           //显示所有可用的编码器
  --list-hwaccels          show all available hardware accelerators              //显示所有可用的硬件加速器            
   --list-muxers            show all available muxers                            
   --list-demuxers          show all available demuxers
   --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                            //显示所有可用的过滤器

External library support:   外部库的支持
  --enable-avisynth        enable reading of AVISynth script files [no]          //使阅读AVISYnth脚本文件           
   --enable-bzlib           enable bzlib [autodetect]                             //设置bzuilb(自动检测)
   --enable-libamr-nb       enable libamr-nb floating point audio codec [no]      //设置libamr-nb浮点音频解码
  --enable-libamr-wb       enable libamr-wb floating point audio codec [no]      //设置libamr-wb浮点音频解码
  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394        
                            and libraw1394 [no]
   --enable-libdirac        enable Dirac support via libdirac [no]
   --enable-libfaac         enable FAAC support via libfaac [no]
   --enable-libfaad         enable FAAD support via libfaad [no]
   --enable-libfaadbin      open libfaad.so.0 at runtime [no]
   --enable-libgsm          enable GSM support via libgsm [no]
   --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
   --enable-libnut          enable NUT (de)muxing via libnut,
                            native (de)muxer exists [no]
   --enable-libopenjpeg     enable JPEG 2000 decoding via OpenJPEG [no]
   --enable-libschroedinger enable Dirac support via libschroedinger [no]
   --enable-libspeex        enable Speex decoding via libspeex [no]
   --enable-libtheora       enable Theora encoding via libtheora [no]
   --enable-libvorbis       enable Vorbis encoding via libvorbis,
                            native implementation exists [no]
   --enable-libx264         enable H.264 encoding via x264 [no]
   --enable-libxvid         enable Xvid encoding via xvidcore,
                            native MPEG-4/Xvid encoder exists [no]
   --enable-mlib            enable Sun medialib [no]
   --enable-zlib            enable zlib [autodetect]

Advanced options (experts only):高级的选项
  --source-path=PATH       path to source code [/root/ffmpeg-r18656-iphone]                 //源代码路径
  --cross-prefix=PREFIX    use PREFIX for compilation tools []                              //作为编译工具使用的前缀                            
   --enable-cross-compile   assume a cross-compiler is used                                  //假设交叉编译的使用                                
   --sysroot=PATH           root of cross-build tree                                         //
   --sysinclude=PATH        location of cross-build system headers                           //cross—build系统位置的标题
  --target-os=OS           compiler targets OS [linux]                                      //
   --target-exec=CMD        command to run executables on target                            //编译器目标OS(linux)
  --target-path=DIR        path to view of build directory on target                       //建立目录的路径来查看目标上
  --nm=NM                  use nm tool                                                     //使用um工具                  
   --as=AS                  use assembler AS []                                             //使用汇编语言AS                                                       
   --cc=CC                  use C compiler CC [gcc]                                         //用c编译器cc                                     
   --host-cc=HOSTCC         use host C compiler HOSTCC                                      //  使用主机C编译器hostcc                                    
   --host-cflags=HCFLAGS    use HCFLAGS when compiling for host                             //
   --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host                              //当链接主机的时候使用libs库                     
   --host-libs=HLIBS        use libs HLIBS when linking for host                             //lib时使用HLIBS主机链接                    
   --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [ -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112] 
   --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []                               
   --extra-libs=ELIBS       add ELIBS []
   --extra-version=STRING   version string suffix []                                          //版本字符串后缀
  --build-suffix=SUFFIX    library name suffix []                                            //库名字后缀                          
   --arch=ARCH              select architecture [i686]                                        //选择建筑
  --cpu=CPU                select the minimum required CPU (affects                          ////选择最低需要cpu(影响指令的选择可能坠毁在更老的cpu)
                           instruction selection, may crash on older CPUs) 
   --enable-powerpc-perf    enable performance report on PPC                                 //设置绩效报告的ppc(需要使用pmc)
                           (requires enabling PMC)
   --disable-altivec        disable AltiVec optimizations                                     //禁用Altivec优化
  --disable-amd3dnow       disable 3DNow! optimizations                                      //禁用3DNOW优化
  --disable-amd3dnowext    disable 3DNow! extended optimizations                             //禁用3DNOW扩展优化
  --disable-mmx            disable MMX optimizations                                         //禁用MMX优化
  --disable-mmx2           disable MMX2 optimizations                                        //禁用MMX2优化
  --disable-sse            disable SSE optimizations                                         //禁用SSE优化
  --disable-ssse3          disable SSSE3 optimizations                                       //禁用SSSE3优化
  --disable-armv5te        disable armv5te optimizations                                     //禁用armv5te优化
  --disable-armv6          disable armv6 optimizations                                       //armv6
   --disable-armv6t2        disable armv6t2 optimizations                                     //armv6t2
   --disable-armvfp         disable ARM VFP optimizations                                     //arm vfp
   --disable-iwmmxt         disable iwmmxt optimizations                                      //iwmmxt
   --disable-mmi            disable MMI optimizations                                          //mmi
   --disable-neon           disable neon optimizations                                         //neon
   --disable-vis            disable VIS optimizations                                          //vis
   --disable-yasm           disable use of yasm assembler                                      //禁用yasm伤残汇编                      

Developer options (useful when working on FFmpeg itself): 开发者选项 当工作在FFmpeg本身的时候有用
  --disable-debug          disable debugging symbols                                              //禁止调试符号
  --enable-debug=LEVEL     set the debug level []                                                  //设置调试等级
  --enable-gprof           enable profiling with gprof []                                         //设置剖析和性能分析
  --disable-optimizations  disable compiler optimizations                                        //禁用编译器优化选项
  --enable-extra-warnings  enable more compiler warnings                                         //使更多的编译器选项
  --disable-stripping      disable stripping of executables and shared libraries                 //禁用剥夺可执行文件和共享库

NOTE: Object files are built at the place where configure is launched.                          //提示 :不表文件的地方是建在配置发射

=========================

-----------本文转载,原文地址已给出。

ffmpeg编译选项汇总

标签:

原文地址:http://www.cnblogs.com/wainiwann/p/4204230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!