ijkplayer直播框架基于ffmpeg, 同时支持 Android 和 iOS,集成过程中遇到很多坑,网上也有各种资料,教程详细记录下集成过程。
一、ijkPlayer下载地址
ijkPlayer: https://github.com/Bilibili/ijkplayer
ijkPlayer目录文件结构如图:
打开工程编译报错错误信息如下:
因为libavformat是ffmpeg库中的文件,所以需要导入ffmpeg库
二:编译ijkPlayer
如何导入ffmpeg库可以查看ijkPlayer文件目录结构总的README.md文件中有详细步骤
大致就是需要执行init-ios.sh脚本来下载ffmpeg源码
ffmpeg下载时间比较长耐心等待,执行完脚本后,就会发现ijkplayer中有ffmpeg了
再次编译Demo依然报相同的错误,原因是刚刚仅仅是下载源码,但是源码并没有参与编译,需要将源码编译成可执行文件。
执行后效果图:
编译后生成.a文件
三:打包IJKMediaFramework.framework框架
集成有两种方法
1:按照IJKMediaDemo工程中那样, 直接导入工程IJKMediaPlayer.xcodeproj
2:打包IJKMediaFramework.framework框架
方法:把IJKMediaPlayer打包成静态库,在导入到自己的项目中。
首先打开工程IJKMediaPlayer.xcodeproj
打包静态库文件方法可参考:www.code4app.com/blog-721976-522.html
选择device真机和模拟器下分别编译项目IJKMediaPlayer库
lipo -create "真机版本路径" "模拟器版本路径" -output "合并后的文件路径"
注意:一定要给合并后的文件起名字,不然会报错!!!
四:集成ijkplayer到项目中
新建工程, 导入合并后的IJKMediaFramework.framework以及相关依赖框架以及相关依赖框架