当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS开发中ijkplayer的集成和运用

iOS开发中ijkplayer的集成和运用

2018年09月29日  | 移动技术网IT编程  | 我要评论

记忆碎片qvod,hit5图片,p4xl运动型卡车

最近因项目需要了解和学习了关于直播的播放器集成,首先了解了ijkplayer的集成,ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 android 和 ios, 网上也有很多集成说明下面我记录一下我是如何在 ios 中集成ijkplayer的,以便以后保存学习:

一、 下载ijkplayer
二、编译ijkplayer
1、 用终端编译ijkplayer,其实也就是编译ffmpeg,打开终端cd进入ijkplayer-master文件夹
2、在此文件夹下进行操作,执行命令行 ./init-ios.sh, 这一步是去下载 ffmpeg 的, 时间会久一点, 耐心等一下
这里写图片描述

3、下载完成以后,cd 到 ios 目录中cd ios
这里写图片描述

4、然后依次执行./compile-ffmpeg.sh clean 和 ./compile-ffmpeg.sh all 命令,编译ffmpeg,过程有点长,耐心等待,
执行./compile-ffmpeg.sh all 命令时候可能出现下列问题:
这里写图片描述

此时 执行sudo xcode-select --switch /applications/xcode.app
执行完之后再次执行 ./compile-ffmpeg.sh all 如何没问题就可以走下一步,也有可能再次出现问题,如下
这里写图片描述
最新的 xcode 已经弱化了对 32 位的支持, 解决方法:
在 compile-ffmpeg.sh 中删除 armv7 , 修改如:

ff_all_archs_ios8_sdk="arm64 i386 x86_64"
再重新执行出现错误的命令: ./compile-ffmpeg.sh all
三、打包ijkmediaframework.framework框架
1、首先打开文件夹里面的工程
这里写图片描述

这里写图片描述
2、工程打开后设置工程的 scheme, 步骤如下图:
这里写图片描述

这里写图片描述
3、设置好 scheme 后, 分别选择真机和模拟器进行编译 command + b,
如果之前的步骤删除了 compile-ffmpeg.sh 中 armv7, 这里会报错, 我们直接注释掉就好
这里写图片描述

编译完成后, 进入 finder, 如下图
这里写图片描述

这里写图片描述
上面每个版本都有两种情况:模拟器状态和真机状态,然后需要合并这两个文件为一个文件
4、合并文件
打开终端 cd 到 product 目录下,然后用终端合并:lipo -create release-iphoneos/ijkmediaframework.framework/ijkmediaframework release-iphonesimulator/ijkmediaframework.framework/ijkmediaframework -output ijkmediaframework
说明:lipo -create 真机framework路径 模拟器framework路径 -output 合并的文件路径
合并完成以后会发现一个新的文件:
这里写图片描述
这就是合并完以后的文件;将生成的 ijkmediaframework 文件替换掉 真机framework 中的 ijkmediaframework 文件,然后这个替换掉文件的 真机framework 就是我们需要的 通用的framework了。
这里写图片描述

注:上面是演示的发布版本的,测试版本的framework已同样的方法合并、替换

四、导入你的项目中

1、直接将ijkmediaframework.framework拖入到工程中即可
注意记得勾选 copy items if needed 和 对应的 target

2、导入依赖的库
libc++.tbd ( 编译器选 gcc 的请导入 libstdc++.tbd )
libz.tbd
libbz2.tbd
audiotoolbox.framework
uikit.framework
coregraphics.framework
avfoundation.framework
coremedia.framework
corevideo.framework
mediaplayer.framework
mobilecoreservices.framework
opengles.framework
quartzcore.framework
videotoolbox.framework

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网