FFmpeg的configure脚本提供了许多选项来自定义编译过程,包括启用或禁用特定的功能、编解码器、库、协议等。以下是一些常见的configure选项,您可以根据需要添加到配置命令中:
-
通用选项:
--enable-shared: 启用构建共享库(.so 文件)。--enable-static: 启用构建静态库(.a 文件)。--disable-optimizations: 禁用编译优化。--enable-debug: 启用调试模式。
-
外部库和框架:
--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)。
-
编解码器和协议:
--enable-protocol=xxx: 启用特定的网络协议,例如file,http,rtmp等。--enable-encoder=xxx: 启用特定的编码器,例如libx264,libvpx等。--enable-decoder=xxx: 启用特定的解码器。
-
过滤器:
--enable-filter=xxx: 启用特定的过滤器,例如delogo。
-
特定功能:
--enable-alsa: 启用 ALSA 音频接口支持。--enable-libv4l2: 启用 V4L2 视频设备支持。
-
其他:
--enable-version3: 启用 FFmpeg API 版本 3。--enable-nonfree: 启用非自由编解码器和工具。--enable-gpl: 启用 GPL 许可下的编解码器。--enable-libspeex: 启用 Speex 编码支持。--enable-pthreads: 启用 POSIX 线程支持。
-
安装目录:
--prefix=/usr/local/ffmpeg: 设置安装目录。
-
其他选项:
--enable-small: 优化生成的程序大小。--enable-runtime-cpudetect: 允许在运行时检测 CPU 功能。--enable-neon: 对 ARM 架构启用 NEON 指令集。
要查看 FFmpeg 的configure脚本支持的所有选项,您可以运行:
./configure --help
这将列出所有可用的选项及其描述。您可以根据输出中的信息来选择您需要的选项。
在添加这些选项时,请确保您的系统已经安装了所有必要的依赖项。某些选项可能需要特定的库或开发头文件。您可以使用您的系统的包管理器(如apt-get、yum等)来安装这些依赖。
以下是我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