前言
一般网上的教程基本都是在 windows 搭建 ffmpeg 开发环境,我自己实际操作之后,发现遇到了一些问题,因此,写一篇 macbook 上搭建 ffmepg 开发环境的方法,并且做一些记录。
由于我前面已经在 macbook 上搭建了自己的开发环境,在此基础上搭建 ffmpeg 的开发环境就相对简单很多,遇到的问题也少很多。如果有朋友在按照我的文档执行之后,遇到了其他问题,也可以进行留言讨论。
搭建步骤
步骤1:下载 ffmpeg 源代码
下载地址:GitHub - FFmpeg/FFmpeg at release/5.1
我下载的是 5.1.2 的代码,不过看最新的应该升级到了 5.1.3,并且还有 6.0 的,大家可以尝试下载自己喜欢的版本。
步骤2:执行配置命令
由于我这次调试只是希望影响到当前账户,因此安装路径设置成了 ~/ffmpeg-5.1.2 所以我的安装命令是:
./configure --prefix=/Users/<home path>/ffmpeg-5.1.2 --enable-shared --enable-libvpx
执行之后,果然出现错误,日志如下:
libvpx enabled but no supported decoders found
libvpx 是支持 VP8,VP9 的编解码格式的库,建议还是能安装上。因此我执行了如下指令:
brew install libvpx
安装成功,
可以通过如下命令看一下是否已安装成功:
brew list | grep libvpx
但是先别着急再执行 ./configure 指令,因为 brew 的安装目录,./configure 未必找得到。因此我们需要查询一下 brew 将 libvpx 具体安装在哪里了。
查找方法如下:
brew --prefix
执行这个指令,能够找到 homebrew 的目录,我的目录是 /opt/homebrew
然后再到 /opt/homebrew 里面找 libvpx 的安装目录就容易了,一般情况下,brew 指令安装的目录都是在 Cellar 目录下面,对于我的系统来说,最后的 libvpx 安装路径就是:
/opt/homebrew/Cellar/libvpx/1.12.0
在 libvpx 目录下有两个目录需要在 configure 时导入,一个是 include 目录,另一个是 lib 目录,最后我的执行命令拼接为:
./configure --prefix=/Users/<home path>/ffmpeg-5.1.2 --enable-shared --enable-libvpx --extra-cflags=-I/opt/homebrew/Cellar/libvpx/1.12.0/include --extra-ldflags=-L/opt/homebrew/Cellar/libvpx/1.12.0/lib
这里需要注意的有 2 点:
1. --prefix= 后面的路径千万别以 ~ 开头,否则安装会有问题
2. 如果希望增加调试信息则需要在 ./configure 前面增加 CFLAGS="-g -O2" 即
CFLAGS="-g -O2" ./configure --prefix=/Users/<home path>/ffmpeg-5.1.2 --enable-shared --enable-libvpx --extra-cflags=-I/opt/homebrew/Cellar/libvpx/1.12.0/include --extra-ldflags=-L/opt/homebrew/Cellar/libvpx/1.12.0/lib
步骤3:执行安装命令
make -j32
我执行 make 之后一点波澜没有,所以也就不能分享这个过程中遇到的异常情况了。
步骤4:执行安装命令
make install
最终可以在 ~/ffmpeg-5.1.2 目录下看到已经安装的 ffmpeg
步骤5:配置环境
先别着急,前面在配置 --enable-libvpx 时增加了一小段代码,需要识别
小试牛刀
验证一下自己安装的成果吧
进入到 ffmpeg 执行路径
cd ~/ffmpeg-5.1.2/bin
# 然后执行一个转为 vp8 格式的转码命令
./ffmpeg -i <input video>.mp4 -c:v libvpx -b:v 1M output_video.webm
# 然后播放一下
./ffplay output_video.webm
PS: 对于 ffmpeg 的开发者来说,这仅仅是个开始。