1.下载并编译FFMPEG。
下载后有一个build-ffmpeg.sh文件。终端执行即可自动下载并编译完成。
我在运行的时候并没有提示权限的相关问题,如果你在安装的时候出现问题,自己搜索下怎么解决。
2.导入编译好的静态库
编译完成后,当前目录有个FFmpeg-iOS文件夹,拖进项目中。
3.添加引用库
AVFoundation.framework
libz.td(.dylib)
libbz2.td (.dylib)
libbiconv.td (.dylib)
4.添加头文件搜索路径
Header Search Paths -> $(SRCROOT)/工程名称/FFmpeg-iOS/include
Library Search Paths -> $(PROJECT_DIR)/工程名称/FFmpeg-iOS/lib
如果报错,可能因为你的路径不正确引起 file not found
的问题
5.修改一个.m文件为.mm,开启C/C++ 混编模式。
修改后,我的项目仍然报错 avcodec_configuration()
不可用。当我在复现这个问题的时候,把.mm修改回.m,这时候不会再报编译错误。应该是Xcode已经开启了混编模式,所以不会再出问题。并且编译通过,avcodec_configuration()
可以打印。
6.测试
在ViewController
的头部导入avcodec.h
#include
在viewDidLoad中添加代码
printf("%s",avcodec_configuration());
运行后控制台输出相关信息,就表示成功啦!
遇见的问题
问题一:
解决方法一:引用库未添加,依次可添加上文中提示的引用库。解决方法二:引用库都已经添加,仍然报错,看下有没有开启混编模式,修改一个.mm文件Undefined symbols for architecture armv7
原文链接: