记录一次痛苦的在mac上安装ffmpeg的过程
- 前言
- 在 mac 上下载安装ffmpeg的试探之路
- 1、从官方网站下载FFmpeg软件包
- 2、选择用于macOS 64位的静态构建。这将使你重定向到evermeet.cx网站。
- 3、通过 Homebrew 安装 FFmpeg
- 3.1、在使用 Homebrew 安装的过程中可能会出现的问题
- 3.1.1 墙的问题
- 写在最后
- 参考文章
前言
之前在 windows
上安装 ffmpeg
玩耍的时候,感觉在 windows
上安装 ffmpeg
是很简单轻松的。
windows 安装 ffmpeg 过程详解 => 【最新】windows电脑FFmpeg安装教程手把手详解
为了验证 rtsp2web 在 mac
平台上的完善性和功能,准备在 mac
上安装 ffmpeg
。
没想到在 mac
上安装 ffmpeg
麻烦了。。。。
在 mac 上下载安装ffmpeg的试探之路
目前已知的几种在 mac 上安装 ffmpeg
的方式有如下几种:
- 1、从官方网站下载FFmpeg软件包
- 2、使用静态构建在 Mac 上安装 FFmpeg
- 3、通过 Homebrew 安装 FFmpeg
1、从官方网站下载FFmpeg软件包
从 ffmpeg 的官网下载 mac 平台下的静态二进制文件
ffmpeg 鼓励所有用户使用当前的快照构建而不是发布构建。仅接受快照构建的错误报告。
下载后解压,得到 ffmpeg
的可执行文件:
我双击这个图标,出现如下画面:
下一步就是要把这个 ffmpeg
文件配置到系统的环境变量中去,使其成为系统命令:
todo
- 如何配置环境变量?
到这里的后续操作,有会的朋友,可以加我联系方式,交流~
2、选择用于macOS 64位的静态构建。这将使你重定向到evermeet.cx网站。
选择ffmpeg-5.0.1版本。
打开下载的文件。这将使用Archive Utility将其解压,并创建一个可执行的FFMpeg文件。
3、通过 Homebrew 安装 FFmpeg
1、首先,你可以先更新一下你的 Homebrew:
# 更新
$ brew update
# 升级到最新的 Homebrew
$ brew upgrade
2、安装 FFmpeg
# 在 Homebrew 上安装最新版本的 FFmpeg
$ brew install ffmpeg
Homebrew 会安装 FFmpeg 以及相关的所有依赖项。
等待安装完成,然后启动 FFmpeg 进行验证:
# 验证 FFmpeg
$ ffmpeg -version
3、安装 Git Master 版本
如果你要安装最新的 FFmpeg Git master 版本,请将 --HEAD
标志添加到安装命令中。
brew install ffmpeg --HEAD
Homebrew 会克隆 FFmpeg 的 Git 仓库并使用 master 分支。
4.1、使用第三方存储库安装(可选)
FFmpeg 的默认版本带有精选的免费库。如果您需要在 FFmpeg 安装中包含其他库(包括专有库),请按照以下步骤操作:
# 添加以下 Homebrew tap(第三方存储库)
$ brew tap homebrew-ffmpeg/ffmpeg
4.2、使用以下命令安装第三方版本的FFmpeg
$ brew install homebrew-ffmpeg/ffmpeg/ffmpeg
3.1、在使用 Homebrew 安装的过程中可能会出现的问题
3.1.1 墙的问题
Homebrew 安装 FFmpeg 属于在线安装,会在线下载 FFmpeg 的依赖,然后编译,得到 FFmpeg。这个过程中,可能会出现,因为网络等原因,而导致的失败,例如 jpeg-xl
的下载超时/失败,等等问题,如下:
【截图省略】
那么,这个时候,你需要用到科学上网的方式,开启网络代理,并且会你的命令行工具也配置上代理,再继续尝试安装,就能成功了:
解决了这个问题以后,我继续重新安装 ffmpeg
,出现以下问题:
提到 Homebrew 安装 curl
失败,我手动自己安装一次:
手动安装好了 curl
以后,再继续 brew install ffmpeg
。
一路畅通,需要的依赖全部下载好了,后面就是漫长的编译过程,等待中… 然后整个 ffmpeg
就安装完成了。
写在最后
没想到在 Mac 上安装 FFmpeg 竟然会一波三折,好在终于安装好了。
关于第一点中提到的,从官网上下载的 FFmpeg 二进制文件如何配置环境变量的问题,感兴趣的同学可以加我联系方式,一起交流学习。 🌹🌹
参考文章
清华大学开源软件镜像站 - Homebrew / Linuxbrew 镜像使用帮助
how-to-install-ffmpeg-on-any-platform