iOS-ijkplayer集成
ijkplayer是bibiliB站开源的一个三方,封装好了ffmpeg,可以去面向对象去开发。
苹果提供了:AVPlayer播放不了直播文件。需要自己去基于ffmpeg播放。
1.搜索查找ijkplayer
搜索
基于ffmpeg3.4
支持的平台安卓/iOS
iOS集成过程
2.克隆ijkplayer到桌面
cd Desktop/ git clone Bilibili/ijkplayer.git ijkplayer-ios
理解
3.下载ffmpeggit checkout -B latest k0.8.8 ./init-ios.sh (下载ffmpeg)
4.编译ffmpeg
编译很多情况,64位、32位编译
ps: 假如提醒错误: ./libavutil/arm/asm.S:50:9: error: unknown directive .arch armv7-a ^ make: *** [libavcodec/arm/aacpsdsp_neon.o] Error 1 最新的 Xcode 已经弱化了对 32 位的支持, 处理方法: 在 compile-ffmpeg.sh 中删除 armv7 , 修改如: FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64" 再重新执行出现错误的命令: ./compile-ffmpeg.sh all
5.打包framwork并合并
大家会发现除了IJKMediaFramework这个目标,还有一个叫IJKMediaFrameworkWithSSL,但是不推荐使用这个,由于大部分基于ijkplayer的第三方框架都是使用的前者,你把后者导入项目还是会报找不到包的错误,就算你要支持https也推荐使用前者,而后按照上一步增加openssl就可支持5.1,配置释放模式如下图
配置发布模式1
配置发布模式2
5.2,打包真机框架
编译真机
如图操作,而后按键命令+ B编译就可
假如之前的步骤删除了compile-ffmpeg.sh中armv7,这里会报错,我们直接注释掉就好
ARMv7的错误
用Xcode9可以找到这个 ,但是用Xcode10找不到这个 我只能用Xcode注释完,在用Xcode10编译就没问题了
5.3,打包模拟器 framework
如图操作,而后命令+ B编译就可
5.4,合并框架
假如只要要真机运行或者者模拟器运行,可以不用合并,直接找到对应的框架导入项目就可; 一般我们为了方便会合并框架,这样就同时支持模拟器和真机运行。
先找到生成框架的目录:
文件路径
文件路径
准备合并:
打开终端, 先 cd 到 Products 目录下 而后执行: lipo -create 真机framework路径 模拟器framework路径 -output 合并的文件路径 lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework
合并完成:
可以看到这里生成了一个大概两倍大小的文件, 将生成的 IJKMediaFramework 文件替换掉 真机framework 中的 IJKMediaFramework 文件,而后这个替换掉文件的 真机framework 就是我们需要的 通用的framework 了。
6.集成 framework 到项目中
导入 framework
直接将 IJKMediaFramework.framework 拖入到工程中就可 注意记得勾选 Copy items if needed 和 对应的 target
增加下列依赖到工程
【参考文章】:
- ijkplayer 的编译、打包 framework 和 https 支持
- armv7 armv7s arm64
- iOS IJKPlayer项目集成(支持RTSP)
- 可用rtmp直播源
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » iOS-ijkplayer集成