先下载脚本
GitHub地址:https://github.com/kewlbear/FFmpeg-iOS-build-script kewlbear归属
下载后解压,有两个.sh文件,一个readme文件,可阅读readme来操作。
文件为:build-ffmpeg.sh, build-ffmpeg.tvos.sh
利用终端 cd到改解压后目录文件,按照顺序执行命令。
./build-ffmpeg.sh 描述为生成所有的(我那么多次试验后,我不信只执行这一个就可以了,网上的教程全是只执行这一个)。
./build-ffmepg.sh arm64 (生成arm64可用)
./build-ffmepg.sh armv7 x86_64(生成armv7 和 模拟器情况下,armv7 和x86_64 写在一行命令里会挨个执行,如果按了回车后报错,可能已经弄过,删除该文件夹,清除废纸篓,后重新下载脚本再来一遍)
./build-ffmpeg.sh lipo (将所有的.a文件集中到一起)
第一步会耗时很久要下载大概80-90M左右的文件,我耗时10分钟左右。
都结束后,在文件夹里会生成一个 FFmpeg-iOS文件夹,将该文件夹添加到自己的项目里。
之后项目添加依赖库:libz.tbd,libbz2.tbd,libiconv.tbd。
ViedoToolbox.framework,AudioToolbox.framework,CoreGraphics.framework,coreMedia.framework。
这些库一个都不能少,网上的教程五花八门,都是在多次尝试后才总结的,否的编译不通过,网上的一些脚本下载链接也都比较旧了,编译也会不通过,生成的.a文件也都不能用。
然后再targets - build settings -header search path 里把项目里的FFmpeg-iOS目录下的include文件夹拖入到其中。否则后面引入会报错,说找不到该文件。
之后在ViewController.h里引入三个文件(举例为ViewController)
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale//swscale.h>
随后在.m里ViewDidLoad里写入代码
av_register_all();
然后再command+b 编译一下看是否报错,如无则成功集成了ffmpeg。