ffmpeg - 编译
...大约 2 分钟
由于包含全部功能的ffmpeg.exe
体积过大,所以当只需要部分功能时,需要自己编译 ffmpeg。
推荐教程:博客园
下载源码
安装依赖库
在 Windows 上的安装可以使用 MSY2 进行
pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S nasm
pacman -S yasm
pacman -S make
pacman -S diffutils
配置编译参数
先转到 ffmpeg 源码目录
执行./configure --help
可查看所有支持的编译参数
先禁用所有模块,然后逐个开启模块进行编译
--disable-everything
指定输出目录
--prefix=PATH
protocol:文件协议
file
表示本地进行转码,不支持网络操作
--enable-protocol=file
encoder:编码器
如需将一个格式转成另一个格式,就需要目标格式的编码器
启用指定的编码器
--enable-encoder=NAME
decoder:解码器
如需将一个格式转成另一个格式,就需要原格式的解码器
启用指定的解码器
--enable-decoder=NAME
parser:解析器
如需将一个格式转成另一个格式,就需要原格式的解析器
启用指定的解析器
--enable-parser=NAME
muxer:封装器
将多个媒体流封装成一个文件,如 MP4 文件可以包含音频、视频、字幕等媒体流
启用指定的封装器
--enable-muxer=NAME
demuxer:拆分器
将一个文件拆分成多个媒体流,如 MP4 文件可以拆分成音频、视频、字幕等媒体流
如需要从视频提取音频就需要拆分器
启用指定的拆分器
--enable-demuxer=NAME
filter:过滤器
对媒体流进行处理,如裁剪、旋转、缩放、音频重采样需要不同的过滤器,可手动开启需要的过滤器等
启用指定的过滤器
--enable-filter=NAME
其他参数
--extra-libs="-lpthread" --pkg-config-flags="--static" --extra-ldflags='-Wl,-Bstatic -lpthread'
编译
make -j4
输出
将编译好的文件输出到PATH
指定的目录
make install
Powered by Waline v3.3.2