【FFmpeg】在 Mac OS 中编译 FFmpeg 源码 ① ( homebrew 安装 | 通过 gitee 源安装 homebrew | 安装 FFmpeg 编译所需的软件包 )

一、homebrew 安装

1、homebrew 简介

在 Mac 系统中 homebrew 是一款 软件包管理工具 , 可以 轻松的 安装 / 卸载 / 更新 / 查看 / 搜索 软件包 , 可以简单方便地对软件包进行管理 , 无需用户 处理 复杂的依赖关系 问题 ;

homebrew 是 基于 Git 的仓库 的 , 用户 跟踪 和 获取最新版本的软件包 ;

homebrew 的 默认安装位置是 /usr/local/Cellar 目录 , 通过 homebrew 安装的所有软件包 都会被安装在其自己的子目录中 , 并自动在 /usr/local 目录中 创建对应的 软连接 , homebrew 不会将⽂件安装到它本身⽬录之外 ;

homebrew 只能通过 命令行终端 使用 , 没有图形化操作界面 ;

homebrew 是 Mac OS 中 开发必备的 软件包管理工具 , 其 简化了 Mac 中的软件管理流程 , 提升了 Mac OS 系统的 工作效率 和 软件使用体验 ;

除了 Mac OS 平台之外 , Linux 系统中也可以使用 homebrew , 不过在 Linux 上该软件包管理工具不是主流 ;

Linux 中的软件包管理工具 :

  • CentOS 中使用 yum ,
  • RedHat 中使用 rpm ,
  • Debian 中使用 dpkg ,
  • Ubuntu 中使用 apt ;

2、通过 gitee 源安装 homebrew

按照下面的流程 安装 homebrew 可以成功安装 , 期间不会报错 , 安装过程自动运行 , 安装完成后 , 自动配置国内的 中科大 软件包源 ;

安装 homebrew 的目的是 为了 安装 编译 FFmpeg 源码的 21 个前置软件包 , 下个章节会介绍需要提前安装的 软件包 及其作用 , 如果不提前安装这些软件包 , 编译 FFmpeg 源码时就会报错 ;

执行

代码语言:javascript
复制
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

命令 , 使用国内的 gitee 源 , 可以自动安装软件 ;

上述命令执行后 , 命令行输出如下 :

这里输入 1 按回车 , 通过 清华大学下载 brew ,

提示输入密码 , 这里输入 Mac 系统的密码 即可 ;

这里选择是否要删除本机的 Brew , 我的 Mac 上没有安装 homebrew , 直接选择 Y 回车即可 ;

这里按下 回车键 , 正式开始下载安装 homebrew ;

homebrew 安装完成后 , 会提示让你选择 之后使用 homebrew 安装软件包时 , 使用哪个源 , 这里选择 " 1 中科大国内源 " , 这是推荐选择 ;

在命令行中 , 输入 1 , 然后按回车 配置 中科大源 ;

配置完成后 , 会自动下载 中科大源 的相关配置 , homebrew 正式安装完成 ;

二、安装 FFmpeg 编译所需的软件包

1、编译 FFmpeg 源码需要安装的软件包

编译 FFmpeg 源码 , 需要安装如下软件包 , 否则在编译过程中会报各种错误 ;

  • automake git libtool fdk-aac lame libpng libass libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm pkg-config yasm freetype openssl
  • automake : 将 Makefile.am文件 转为 Makefile.in 文件的工具 ;
  • git : 分布式版本控制工具 ;
  • libtool : 用于 创建 / 修改 / 管理 动态链接库 , 可以自动化库的 编译 和 安装过程 , 并处理库的依赖关系 ;
  • fdk-aac : AAC音频编解码器 ;
  • lame : MP3 编码器 , 将 PCM 音频数据 转码为 MP3 格式 ;
  • libpng : 处理 PNG 图像文件的开源库,可 读取和写入 PNG 图像 ;
  • libass : 字幕渲染库 , 支持多种字幕格式 , 用于在视频播放软件中 显示字幕 ;
  • libvorbis : 开源的音频压缩格式及其相关的解码库 , 一般用于 ogg 格式的编解码 ;
  • libvpx: 开源的视频编码库 , 用于 VP8 / VP9 视频编码 ;
  • opus : 开源的音频编码格式及其相关的编解码库 , 用于 交互式语音和音乐传输 , 有利于在网上传输 ;
  • sdl : Simple DirectMedia Layer , 跨平台 图形和音频处理库 , 常用于游戏和多媒体应用的开发 ;
  • shtool : 处理 shell 脚本的工具 , 如 : 文件操作 , 文本处理 等操作 ;
  • texi2html : 将 TeXinfo 文档转换为 HTML 网页 的 工具 ;
  • theora : 开源的无损视频压缩格式 , 与 Vorbis 音频 和 Ogg 容器 使用 ;
  • wget : 网络下载工具 ;
  • x264 / x265 : H.264 / H.265 视频编解码库 ;
  • xvid : 开源的视频编码库 , 支持 MPEG-4 ASP(Advanced Simple Profile)编码 ;
  • nasm / yasm : 汇编器 , 将 汇编代码 转换为 机器码 ;
  • pkg-config : 用于在 编译时 查询 已安装软件包 的 版本信息 和 编译标志的工具 ;
  • freetype : 开源的字体渲染库 ;
  • openssl : 加密库 , 提供了 SSL 和 TLS 协议的实现 ;

2、使用 homebrew 安装软件包命令

使用

代码语言:javascript
复制
brew install automake git libtool fdk-aac lame libpng libass libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm pkg-config yasm freetype openssl

一条命令 , 可以 一键安装 , 但是在安装过程中可能会出现错误 , 如果出错不好排查是哪个软件包安装出错 , 这里建议进行分批安装 , 依次执行如下命令即可 :

代码语言:javascript
复制
brew install automake git libtool
brew install fdk-aac lame libpng libass libvorbis
brew install libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm
brew install pkg-config
brew install yasm
brew install freetype
brew install openssl

依次执行上述安装命令 , 目前没有遇到错误 ;