FFmpeg编译安装注意事项

104 阅读2分钟

FFmpeg的configure脚本提供了许多选项来自定义编译过程,包括启用或禁用特定的功能、编解码器、库、协议等。以下是一些常见的configure选项,您可以根据需要添加到配置命令中:

  1. 通用选项:

    • --enable-shared: 启用构建共享库(.so 文件)。
    • --enable-static: 启用构建静态库(.a 文件)。
    • --disable-optimizations: 禁用编译优化。
    • --enable-debug: 启用调试模式。
  2. 外部库和框架:

    • --enable-libx264: 启用 H.264 编码支持(使用 libx264)。
    • --enable-libx265: 启用 H.265 编码支持(使用 libx265)。
    • --enable-libvpx: 启用 VP8 和 VP9 编码支持(使用 libvpx)。
    • --enable-libmp3lame: 启用 MP3 编码支持(使用 LAME)。
    • --enable-libfdk-aac: 启用 AAC 编码支持(使用 Fraunhofer FDK AAC)。
  3. 编解码器和协议:

    • --enable-protocol=xxx: 启用特定的网络协议,例如 filehttprtmp 等。
    • --enable-encoder=xxx: 启用特定的编码器,例如 libx264libvpx 等。
    • --enable-decoder=xxx: 启用特定的解码器。
  4. 过滤器:

    • --enable-filter=xxx: 启用特定的过滤器,例如 delogo
  5. 特定功能:

    • --enable-alsa: 启用 ALSA 音频接口支持。
    • --enable-libv4l2: 启用 V4L2 视频设备支持。
  6. 其他:

    • --enable-version3: 启用 FFmpeg API 版本 3。
    • --enable-nonfree: 启用非自由编解码器和工具。
    • --enable-gpl: 启用 GPL 许可下的编解码器。
    • --enable-libspeex: 启用 Speex 编码支持。
    • --enable-pthreads: 启用 POSIX 线程支持。
  7. 安装目录:

    • --prefix=/usr/local/ffmpeg: 设置安装目录。
  8. 其他选项:

    • --enable-small: 优化生成的程序大小。
    • --enable-runtime-cpudetect: 允许在运行时检测 CPU 功能。
    • --enable-neon: 对 ARM 架构启用 NEON 指令集。

要查看 FFmpeg 的configure脚本支持的所有选项,您可以运行:

./configure --help

这将列出所有可用的选项及其描述。您可以根据输出中的信息来选择您需要的选项。

在添加这些选项时,请确保您的系统已经安装了所有必要的依赖项。某些选项可能需要特定的库或开发头文件。您可以使用您的系统的包管理器(如apt-getyum等)来安装这些依赖。

以下是我configure时使用的命令

./configure --prefix=/usr/local/ffmpeg/ \
    --enable-shared \
    --enable-gpl \
    --enable-nonfree \
    --enable-libfdk-aac \
    --enable-libmp3lame \
    --enable-libx264 \
    --enable-libx265 \
    --enable-filter=delogo \
    --enable-debug \
    --disable-optimizations \
    --enable-libspeex \
    --enable-pthreads \
    --enable-version3 \
    --enable-hardcoded-tables \
    --enable-libv4l2 \
    --enable-alsa \
    --enable-protocol=file,http,rtmp