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

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

图片截自readme

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

图片截自readme

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

图片截自readme

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

运行截图

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

ijkplayer集成

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

真机和模拟器打成的包(Debug版)

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

Release版打包修改

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

直播中

这里我要吐槽一下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. 【Cocos2D-x 3.5实战】坦克大战(1)环境配置

    前言: 最近课比较少,空闲时间比较多,一有时间就东想西想,想着想着就突然想到做手机游戏(android)了,学习下CoCos2d.看了一些CoCos2D的相关文档和教程,觉得是时候实战了,但是苦于没有 ...

  2. BZOJ 2466: [中山市选2009]树( 高斯消元 )

    高斯消元解异或方程组...然后对自由元进行暴搜.树形dp应该也是可以的... ------------------------------------------------------------- ...

  3. Java中Calender引用类型

    某些时候需要使用深拷贝: Calendar startTime = (Calendar) this._paramModel.getStartTime().clone(); 这样对startTime.a ...

  4. php 计算多维数组中所有值的总和

    php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和: 计算多维数组所有值的和就要自定义函数了: function get_sum($array) { $num ...

  5. 在IT公司,project manager 基本上和秘书,助理什么的差不多

    我感觉非常有道理,所以我不做Leader,哈哈哈

  6. Linux Centos 系统上安装BT客户端 Transmission

    Linux Centos 系统上安装BT客户端 Transmission   Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...

  7. java学习之jdbc的封装

    jdbc是连接数据库必不可少的工具,但每次连接都要重新写一遍太麻烦了,也不利于代码的可读性,这里做一个工具类进行封装. package com.gh; import java.sql.Connecti ...

  8. swjtu 2213 A Game About Cards(模拟题)

    题目链接:http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=2213 思路分析:该问题与约瑟夫问题相似:每次将前n张牌放到队列的最后 ...

  9. linux目录对照命令——meld

    preface:也不算是非常大的事情,但也须要这么个东西.对照两个目录里的内容是否同样,知道差异在哪里.找出问题所在,vimdiff 仅仅能比較两个文件是否同样,比較不了目录,只是能够写个bash脚本 ...

  10. HDU1325 &&poj1308 基础并查集

    和上一道小希的迷宫差点儿相同,可是在HDU上提交一直WA,POJ过了 HDU的数据太强了吧,强的我感觉数据有问题 题意:输入若干对点,推断是否是一颗树,转化过来也就是是否存在环 点数-边数=1,还要推 ...