B站开源播放框架ijkplayer(iOS版)使用教程

时间:2023-02-21 15:48:50

最近在关注直播这块儿,开始时直接用ffmpeg写了一个,写得比较烂,卡顿很严重,后来听说了B站开源播放框架ijkplayer,于是就去试试看这是链接 ,一用之下果然不错,逢人便向人安利,可总是有部分同学说看不懂、不会用。其实用法都在readme里写得很清楚了,只要照着做就行了。好吧,我知道其实是你们懒得看 -_-!, 那我就在这儿说说大概的步骤吧。

首先配置环境,需要安装 homebrew,git,yasm (需要ruby环境)

B站开源播放框架ijkplayer(iOS版)使用教程
图片截自readme

然后把项目克隆到本地,下载并编译ffmpeg

B站开源播放框架ijkplayer(iOS版)使用教程
图片截自readme

最后导入播放器并用Xcode打开

B站开源播放框架ijkplayer(iOS版)使用教程
图片截自readme

这样ijkplayer的官方demo就可以运行了。

B站开源播放框架ijkplayer(iOS版)使用教程
运行截图

那么重点来了,如何把ijkplayer集成到自己项目里呢,一种是像demo里那样整个工程引用,这里不再展开。另一种就是导入IJKMediaPlayer工程产生的framework包。

B站开源播放框架ijkplayer(iOS版)使用教程
ijkplayer集成

打包时要注意,模拟器打的包只能在模拟器上用,真机运行的话需要用真机打包。分别用模拟器和真机打包之后可以得到两个包,再合并一下,就可以得到一个通用的包,我demo里的就是个通用包(Debug版)

B站开源播放框架ijkplayer(iOS版)使用教程
真机和模拟器打成的包(Debug版)

经朋友提醒,我打的这两个都是Debug版的,正式使用的话最好打成Release版,打包过程一样,只需修改以下选项即可Product->Scheme->Edit Sceme

B站开源播放框架ijkplayer(iOS版)使用教程
Release版打包修改

导入打好的包和其他依赖库,就可以仿照官方demo调用了,如果懒得写的话就像我一样,直接把ijkplayer里写好的拉到项目里直接用就行了

B站开源播放框架ijkplayer(iOS版)使用教程
直播中

这里我要吐槽一下B站,网页版正在直播时把网络断掉,在播放器上右键,选切换站点,屏幕中间立马就出来一句:Video not found or access denied: http://XXXXXX  这样直接把调试语句显示在网页上真的没关系吗?

这是我的demo

文/StarGazer_C(简书作者)
原文链接:http://www.jianshu.com/p/5218f8c952fb
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

B站开源播放框架ijkplayer(iOS版)使用教程的更多相关文章

  1. 开源播放器 ijkplayer (一) :使用Ijkplayer播放直播视频

    1.ijkplayer 编码 IjkPlayer支持硬解码和软解码. 软解码时不会旋转视频角度这时需要你通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_R ...

  2. 开源播放器 ijkplayer (二) :ijkplayer倍速变调问题解决方案

    转载注明出处:http://www.cnblogs.com/renhui/p/6510872.html 之前使用IjkPlayer做播放器的使用的时候,在做倍速播放的时候,发现播放的声音音调明显变高了 ...

  3. 开源播放器 ijkplayer (六) :Android 下使用 ijkplayer 异常处理思路

    一. java.lang.IllegalStateException: mpjni: setOptionLong: null mp 根据已查到的资料看,目前是ijk内部的问题,只能通过try& ...

  4. 开源播放器 ijkplayer (四) :Ijkplayer切换网络时停止播放的问题处理

    问题起因: 在进行ijkplayer播放器的测试时,发现ijkplayer播放器在切换网络时出现直播画面停止的问题. 问题分析: 抓取日志发现:tv.danmaku.ijk.media.player. ...

  5. 开源播放器 ijkplayer (三) :ijkplayer支持 https 编译流程

    主要是为了支持flv和m3u8,使用https播放视频的需求 ./init-android.sh ./init-android-openssl.sh // 增加https协议支持 cd android ...

  6. 开源播放器ijkplayer源码结构

    ijkplayer核心源码主要在ijkmedia文件夹下ijkplayer.ijksdl及ijkutils. 注:tag k0.3.1 player: remove ijkutil android相关 ...

  7. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  8. 直播框架ijkplayer

    直播框架ijkplayer [如何快速的开发一个完整的iOS直播app](播放篇) ijkplayer ios项目集成(图文详细版) 一步步搭建视频直播系统,基于LFLiveKit+ijkplayer ...

  9. 网易新闻iOS版使用的18个开源组件

    转载来自:http://www.jianshu.com/p/8952944f7566  原文最后编辑时间:2015.05.19 网易新闻iOS版在开发过程中曾经使用过的第三方开源类库.组件 1.AFN ...

随机推荐

  1. BZOJ 1051 & 强联通分量

    题意: 怎么说呢...这种题目有点概括不来....还是到原题面上看好了... SOL: 求出强联通分量然后根据分量重构图,如果只有一个点没有出边那么就输出这个点中点的数目. 对就是这样. 哦还有论边双 ...

  2. android的color整理(一)

    很全面的颜色收集方便以后使用. <!-- 白色 --> <color name="ivory">#fffff0</color> <!-- ...

  3. struct 和 class 不同点

    在 C++ 里面 struct 和 class 没有本质的差别 仅仅是成员和继承方式的默认不同 struct 是 public class 是 private 我的个人建议是仅仅要须要实现成员函数的就 ...

  4. python基础四-文件读取

    文件读取 open()接受一个参数:要打开的文件名, 并返回一个表示文件的对象, 存储到后面的变量中 python会在当前执行文件所在目录查找 可以使用绝对路径, 在linux中使用'/', 在win ...

  5. 六种常见排序算法的java实现

    package edu.cn.ysw; //八种排序算法的实现与效率分析 /* * 内排序的种类: * 1.插入排序:直接插入排序.希尔排序. * 2.选择排序:简单选择排序.堆排序. 3.交换排序: ...

  6. Codeforces Round &num;309 &lpar;Div&period; 1&rpar; A(组合数学)

    题目:http://codeforces.com/contest/553/problem/A 题意:给你k个颜色的球,下面k行代表每个颜色的球有多少个,规定第i种颜色的球的最后一个在第i-1种颜色的球 ...

  7. 团队作业——Alpha冲刺 10&sol;12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:编辑界面返回以及预览的intent实现 明日任务:未能按时间要求完成的失败总结 郭剑南 今日任务:优化图像预处理所有功能的函数代码,尝试与 ...

  8. OpenGL学习--02--绘制一个红色三角形

    The OpenGL buffer is created, bound, filled and configured with the standard functions (glGenBuffers ...

  9. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!

    本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...

  10. SRCNN之后的深度学习超分辨率

    SRCNN开山之作 IDN 信息蒸馏网络information distillation network(IDN) Fast and Accurate Single Image Super-Resol ...