[TOC]
iOS编译ffmpeg
参考http://www.jianshu.com/p/08107176d5bb
1) 下载"一键编译"脚本
https://github.com/kewlbear/FFmpeg-iOS-build-script
2)编译能在iOS下使用的FFMPEG library库
进入脚本目录,执行
./build-ffmpeg.sh
3)在xcode中引入FFMPEG library库
新建工程,把上面编译好的FFmpeg-iOS拖到xcode工程中
编译后的文件夹中
ffmpeg-2.5.3
是源码
FFmpeg-iOS
是编译出来的库,里面有我们需要的.a静态库,一共有7个
执行lipo -info libavcodec.a
,查看.a包支持的架构,这几个包都支持了armv7 armv7s i386 x86_64 arm64
这几个架构,这个脚本果真是业界良心啊~~~
4)加入依赖库
libz.tbd
libbz2.tbd
libiconv.tbd
等

5)为TARGETS 添加 search paths
项目根目录用 $(SRCROOT)
表示
- 添加 Header Search Paths
$(inherited)
$(SRCROOT)/FfmpegDemo/FFmpeg-iOS/lib
72612549.png
- 添加 Library Search Paths (系统可能已经添加)
$(inherited)
`$(SRCROOT)/FfmpegDemo/FFmpeg-iOS/include
72413903.png
如果编译不过(如缺少文件)一般都是search paths路径没写对
5)修改某个.m文件为.mm
注意,不能是引入FFmpeg库的文件,否则编译不过
6)引入头文件
#include "avformat.h"
如果编译成功,说明 search patchs 设置成功
7)添加代码
#include "avutil.h"
av_register_all();
// 获取 ffmpeg 版本号
const char *version = av_version_info();
NSLog(@"version: %s", version);
执行成功说明集成成功
各个CPU构架支持的设备

网友评论