FFmpeg视频编码学习之路音视频技术

FFmpeg 编译参数简单整理

2018-05-07  本文已影响51人  团不慌

1 生成参数

参数 功能 注释
--arch 编译架构
--help 打印帮助信息
--prefix 安装路径 Linux默认为/usr/local
--libdir 库安装路径 默认PREFIX/lib
--shlibdir 共享库安装路径 默认PREFIX/lib
--incdir 头文件安装路径 默认PREFIX/include/ffmpeg
--mandir 指定man page路径 默认PREFIX/man
--cc 指定编译器 默认gcc
--make 指定何种make
--source-path 源码路径
--pkg-config 指定pkg-config 默认pkg-config
--pkg-config-flags 指定pkg-config参数 默认--static
--extra-cflags 添加额外的CFLAG ECFLAGS
--extra-ldflags 添加额外的LDFLAG ELDFLAGS
--extra-libs 添加额外的LIB ELIBS
--cpu 指定最小的CPU版本
--nm 指定NM工具
--ar 指定AR工具
--as 指定汇编工具
--ld 指定LD链接器

2 交叉参数

参数 功能 注释
-cross-prefix 指定编译工具 交叉编译
--cross-compile 假定使用交叉编译
--target-os 目标系统
--sysroot 交叉编译树的根 libc
--sysinclude 交叉编译头文件
--target-exec 目标系统上的运行命令
--target-path 目标系统上的模拟构建路径

3 性能参数

以下参数使用--enable-foo启用或使用--disable-foo禁用时使用--e/d-代替。

参数 功能 注释
--e/d-debug 是否调试 enable时可指定level
--e/d-optimizations 编译器优化
--samples 制定测试示例位置
--e/d-stripping 是否剥离可执行程序与共享库
--e/d-asm 汇编优化
--e/d-yasm 是否使用yasm汇编器

其他的可更改优化方案:AltiVec、3DNow! 、MMX、MMX2、SSE、SSE3、armv5te、armv6、armv6t2、ARM VFP、iwmmxt、MMI、neon、VIS

4 功能选项

使用--enable-foo启用或使用--disable-foo禁用需要的功能插件,使用--e/d-代替。某些部件(如decoder)enable时需要明确指明,例:--enable-decoder=libdavs2。

参数 功能 注释
--e/d-static 静态库构建 默认:no
--e/d-shared 共享库构建 默认:no
--e/d-pic 代码非位置依赖 默认:no
--e/d-gpl GPL代码使用
--e/d-nonfree 非免费得代码使用 默认:no
--e/d-doc 文档构造 默认:yes
--e/d-pthreads pthreads 默认:yes
--disable-decoder 禁用所有解码器 同理其他
--enable-decoder=DEC 打开某个解码器 同理其他
--enable-libdavs2 启用avs2解码器 同理其他

注:打开与启用非等同

其他默认开启但可以关闭的部分:ffmpeg、ffprobe、ffplay、ffserver、avdevice、avcodec、avcore、avformat、swscale、特定部件(如某个编解码器等)

可选择禁用的编码:AAN DCT、DCT、Golomb、FFT、Golomb、LPC、MDCT、RDFT、VAAPI、VDPAU、DXVA2

上一篇下一篇

猜你喜欢

热点阅读