ijkplayer框架集成

ijkplayer直播框架基于ffmpeg, 同时支持 Android 和 iOS,集成过程中遇到很多坑,网上也有各种资料,教程详细记录下集成过程。

一、ijkPlayer下载地址

ijkPlayer:  https://github.com/Bilibili/ijkplayer

ijkPlayer目录文件结构如图:

ijkplayer框架集成_第1张图片
ijkplayer目录结构

打开工程编译报错错误信息如下:


ijkplayer框架集成_第2张图片
IJKMediaDemo编译报错

因为libavformat是ffmpeg库中的文件,所以需要导入ffmpeg库

二:编译ijkPlayer

如何导入ffmpeg库可以查看ijkPlayer文件目录结构总的README.md文件中有详细步骤

大致就是需要执行init-ios.sh脚本来下载ffmpeg源码


ijkplayer框架集成_第3张图片
执行脚本

ffmpeg下载时间比较长耐心等待,执行完脚本后,就会发现ijkplayer中有ffmpeg了

再次编译Demo依然报相同的错误,原因是刚刚仅仅是下载源码,但是源码并没有参与编译,需要将源码编译成可执行文件。


ijkplayer框架集成_第4张图片
编译ffmpeg源码

执行后效果图:

ijkplayer框架集成_第5张图片

编译后生成.a文件

三:打包IJKMediaFramework.framework框架

集成有两种方法

1:按照IJKMediaDemo工程中那样, 直接导入工程IJKMediaPlayer.xcodeproj


ijkplayer框架集成_第6张图片
导入工程IJKMediaPlayer.xcodeproj

2:打包IJKMediaFramework.framework框架

方法:把IJKMediaPlayer打包成静态库,在导入到自己的项目中。

首先打开工程IJKMediaPlayer.xcodeproj


ijkplayer框架集成_第7张图片
打开工程IJKMediaPlayer.xcodeproj

打包静态库文件方法可参考:www.code4app.com/blog-721976-522.html

选择device真机和模拟器下分别编译项目IJKMediaPlayer库


ijkplayer框架集成_第8张图片
编译后的文件


ijkplayer框架集成_第9张图片
合并文件

lipo -create "真机版本路径" "模拟器版本路径" -output "合并后的文件路径"

注意:一定要给合并后的文件起名字,不然会报错!!!

四:集成ijkplayer到项目中

新建工程, 导入合并后的IJKMediaFramework.framework以及相关依赖框架以及相关依赖框架

你可能感兴趣的:(ijkplayer框架集成)