我是靠谱客的博主 坦率钢笔,最近开发中收集的这篇文章主要介绍Fedora 35 编译安装ffmpeg 5.0 —— 筑梦之路,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

https://ffmpeg.org/releases/ffmpeg-5.0.tar.gz

#安装编译工具
dnf
install gcc make gcc-c++ yasm yasm-devel
#解压源码
tar -zxf ffmpeg-5.0.tar.gz
cd ffmpeg-5.0
./configure --enable-shared
make
make install
#配置环境变量
vim /etc/profile
export PATH=/usr/local/bin:$PATH
#配置动态库链接
vim /etc/ld.so.conf
/usr/local/lib/
ldconfig
#验证
ffmpeg -version
#这里使用默认的进行编译安装,没有支持其他库
#开启其他模块的支持,更加符合业务需求
ffmpeg -version
ffmpeg version 5.0 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-shared
libavutil
57. 17.100 / 57. 17.100
libavcodec
59. 18.100 / 59. 18.100
libavformat
59. 16.100 / 59. 16.100
libavdevice
59.
4.100 / 59.
4.100
libavfilter
8. 24.100 /
8. 24.100
libswscale
6.
4.100 /
6.
4.100
libswresample
4.
3.100 /
4.
3.100
libpostproc
56.
3.100 / 56.
3.100
#增加x264 x265 vp libmp3lame等模块支持
##安装工具包
dnf install gcc make gcc-c++ yasm yasm-devel cmake automake libtool graphviz xmlto nasm nasm-devel libogg libvorbis libvpx-devel
##拉取x264源码编译安装
git clone http://git.videolan.org/git/x264.git
cd x264/
./configure --enable-static --enable-pic --enable-shared
make && make install
##拉取x265源码编译安装
dnf install hg -y
hg clone http://hg.videolan.org/x265
cd x265/build/linux
sh make-Makefiles.bash
make install
##安装依赖包
dnf install pkg-config python3 python3-pip python3-devel expat-devel libdrm-devel libffi-devel libffi autoconf zlib-devel openssl-devel speex-devel
##拉取aac音频库源码编译安装
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac/
autoreconf -fiv
./configure
--disable-shared
make && make install
ldconfig
##下载mp3源码编译安装
curl -L -O https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
tar -zxf lame-3.100.tar.gz
cd lame-3.100/
./configure --disable-shared --enable-nasm
make && make install
##配置环境变量
vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
source /etc/profile
vim /etc/ld.so.conf.d/ffmpeg.conf
/usr/local/lib
ldconfig
##切换到ffmpeg 5.0源码目录编译安装
cd ffmpeg-5.0/
./configure --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl --enable-zlib --enable-libfreetype --enable-iconv --enable-libwebp --enable-libspeex --disable-shared
make -j2
make install
#验证
ffmpeg -version
ffmpeg version 5.0 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl --enable-libfreetype --enable-zlib --enable-iconv --enable-libwebp --enable-libspeex --disable-shared
libavutil
57. 17.100 / 57. 17.100
libavcodec
59. 18.100 / 59. 18.100
libavformat
59. 16.100 / 59. 16.100
libavdevice
59.
4.100 / 59.
4.100
libavfilter
8. 24.100 /
8. 24.100
libswscale
6.
4.100 /
6.
4.100
libswresample
4.
3.100 /
4.
3.100
libpostproc
56.
3.100 / 56.
3.100
ffmpeg configure编译参数详解
--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/man)install 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-libx264
启用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]
高级参数选项:
--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
启用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
附一份ffmpeg 5.0原版的帮助信息
Usage: configure [options]
Options: [defaults in brackets after descriptions]
Help options:
--help
print 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
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:
--logfile=FILE
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
install in PREFIX [/usr/local]
--bindir=DIR
install binaries in DIR [PREFIX/bin]
--datadir=DIR
install data files in DIR [PREFIX/share/ffmpeg]
--docdir=DIR
install documentation in DIR [PREFIX/share/doc/ffmpeg]
--libdir=DIR
install libs in DIR [PREFIX/lib]
--shlibdir=DIR
install shared libs in DIR [LIBDIR]
--incdir=DIR
install includes in DIR [PREFIX/include]
--mandir=DIR
install man page in DIR [PREFIX/share/man]
--pkgconfigdir=DIR
install pkg-config files in DIR [LIBDIR/pkgconfig]
--enable-rpath
use 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=DIR
Darwin directory name for installed targets
Licensing options:
--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]
Configuration options:
--disable-static
do not build static libraries [no]
--enable-shared
build shared libraries [no]
--enable-small
optimize for size instead of speed
--disable-runtime-cpudetect disable detecting CPU capabilities at runtime (smaller binary)
--enable-gray
enable full grayscale support (slower color)
--disable-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:
--disable-programs
do not build command line programs
--disable-ffmpeg
disable ffmpeg build
--disable-ffplay
disable ffplay build
--disable-ffprobe
disable ffprobe build
Documentation options:
--disable-doc
do not build documentation
--disable-htmlpages
do not build HTML documentation pages
--disable-manpages
do not build man documentation pages
--disable-podpages
do not build POD documentation pages
--disable-txtpages
do not build text documentation pages
Component options:
--disable-avdevice
disable libavdevice build
--disable-avcodec
disable libavcodec build
--disable-avformat
disable libavformat build
--disable-swresample
disable libswresample build
--disable-swscale
disable libswscale build
--disable-postproc
disable libpostproc build
--disable-avfilter
disable libavfilter build
--disable-pthreads
disable pthreads [autodetect]
--disable-w32threads
disable Win32 threads [autodetect]
--disable-os2threads
disable OS/2 threads [autodetect]
--disable-network
disable network support [no]
--disable-dct
disable DCT code
--disable-dwt
disable DWT code
--disable-error-resilience disable error resilience code
--disable-lsp
disable LSP code
--disable-lzo
disable LZO decoder code
--disable-mdct
disable MDCT code
--disable-rdft
disable RDFT code
--disable-fft
disable FFT code
--disable-faan
disable floating point AAN (I)DCT code
--disable-pixelutils
disable pixel utils in libavutil
Individual component 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
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
--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:
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-libopus will enable linking to
libopus and allow the libopus encoder to be built, unless it is
specifically disabled with --disable-encoder=libopus.
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.
--disable-alsa
disable ALSA support [autodetect]
--disable-appkit
disable Apple AppKit framework [autodetect]
--disable-avfoundation
disable Apple AVFoundation framework [autodetect]
--enable-avisynth
enable reading of AviSynth script files [no]
--disable-bzlib
disable bzlib [autodetect]
--disable-coreimage
disable Apple CoreImage framework [autodetect]
--enable-chromaprint
enable audio fingerprinting with chromaprint [no]
--enable-frei0r
enable frei0r video filtering [no]
--enable-gcrypt
enable gcrypt, needed for rtmp(t)e support
if openssl, librtmp or gmp is not used [no]
--enable-gmp
enable gmp, needed for rtmp(t)e support
if openssl or librtmp is not used [no]
--enable-gnutls
enable gnutls, needed for https support
if openssl, libtls or mbedtls is not used [no]
--disable-iconv
disable iconv [autodetect]
--enable-jni
enable JNI support [no]
--enable-ladspa
enable LADSPA audio filtering [no]
--enable-libaom
enable AV1 video encoding/decoding via libaom [no]
--enable-libaribb24
enable ARIB text and caption decoding via libaribb24 [no]
--enable-libass
enable libass subtitles rendering,
needed for subtitles and ass filter [no]
--enable-libbluray
enable BluRay reading using libbluray [no]
--enable-libbs2b
enable bs2b DSP library [no]
--enable-libcaca
enable textual display using libcaca [no]
--enable-libcelt
enable CELT decoding via libcelt [no]
--enable-libcdio
enable audio CD grabbing with libcdio [no]
--enable-libcodec2
enable codec2 en/decoding using libcodec2 [no]
--enable-libdav1d
enable AV1 decoding via libdav1d [no]
--enable-libdavs2
enable AVS2 decoding via libdavs2 [no]
--enable-libdc1394
enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
--enable-libfdk-aac
enable AAC de/encoding via libfdk-aac [no]
--enable-libflite
enable flite (voice synthesis) support via libflite [no]
--enable-libfontconfig
enable libfontconfig, useful for drawtext filter [no]
--enable-libfreetype
enable libfreetype, needed for drawtext filter [no]
--enable-libfribidi
enable libfribidi, improves drawtext filter [no]
--enable-libglslang
enable GLSL->SPIRV compilation via libglslang [no]
--enable-libgme
enable Game Music Emu via libgme [no]
--enable-libgsm
enable GSM de/encoding via libgsm [no]
--enable-libiec61883
enable iec61883 via libiec61883 [no]
--enable-libilbc
enable iLBC de/encoding via libilbc [no]
--enable-libjack
enable JACK audio sound server [no]
--enable-libklvanc
enable Kernel Labs VANC processing [no]
--enable-libkvazaar
enable HEVC encoding via libkvazaar [no]
--enable-liblensfun
enable lensfun lens correction [no]
--enable-libmodplug
enable ModPlug via libmodplug [no]
--enable-libmp3lame
enable MP3 encoding via libmp3lame [no]
--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-libopenh264
enable H.264 encoding via OpenH264 [no]
--enable-libopenjpeg
enable JPEG 2000 de/encoding via OpenJPEG [no]
--enable-libopenmpt
enable decoding tracked files via libopenmpt [no]
--enable-libopenvino
enable OpenVINO as a DNN module backend
for DNN based filters like dnn_processing [no]
--enable-libopus
enable Opus de/encoding via libopus [no]
--enable-libpulse
enable Pulseaudio input via libpulse [no]
--enable-librabbitmq
enable RabbitMQ library [no]
--enable-librav1e
enable AV1 encoding via rav1e [no]
--enable-librist
enable RIST via librist [no]
--enable-librsvg
enable SVG rasterization via librsvg [no]
--enable-librubberband
enable rubberband needed for rubberband filter [no]
--enable-librtmp
enable RTMP[E] support via librtmp [no]
--enable-libshaderc
enable GLSL->SPIRV compilation via libshaderc [no]
--enable-libshine
enable fixed-point MP3 encoding via libshine [no]
--enable-libsmbclient
enable Samba protocol via libsmbclient [no]
--enable-libsnappy
enable Snappy compression, needed for hap encoding [no]
--enable-libsoxr
enable Include libsoxr resampling [no]
--enable-libspeex
enable Speex de/encoding via libspeex [no]
--enable-libsrt
enable Haivision SRT protocol via libsrt [no]
--enable-libssh
enable SFTP protocol via libssh [no]
--enable-libsvtav1
enable AV1 encoding via SVT [no]
--enable-libtensorflow
enable TensorFlow as a DNN module backend
for DNN based filters like sr [no]
--enable-libtesseract
enable Tesseract, needed for ocr filter [no]
--enable-libtheora
enable Theora encoding via libtheora [no]
--enable-libtls
enable LibreSSL (via libtls), needed for https support
if openssl, gnutls or mbedtls is not used [no]
--enable-libtwolame
enable MP2 encoding via libtwolame [no]
--enable-libuavs3d
enable AVS3 decoding via libuavs3d [no]
--enable-libv4l2
enable libv4l2/v4l-utils [no]
--enable-libvidstab
enable video stabilization using vid.stab [no]
--enable-libvmaf
enable vmaf filter via libvmaf [no]
--enable-libvo-amrwbenc
enable AMR-WB encoding via libvo-amrwbenc [no]
--enable-libvorbis
enable Vorbis en/decoding via libvorbis,
native implementation exists [no]
--enable-libvpx
enable VP8 and VP9 de/encoding via libvpx [no]
--enable-libwebp
enable WebP encoding via libwebp [no]
--enable-libx264
enable H.264 encoding via x264 [no]
--enable-libx265
enable HEVC encoding via x265 [no]
--enable-libxavs
enable AVS encoding via xavs [no]
--enable-libxavs2
enable AVS2 encoding via xavs2 [no]
--enable-libxcb
enable X11 grabbing using XCB [autodetect]
--enable-libxcb-shm
enable X11 grabbing shm communication [autodetect]
--enable-libxcb-xfixes
enable X11 grabbing mouse rendering [autodetect]
--enable-libxcb-shape
enable X11 grabbing shape rendering [autodetect]
--enable-libxvid
enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-libxml2
enable XML parsing using the C library libxml2, needed
for dash and imf demuxing support [no]
--enable-libzimg
enable z.lib, needed for zscale filter [no]
--enable-libzmq
enable message passing via libzmq [no]
--enable-libzvbi
enable teletext support via libzvbi [no]
--enable-lv2
enable LV2 audio filtering [no]
--disable-lzma
disable lzma [autodetect]
--enable-decklink
enable Blackmagic DeckLink I/O support [no]
--enable-mbedtls
enable mbedTLS, needed for https support
if openssl, gnutls or libtls is not used [no]
--enable-mediacodec
enable Android MediaCodec support [no]
--enable-mediafoundation enable encoding via MediaFoundation [auto]
--disable-metal
disable Apple Metal framework [autodetect]
--enable-libmysofa
enable libmysofa, needed for sofalizer filter [no]
--enable-openal
enable OpenAL 1.1 capture support [no]
--enable-opencl
enable OpenCL processing [no]
--enable-opengl
enable OpenGL rendering [no]
--enable-openssl
enable openssl, needed for https support
if gnutls, libtls or mbedtls is not used [no]
--enable-pocketsphinx
enable PocketSphinx, needed for asr filter [no]
--disable-sndio
disable sndio support [autodetect]
--disable-schannel
disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used [autodetect]
--disable-sdl2
disable sdl2 [autodetect]
--disable-securetransport disable Secure Transport, needed for TLS support
on OSX if openssl and gnutls are not used [autodetect]
--enable-vapoursynth
enable VapourSynth demuxer [no]
--disable-vulkan
disable Vulkan code [autodetect]
--disable-xlib
disable xlib [autodetect]
--disable-zlib
disable zlib [autodetect]
The following libraries provide various hardware acceleration features:
--disable-amf
disable AMF video encoding code [autodetect]
--disable-audiotoolbox
disable Apple AudioToolbox code [autodetect]
--enable-cuda-nvcc
enable Nvidia CUDA compiler [no]
--disable-cuda-llvm
disable CUDA compilation using clang [autodetect]
--disable-cuvid
disable Nvidia CUVID support [autodetect]
--disable-d3d11va
disable Microsoft Direct3D 11 video acceleration code [autodetect]
--disable-dxva2
disable Microsoft DirectX 9 video acceleration code [autodetect]
--disable-ffnvcodec
disable dynamically linked Nvidia code [autodetect]
--enable-libdrm
enable DRM code (Linux) [no]
--enable-libmfx
enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
--enable-libnpp
enable Nvidia Performance Primitives-based code [no]
--enable-mmal
enable Broadcom Multi-Media Abstraction Layer (Raspberry Pi) via MMAL [no]
--disable-nvdec
disable Nvidia video decoding acceleration (via hwaccel) [autodetect]
--disable-nvenc
disable Nvidia video encoding code [autodetect]
--enable-omx
enable OpenMAX IL code [no]
--enable-omx-rpi
enable OpenMAX IL code for Raspberry Pi [no]
--enable-rkmpp
enable Rockchip Media Process Platform code [no]
--disable-v4l2-m2m
disable V4L2 mem2mem code [autodetect]
--disable-vaapi
disable Video Acceleration API (mainly Unix/Intel) code [autodetect]
--disable-vdpau
disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
--disable-videotoolbox
disable VideoToolbox code [autodetect]
Toolchain options:
--arch=ARCH
select architecture []
--cpu=CPU
select the minimum required CPU (affects
instruction selection, may crash on older CPUs)
--cross-prefix=PREFIX
use PREFIX for compilation tools []
--progs-suffix=SUFFIX
program name suffix []
--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
--target-samples=DIR
path to samples directory on target
--tempprefix=PATH
force fixed dir/prefix instead of mktemp for checks
--toolchain=NAME
set tool defaults according to 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
use nm tool NM [nm -g]
--ar=AR
use archive tool AR [ar]
--as=AS
use assembler AS []
--ln_s=LN_S
use symbolic link tool LN_S [ln -s -f]
--strip=STRIP
use strip tool STRIP [strip]
--windres=WINDRES
use windows resource compiler WINDRES [windres]
--x86asmexe=EXE
use nasm-compatible assembler EXE [nasm]
--cc=CC
use C compiler CC [gcc]
--cxx=CXX
use C compiler CXX [g++]
--objcc=OCC
use ObjC compiler OCC [gcc]
--dep-cc=DEPCC
use dependency generator DEPCC [gcc]
--nvcc=NVCC
use Nvidia CUDA compiler NVCC or clang []
--ld=LD
use linker LD []
--metalcc=METALCC
use metal compiler METALCC [xcrun -sdk macosx metal]
--metallib=METALLIB
use metal linker METALLIB [xcrun -sdk macosx metallib]
--pkg-config=PKGCONFIG
use pkg-config tool PKGCONFIG [pkg-config]
--pkg-config-flags=FLAGS pass additional flags to pkgconf []
--ranlib=RANLIB
use ranlib RANLIB [ranlib]
--doxygen=DOXYGEN
use DOXYGEN to generate API doc [doxygen]
--host-cc=HOSTCC
use host C compiler HOSTCC
--host-cflags=HCFLAGS
use HCFLAGS when compiling for host
--host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host
--host-ld=HOSTLD
use host linker HOSTLD
--host-ldflags=HLDFLAGS
use HLDFLAGS when linking for host
--host-extralibs=HLIBS
use libs HLIBS when linking for host
--host-os=OS
compiler host OS []
--extra-cflags=ECFLAGS
add ECFLAGS to CFLAGS []
--extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS []
--extra-objcflags=FLAGS
add FLAGS to OBJCFLAGS []
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
--extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS []
--extra-ldsoflags=ELDFLAGS add ELDFLAGS to LDSOFLAGS []
--extra-libs=ELIBS
add ELIBS []
--extra-version=STRING
version string suffix []
--optflags=OPTFLAGS
override optimization-related compiler flags
--nvccflags=NVCCFLAGS
override nvcc flags []
--build-suffix=SUFFIX
library name suffix []
--enable-pic
build position-independent code
--enable-thumb
compile for Thumb instruction set
--enable-lto
use link-time optimization
--env="ENV=override"
override the environment variables
Advanced options (experts only):
--malloc-prefix=PREFIX
prefix malloc and related names with PREFIX
--custom-allocator=NAME
use a supported custom allocator
--disable-symver
disable symbol versioning
--enable-hardcoded-tables use hardcoded tables instead of runtime generation
--disable-safe-bitstream-reader
disable buffer boundary checking in bitreaders
(faster, but may crash)
--sws-max-filter-size=N
the max filter size swscale uses [256]
Optimization options (experts only):
--disable-asm
disable all assembly optimizations
--disable-altivec
disable AltiVec optimizations
--disable-vsx
disable VSX optimizations
--disable-power8
disable POWER8 optimizations
--disable-amd3dnow
disable 3DNow! optimizations
--disable-amd3dnowext
disable 3DNow! extended optimizations
--disable-mmx
disable MMX optimizations
--disable-mmxext
disable MMXEXT optimizations
--disable-sse
disable SSE optimizations
--disable-sse2
disable SSE2 optimizations
--disable-sse3
disable SSE3 optimizations
--disable-ssse3
disable SSSE3 optimizations
--disable-sse4
disable SSE4 optimizations
--disable-sse42
disable SSE4.2 optimizations
--disable-avx
disable AVX optimizations
--disable-xop
disable XOP optimizations
--disable-fma3
disable FMA3 optimizations
--disable-fma4
disable FMA4 optimizations
--disable-avx2
disable AVX2 optimizations
--disable-avx512
disable AVX-512 optimizations
--disable-aesni
disable AESNI optimizations
--disable-armv5te
disable armv5te optimizations
--disable-armv6
disable armv6 optimizations
--disable-armv6t2
disable armv6t2 optimizations
--disable-vfp
disable VFP optimizations
--disable-neon
disable NEON optimizations
--disable-inline-asm
disable use of inline assembly
--disable-x86asm
disable use of standalone x86 assembly
--disable-mipsdsp
disable MIPS DSP ASE R1 optimizations
--disable-mipsdspr2
disable MIPS DSP ASE R2 optimizations
--disable-msa
disable MSA optimizations
--disable-mipsfpu
disable floating point MIPS optimizations
--disable-mmi
disable Loongson MMI optimizations
--disable-lsx
disable Loongson LSX optimizations
--disable-lasx
disable Loongson LASX optimizations
--disable-fast-unaligned consider unaligned accesses slow
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
--assert-level=level
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
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
location of test samples for FATE, if not set use
$FATE_SAMPLES at make invocation time.
--enable-neon-clobber-test check NEON registers for clobbering (should be
used only for debugging purposes)
--enable-xmm-clobber-test 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
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
seed value for --enable/disable-random
--disable-valgrind-backtrace do not print a backtrace under Valgrind
(only applies to --disable-optimizations builds)
--enable-ossfuzz
Enable building fuzzer tool
--libfuzzer=PATH
path to libfuzzer
--ignore-tests=TESTS
comma-separated list (without "fate-" prefix
in the name) of tests whose result is ignored
--enable-linux-perf
enable Linux Performance Monitor API
--enable-macos-kperf
enable macOS kperf (private) API
--disable-large-tests
disable tests that use a large amount of memory
--disable-ptx-compression don't compress CUDA PTX code even when possible
NOTE: Object files are built at the place where configure is launched.

最后

以上就是坦率钢笔为你收集整理的Fedora 35 编译安装ffmpeg 5.0 —— 筑梦之路的全部内容,希望文章能够帮你解决Fedora 35 编译安装ffmpeg 5.0 —— 筑梦之路所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部