服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - 详解iOS中集成ijkplayer视频直播框架

详解iOS中集成ijkplayer视频直播框架

2021-02-27 16:15jianshu_wl IOS

ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持Android和iOS,本文将详细的讲一下在iOS中如何集成ijkplayer, 即便以前从没有接触过,按着下面做也可以集成成功!下面跟着小编一起来看下吧

ijkplayer 是一款做视频直播框架, 基于ffmpeg, 支持 android 和 ios, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 ios 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功!

一. 下载ijkplayer

下载完成后解压, 解压后文件夹内部目录如下图:

详解iOS中集成ijkplayer视频直播框架

ijkplayer-master文件夹内容.png

二. 编译 ijkplayer

说是编译 ijkplayer, 其实是编译 ffmpeg, 在这里我们已经下载好了ijkplayer, 所以 github 上readme.md中的build ios那一步中有一些步骤是不需要的.

下面开始一步一步编译:

1.打开终端, cd 到jkplayer-master文件夹中, 也就是下载完解压后的文件夹, 如下图:

详解iOS中集成ijkplayer视频直播框架

进入到这个文件夹

2.执行命令行./init-ios.sh, 这一步是去下载 ffmpeg 的, 时间会久一点, 耐心等一下.如下图:

详解iOS中集成ijkplayer视频直播框架

3.在第2步中下载完成后, 执行cd ios, 也就是进入到 ios目录中, 如下图:

详解iOS中集成ijkplayer视频直播框架

进入ios 文件夹

4.进入 ios 文件夹后, 在终端依次执行./compile-ffmpeg.sh clean和./compile-ffmpeg.sh all命令, 编译 ffmpeg, 也就是readme.md中这两步, 如下图:

详解iOS中集成ijkplayer视频直播框架

编译 ffmpeg

编译时间较久, 耐心等待一下.

三. 打包ijkmediaframework.framework框架

集成 ijkplayer 有两种方法:

一种方法是按照ijkmediademo工程中那样, 直接导入工程ijkmediaplayer.xcodeproj, 在这里不做介绍, 如下图:

详解iOS中集成ijkplayer视频直播框架

导入ijkmediaplayer.xcodeproj

第二种集成方法是把 ijkplayer 打包成framework导入工程中使用. 下面开始介绍如何打包ijkmediaframework.framework, 按下面步骤开始一步一步做:

首先打开工程ijkmediaplayer.xcodeproj, 位置如下图:

详解iOS中集成ijkplayer视频直播框架

打开后是这样的, 如下图:

详解iOS中集成ijkplayer视频直播框架

要打包的 framework 工程.png

2.工程打开后设置工程的 scheme, 具体步骤如下图:

详解iOS中集成ijkplayer视频直播框架

第一步.png

详解iOS中集成ijkplayer视频直播框架

第二步.png

3.设置好 scheme 后, 分别选择真机和模拟器进行编译, 编译完成后, 进入 finder, 如下图:

详解iOS中集成ijkplayer视频直播框架

进入 finder 后, 可以看到有真机和模拟器两个版本的编译结果, 如下图:

详解iOS中集成ijkplayer视频直播框架

运行后生成的文件.png

下面开始合并真机和模拟器版本的 framework, 注意不要合并错了, 合并的是这个文件, 如下图:

详解iOS中集成ijkplayer视频直播框架

合并真机和模拟器文件中的这个文件.png

打开终端, 进行合并, 命令行具体格式为:

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

合并后如下图:

详解iOS中集成ijkplayer视频直播框架

合并生成后的文件.png

下面很重要, 需要用合并后的ijkmediaframework把原来的ijkmediaframework替换掉, 如下图, 希望你能看懂:

详解iOS中集成ijkplayer视频直播框架

用合并生成的文件替换原来的文件.png

上图中的1、2两步完成后, 绿色框住的那个ijkmediaframework.framework文件就是我们需要的框架了, 可以复制出来, 稍后我们需要导入工程使用.

四. ios工程中集成ijkplayer

新建工程, 导入合并后的ijkmediaframework.framework以及相关依赖框架以及相关依赖框架,如下图:

详解iOS中集成ijkplayer视频直播框架

导入 framework及依赖框架.png

导入框架后, 在viewcontroller.m进行测试, 首先导入ijkmediaframework.h头文件, 编译看有没有错, 如果没有错说明集成成功.

接着开始在viewcontroller.m文件中使用ijkmediaframework框架进行测试使用, 写一个简单的直播视频进行测试, 在这里看一下运行后的结果, 后面会放上 demo 供下载.

详解iOS中集成ijkplayer视频直播框架

香港卫视直播画面

至此, ijkplayer 集成完毕!

demo下载地址:ijkplayerdemo-master.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!

原文链接:http://www.jianshu.com/p/1f06b27b3ac0

延伸 · 阅读

精彩推荐
  • IOSIOS开发之字典转字符串的实例详解

    IOS开发之字典转字符串的实例详解

    这篇文章主要介绍了IOS开发之字典转字符串的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握这样的方法,需要的朋友可以参考下...

    苦练内功5832021-04-01
  • IOS解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下...

    一片枫叶4662020-12-25
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

    这篇文章主要介绍了iOS 雷达效果实例详解的相关资料,需要的朋友可以参考下...

    SimpleWorld11022021-01-28
  • IOSiOS通过逆向理解Block的内存模型

    iOS通过逆向理解Block的内存模型

    自从对 iOS 的逆向初窥门径后,我也经常通过它来分析一些比较大的应用,参考一下这些应用中某些功能的实现。这个探索的过程乐趣多多,不仅能满足自...

    Swiftyper12832021-03-03
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

    iOS中tableview 两级cell的展开与收回的示例代码

    本篇文章主要介绍了iOS中tableview 两级cell的展开与收回的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    J_Kang3862021-04-22
  • IOSiOS布局渲染之UIView方法的调用时机详解

    iOS布局渲染之UIView方法的调用时机详解

    在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题,下面这篇文章主要给大家介绍了关于iOS布局渲染之UIView方法调用时机的相关资料...

    windtersharp7642021-05-04
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

    IOS 屏幕适配方案实现缩放window的示例代码

    这篇文章主要介绍了IOS 屏幕适配方案实现缩放window的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xiari5772021-06-01
  • IOS关于iOS自适应cell行高的那些事儿

    关于iOS自适应cell行高的那些事儿

    这篇文章主要给大家介绍了关于iOS自适应cell行高的那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    daisy6092021-05-17