本篇介绍的是使用Xcode编译FFmpeg,使用Xcode进行编译方便后续源码调试以及IOS集成音视频(另外开启项目)。FFmpeg源码下载推荐使用git安装,可以参考Mac M1安装编译FFmpeg教程
一、前期准备
- Xcode下载: App Store
- FFmpeg源码: FFmpeg官网或者使用Git
二、配置参考
环境 | 版本 |
---|---|
系统 | macOS Ventura 13.5.2 M1 |
Xcode | 14.3.1 |
FFmpeg | release中的各个稳定版本 |
三、步骤
1.创建一个新的项目
-
新建一个项目,选择
command Line Tool
-
命名项目,语言选择
C
-
进入项目路径,使用Git将源码下载下来
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg-source #进入ffmpeg-source目录并拉取远端分支到本地 cd ffmpeg-source && git checkout -b release/7.0 origin/release/7.0 #配置ffmpeg为调试模式 ./configure --disable-optimizations --disable-stripping --enable-debug=3 --disable-doc
此时的目录结构为:
配置过后的产生的
_g
结尾的是可以进行调试的 -
将文件
ffmpeg-source
拖进项目,等待一段时间,可能提示卡死等待就行 -
不创建外部编译系统项目
-
选择添加到Targets
-
选中目录,新建Target
-
选择
External Build System
-
填写Target名称
-
先切换到刚才创建的Target后,选择
Edit Scheme
-
更改对应的执行文件为想要调试的
_g
文件,如ffmpeg_g
、ffplay_g
、ffprobe_g
等选择
ffmpeg-source
下ffmpeg_g
为可执行文件,同理ffplay_g
、ffprobe_g
也是相同的操作 -
为可执行文件提供参数,在
Argumnets Passed On Launch
中添加,以ffmpeg_g
为例 -
最后还需将
ffmpeg-source
路径添加到对应的想要调试的Target里
2.调试
选择对应的scheme
运行就可以了,想要调试什么命令就在Argumnets Passed On Launch
参数里加就行
如需要调试其他的_g
文件,进入ffmpeg-source
的 doc/examples
cd ffmpeg-source
make examples
编译后,能够找到很多_g
的可调试文件,方法跟上面一样
3.碰到的问题
-
头文件不存在
xxx.h not found
,解决方法是在Header Search Paths
添加头文件路径