在 OS X 上安装 FFmpeg

Shu*_*ama 39 ffmpeg installation macos

有没有我可以在 OS X 上为 FFmpeg 使用(或至少是我可以自己构建的版本)的好地方或 bash 脚本?

我已经安装了 Xcode 以及 Xcode 的 CLI(gcc等等)。

我目前安装了一个 FFmpeg 版本,但不知何故我在 libx264 和 libvpx 上遇到了分段错误(我无法转换为 MP4 和 WebM)。

我想要做的就是将视频文件批量转换为 HTML5 兼容的视频。我所有的源视频都包含 .mov .mp4 和 .wmv 文件。.ogv 顺便说一下。

所以真正的问题是:

  1. 现在如何在我的 Mac 上卸载 FFmpeg 的所有内容
  2. 重新安装可以转换为 .mp4、.webm 和 .ogv 的 FFmpeg 版本

我还尝试了 Miro 视频转换器的预编译版本,但不知何故也不起作用。

slh*_*hck 63

共有三个选项,按复杂程度排序:

  • Homebrew(或其他包管理器)
  • 静态构建
  • 自己编译

要遵循这一点,您需要有一些在 macOS 下使用终端/shell 的知识。


1. 自制

Homebrew有一个稳定 FFmpeg 版本的公式。这会让你跑得很快。首先,安装 Homebrew。

然后通过ffmpeg公式安装FFmpeg :

brew install ffmpeg
Run Code Online (Sandbox Code Playgroud)

这将下载很多依赖项,例如 x264,但之后您应该就可以开始了。

要稍后更新 ffmpeg,请运行:

brew update && brew upgrade ffmpeg
Run Code Online (Sandbox Code Playgroud)

2. 静态构建

下载页面FFmpeg 项目提供了指向 静态构建的链接ffmpeg,您只需在终端中下载、提取和使用即可。

静态构建不能包含所有可能的编码器,主要是由于许可问题。这就是为什么我不建议使用它们的原因,除非您并不真正关心您需要哪些特定功能。

下载后,解压缩文件,打开Terminal.app,然后导航到解压缩文件的目录,即在其中找到名为ffmpeg. 将此文件复制到/usr/local/bin

cd ~/Downloads/
sudo mkdir -p /usr/local/bin/
sudo cp ./ffmpeg /usr/local/bin
sudo chmod ugo+x /usr/local/bin/ffmpeg
Run Code Online (Sandbox Code Playgroud)

现在,如果您使用 Bash(这是默认的 shell),请将其添加到您的 $PATH:

open -e ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

将此添加到最后的文件中:

export PATH="/usr/local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

保存并关闭编辑器。现在重新启动您的终端,which ffmpeg应该返回/usr/local/bin/ffmpeg.


3. 自己编译

您当然可以按照OS X 编译指南自行构建 FFmpeg 工具。本指南将始终是最新的,通过手动编译,您可以调整一些参数。


要卸载您安装的任何版本的 FFmpeg,我们首先需要知道您是如何安装它的。由于 Homebrew 将安装到/usr/local/Cellar和符号链接到/usr/local/bin/ffmpeg,因此它可能不会对其他库造成任何问题。但是,请检查make install您(据说)自己构建的版本的脚本,并查看它们放置 FFmpeg 的位置。然后从那里删除它们——它不会干扰 Homebrew。

分段错误可能是由于 x264 或 libvpx 库之间的不正确链接造成的。由于 Homebrew 会处理这个问题,所以您应该不会遇到任何问题。