macos的FFmpeg环境搭建

macos环境下的FFmpeg项目搭建/编译/打包.so

简介

是一套跨平台的开源音视频处理工具库,能完成音视频领域的所有核心操作,覆盖 "编解码→格式转换→剪辑→滤镜→封装 / 解封装" 全流程

  • 音视频编解码:支持几乎所有主流编码格式(H.264/H.265/AV1/AAC/MP3 等),能把原始音视频数据编码为压缩格式,也能把压缩格式解码为原始数据;
  • 格式转换:比如 MP4 转 MP3、FLV 转 MP4、AVI 转 MKV 等,是最常用的功能;
  • 音视频剪辑 / 拼接:剪切指定时间段的音视频、拼接多个音视频文件;
  • 滤镜处理:给视频加水印、裁剪画面、调整分辨率 / 帧率、给音频降噪 / 调整音量;
  • 流媒体处理:推流 / 拉流(比如直播推流到 RTMP 服务器、播放网络音视频流);
  • 封装 / 解封装:把音视频流打包到不同容器格式(如把 H.264 视频流 + AAC 音频流封装为 MP4),或从容器中提取音视频流。

环境搭建

方案一:官网下载

  1. 下载:
    ffmpeg官网下载:https://www.ffmpeg.org/download.html
    如下图所示:选择对应的平台进行下载
  2. 解压:将下载的压缩包解压
  3. 将解压后的 ffmpeg 可执行文件移到方便的位置,例如:/usr/local/ffmpeg/bin(第三部配置环境需要使用)
  4. 配置环境变量
  • 打开配置文件
bash 复制代码
# 先判断终端类型(执行后看输出)
echo $SHELL

# 若输出 /bin/zsh → 编辑 ~/.zshrc
vim ~/.zshrc

# 若输出 /bin/bash → 编辑 ~/.bash_profile
vim ~/.bash_profile
  • 添加路径:
bash 复制代码
export PATH=/usr/local/ffmpeg/bin:$PATH
  • 生效配置:
bash 复制代码
source ~/.zshrc  # zsh 终端
# 或 source ~/.bash_profile  # bash 终端

方案二:命令行搭建(Homebrew 安装 )

  1. 搭建使用 Homebrew
bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 一键安装 FFmpeg(包含所有常用功能)
bash 复制代码
brew install ffmpeg
  1. Homebrew 安装的 FFmpeg 理论上已自动配置环境变量,但如果执行 ffmpeg -v 提示 "command not found",需手动配置(参考方案一的第4步)

方案三:git仓库下载编译

  1. 下载
bash 复制代码
## 下载仓库
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
## 切换版本
git checkout remotes/origin/release/对应的版本
  1. 切换到ffmpeg目录下
bash 复制代码
cd ffmpeg
  1. 编译
  • 配置编译参数再编译
bash 复制代码
# 执行配置
./configure \
  --prefix=/usr/local/ffmpeg \          # 编译后安装路径(自定义)
  --enable-gpl \                        # 启用 GPL 协议(支持 x264/x265)
  --enable-nonfree \                    # 启用非免费编码器(如 fdk-aac)
  --enable-libx264 \                    # 启用 x264(H.264 编码)
  --enable-libx265 \                    # 启用 x265(H.265 编码)
  --enable-libfdk-aac \                 # 启用 fdk-aac(高品质 AAC 编码)
  --enable-libmp3lame \                 # 启用 MP3 编码
  --enable-sdl2 \                       # 启用 SDL2(ffplay 播放)
  --enable-ffplay \                     # 启用 ffplay 工具
  --enable-ffprobe \                    # 启用 ffprobe 工具
  --disable-debug \                     # 禁用调试(减小体积)
  --enable-small                        # 优化体积

# 编译
make -j8
  • 简易编译
bash 复制代码
 ./configure  && make
  1. 此时在FFmpeg目录下会存在一下命令文件【 ffmpeg(核心处理工具)、ffplay(音视频播放)、ffprobe(信息分析)】和工具文件
  • libavcodec,提供了多种编解码器的实现;
  • libavformat,实现流协议,容器格式和基本I / O访问;
  • libavutil,包括哈希,解压缩器和其他实用程序功能;
  • libavfilter,提供了一种通过滤波器链来更改解码的音频和视频的方法;
  • libavdevice,提供采用硬件设备进行图片补货和视频播放的抽象封装;
  • libswresample,实现了音频混合和重采样工作;
  • libswscale,实现了色彩转换和缩放等工作;

总结

  1. 验证环境是否搭建成功
bash 复制代码
ffmpeg -version

如果能查看对应的版本号,即认为已经搭建成功

  1. 命令行文件的使用
  • ffmpeg,处理,转换和流式传输多媒体内容的命令行工具箱。
  • ffplay,mini多媒体播放器;
  • ffprobe,检查多媒体内容的简单分析工具;
bash 复制代码
## 使用
ffplay /**/**/Downloads/ios_demo_vdeo_device.mov(视频文件路径)
ffmpeg /**/**/Downloads/ios_demo_vdeo_device.mov(视频文件路径)
ffprobe /**/**/Downloads/ios_demo_vdeo_device.mov(视频文件路径)
  1. 卸载
bash 复制代码
brew uninstall ffmpeg
相关推荐
AF_INET67 小时前
RV1126B开发板学习篇(二)v4l2+mpp编码
c语言·经验分享·音视频·视频编解码·嵌入式软件·rv1126b
reembarkation9 小时前
vue3中使用howler播放音频列表
前端·vue.js·音视频
ZzT9 小时前
给 Claude Code 装一只状态栏桌宠:cc-statistics 新版本更新
macos·开源·claude
BryanGG12 小时前
【说明书】索尼A7C视频拍摄PP值配置
音视频·规格说明书
带娃的IT创业者13 小时前
音乐播放器开发:QtMultimedia 音频引擎与播放列表管理
音视频·pyside6·qtmultimedia·音乐播放·qmediaplayer·播放列表·audio ducking
优选资源分享17 小时前
小白转文字 v1.2.8.0 | 安卓离线免费音视频转写工具
android·音视频
不才小强17 小时前
Qt开发实战:屏幕录制项目中学习到的知识与遇到的难题
qt·音视频
要开心吖ZSH18 小时前
MP4 转 WAV 音频转码方案详解(ProcessBuilder + FFmpeg)
java·ffmpeg·音视频
deepdata_cn18 小时前
移动端高并发视频合成
音视频·视频合成