iOS: FFmpeg的使用二

1.下载并编译FFMPEG。

https://github.com/kewlbear/FFmpeg-iOS-build-script

下载后有一个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 <libavcodec/avcodec.h>

在viewDidLoad中添加代码

printf("%s",avcodec_configuration());

运行后控制台输出相关信息,就表示成功啦!

遇见的问题

问题一: Undefined symbols for architecture armv7
解决方法一:引用库未添加,依次可添加上文中提示的引用库。
解决方法二:引用库都已经添加,仍然报错,看下有没有开启混编模式,修改一个.mm文件

posted @ 2016-07-11 16:44  XYQ全哥  阅读(848)  评论(0编辑  收藏  举报