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