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文件

相关文章:

  • 2022-12-23
  • 2021-04-10
  • 2021-08-02
  • 2022-12-23
  • 2021-07-08
  • 2021-08-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-05
  • 2021-12-01
  • 2021-07-31
  • 2022-12-23
相关资源
相似解决方案