FFmpeg 编译参数简单整理

作者: 团不慌 | 来源:发表于2018-05-07 22:39 被阅读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

    相关文章

      网友评论

        本文标题:FFmpeg 编译参数简单整理

        本文链接:https://www.haomeiwen.com/subject/hzqlrftx.html