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
相关推荐
美狐美颜sdk1 小时前
直播APP源码可以直接接入视频美颜sdk吗?技术方案详解
android·人工智能·音视频·美颜sdk·直播美颜sdk
揽秀亭长2 小时前
从音频到五线谱|扒谱过程中的关键技术环节
人工智能·音视频
乐橙开放平台6 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
Anhty8 小时前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
企业数字化笔记9 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频
VidDown10 小时前
上传 2GB 文件别让 Django 接:分片上传、对象存储直传与秒传
python·django·音视频·状态模式·实时音视频·视频编解码·视频
阿明副业观察10 小时前
AI视频生成工具功能与作用全面解析:赋能高效内容创作
大数据·人工智能·aigc·音视频·ai写作
EasyDSS11 小时前
告别视频资源浪费!云点播/本地点播/网络点播EasyDSS平台点播实现企业视频高效复用
音视频·媒体·easydss
智能直播11 小时前
RK3528 Tinyalsa/ALSA框架:输入源声音获取与HDMI out声音输出,一文讲透直播音频链路
音视频·实时音视频·视频编解码
镭封11 小时前
做电视剧解说视频用什么软件?配音、文案处理一次解决
人工智能·小程序·音视频·语音识别·媒体