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
相关推荐
blanks202015 小时前
ffmpeg 学习笔记 通过命令行采集音频
ffmpeg
RTC实战笔记17 小时前
实时互动数字人怎么做,才不是一个只会说话的视频?
音视频·数字人·rtc·数字人接入
fthux20 小时前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
counterxing4 天前
最近发现一个 Mac 工具,有点像把 Raycast、语音输入法、截图和录屏塞到了一起
macos·ai编程·claude
Mahut5 天前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
元Y亨H11 天前
MacBook Air 开发神器:IDEA 与 PyCharm 极简安装及环境配置
macos
yuanyxh12 天前
macOS 应用 - 纯对话生成
前端·macos·ai编程
RTC实战笔记13 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
潜创微科技13 天前
HDMI1.3 无线传输芯片方案 空旷 150 米量产级音视频方案
音视频
VidDown13 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频