在控制臺輸入如下命令可看到 ffmpeg 詳細(xì)的編譯選項(xiàng)。 [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
------------------------------------------------------------------------------ 這幾個參數(shù)重要,決定了ffmpeg編譯出來的文件放在系統(tǒng)的什么地方。 --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
這個選項(xiàng) 牛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(空殼子)。 當(dāng)ffmpeg要支持這些文件格式時(shí),那個這些解碼庫需我們手動的添加。當(dāng)然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標(biāo)準(zhǔn)的編解碼器,它與2003年發(fā)布。在同行中編解碼的效率是可是相當(dāng)之高 。 質(zhì)量可超 rmvb。 2011年又宣布支持藍(lán)光編解碼,可謂相當(dāng)給力。 --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.
-----------------------------------------------------------------------------------
以下翻譯來自網(wǎng)絡(luò),ffmpeg的版本未知,放在一起只是為了參考下。
[root@web ffmpeg]# ./configure --help
Usage: configure [options] Options: [defaults in brackets after descriptions]
Standard options: 基本選項(xiàng)參數(shù) --help 顯示此幫助信息|print this message --log[=FILE|yes|no] 記錄測試并輸出到config.err文件|log tests and output to FILE [config.err] --prefix=PREFIX 安裝程序到指定目錄(默認(rèn)/usr/local)|install in PREFIX [/usr/local] --libdir=DIR 安裝庫到指定目錄(默認(rèn)prefix/lib)|install libs in DIR [PREFIX/lib] --shlibdir=DIR 指定共享庫路徑(默認(rèn)prefix/lib)|install shared libs in DIR [PREFIX/lib] --incdir=DIR 指定includes路徑(默認(rèn)prefix/include/ffmpeg)|install includes in DIR[PREFIX/include/ffmpeg] --mandir=DIR 指定man page路徑(默認(rèn)prefix/man)install man page in DIR [PREFIX/man] --enable-mp3lame 啟用mp3編碼libmp3lame(默認(rèn)關(guān)閉)enable MP3 encoding via libmp3lame[default=no] --enable-libogg 啟用ogg支持libogg(默認(rèn)關(guān)閉)enable Ogg support via libogg [default=no] --enable-vorbis 啟用Vorbis支持libvorbis(默認(rèn)關(guān)閉)enable Vorbis support via libvorbis [default=no] --enable-faad 啟用faad支持libfaad(默認(rèn)關(guān)閉)enable FAAD support via libfaad [default=no] --enable-faadbin 啟用faad運(yùn)行時(shí)鏈接支持(默認(rèn)關(guān)閉)build FAAD support with runtime linking[default=no] --enable-faac 啟用faac支持libfaac(默認(rèn)關(guān)閉)enable FAAC support via libfaac [default=no] --enable-libgsm 啟用GSM支持libgsm(默認(rèn)關(guān)閉)enable GSM support via libgsm [default=no] --enable-xvid 啟用xvid支持xvidcore(默認(rèn)關(guān)閉)enable XviD support via xvidcore [default=no] --enable-x264 啟用H.264編碼(默認(rèn)關(guān)閉)enable H.264 encoding via x264 [default=no] --enable-mingw32 啟用MinGW本地/交叉win環(huán)境編譯|enable MinGW native/cross Windows compile --enable-mingwce 啟用MinGW本地/交叉winCE環(huán)境編譯enable MinGW native/cross WinCE compile --enable-a52 啟用A52支持(默認(rèn)關(guān)閉)enable GPLed A52 support [default=no] --enable-a52bin 啟用運(yùn)行時(shí)打開liba52.so.0(默認(rèn)關(guān)閉)open liba52.so.0 at runtime [default=no] --enable-dts 啟用DTS支持(默認(rèn)關(guān)閉)enable GPLed DTS support [default=no] --enable-pp 啟用后加工支持(默認(rèn)關(guān)閉)enable GPLed postprocessing support [default=no] --enable-static 構(gòu)建靜態(tài)庫(默認(rèn)啟用)build static libraries [default=yes] --disable-static 禁止構(gòu)建靜態(tài)庫(默認(rèn)關(guān)閉)do not build static libraries [default=no] --enable-shared 構(gòu)建共享庫(默認(rèn)關(guān)閉)build shared libraries [default=no] --disable-shared 禁止構(gòu)建共享庫(默認(rèn)啟用)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(默認(rèn)關(guān)閉) | use Sun medialib [default=no] --enable-pthreads 啟用pthreads(多線程)(默認(rèn)關(guān)閉)use pthreads [default=no] --enable-dc1394 啟用libdc1394、libraw1394抓取IIDC-1394(默認(rèn)關(guān)閉)enable IIDC-1394 grabbing using libdc1394
and
libraw1394 [default=no] --enable-swscaler 啟用計(jì)數(shù)器支持?(默認(rèn)關(guān)閉)software scaler support [default=no] --enable-avisynth 允許讀取AVISynth腳本本件(默認(rèn)關(guān)閉)allow reading AVISynth script files [default=no] --enable-gpl 允許使用GPL(默認(rèn)關(guān)閉)allow use of GPL code, the resulting libav* and ffmpeg will be under
GPL
[default=no]
Advanced options (experts only): 高級選項(xiàng)參數(shù)(供專業(yè)人員使用) --source-path=PATH 源碼的路徑(當(dāng)前為/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編譯器(默認(rèn)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(默認(rèn)-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 選擇機(jī)器架構(gòu)(默認(rèn)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上面的性能報(bào)告(需要啟用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音頻支持(默認(rèn)啟用)disable OSS audio support [default=no] --disable-audio-beos 禁用BeOS音頻支持(默認(rèn)啟用)disable BeOS audio support [default=no] --disable-v4l 禁用video4linux提。J(rèn)啟用)disable video4linux grabbing [default=no] --disable-v4l2 禁用video4linux2提取(默認(rèn)啟用)disable video4linux2 grabbing [default=no] --disable-bktr 禁用bktr視頻提。J(rèn)啟用)disable bktr video grabbing [default=no] --disable-dv1394 禁用DV1394提取(默認(rèn)啟用)disable DV1394 grabbing [default=no] --disable-network 禁用網(wǎng)絡(luò)支持(默認(rèn)支持)disable network support [default=no] --disable-ipv6 禁用ipv6支持(默認(rèn)支持)disable ipv6 support [default=no] --disable-zlib 禁用zlib(默認(rèn)支持)disable zlib [default=no] --disable-simple_idct 禁用simple IDCT例程(默認(rèn)啟用)disable simple IDCT routines [default=no] --disable-vhook 禁用video hooking支持 | disable video hooking support --enable-gprof enable profiling with gprof [no] --disable-debug 禁用調(diào)試符號 | disable debugging symbols --disable-opts 禁用編譯器最優(yōu)化 | disable compiler optimizations --disable-mpegaudio-hp 啟用更快的解碼MPEG音頻(但精確度較低)(默認(rèn)禁用)faster (but less accurate) MPEG audio
decoding
[default=no] --disable-protocols 禁用 I/O 協(xié)議支持(默認(rèn)啟用)disable I/O protocols support [default=no] --disable-ffserver 禁用生成ffserver | disable ffserver build --disable-ffplay 禁用生成ffplay | disable ffplay build --enable-small 啟用優(yōu)化文件尺寸大。奚俣龋﹐ptimize for size instead of speed --enable-memalign-hack 啟用模擬內(nèi)存排列,由內(nèi)存調(diào)試器干涉? | emulate memalign, interferes with memory debuggers --disable-strip 禁用剝離可執(zhí)行程序和共享庫 | 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
|