美文网首页
关于直播的一些思路

关于直播的一些思路

作者: 为何与何用 | 来源:发表于2018-04-17 11:31 被阅读0次

序言

推拉流这里暂不涉及了,这里主要说一下直播的一些逻辑流程的难点。

直播架构-层级划分

为了更方便的实现和管理代码,个人把直播划分为3个层级
1、直播层:用于实现推流和拉流以及回调的监听;
2、交互层:用于弹幕发送和功能按钮的点击;
3、礼物展示层:用于礼物动画的展示,且在最上层。

直播层

开启直播

1、一进入直播模块就获取用户直播信息,在点击开启直播时进行判断:如果还不是认证主播,就进行实名认证;如果是认证主播,再获取主播相关信息。

2、调开启直播接口,通知服务器开启直播,并调用开启和进入直播间接口,通知服务器进入直播间,查看是否用相机、麦克风权限,然后开始推流。

3、推流过程中要监听几种推流状态:
   1)打开摄像头失败;
   2)打开麦克风失败;
   3)网络波动状态;
   4)断网状态(重连服务器);
   5)断网后多次重连服务器失败状态(主播退出直播界面至列表界面);
   6)推流成功状态(加载动画结束,客户端设置用户为开播状态)。

关闭直播

1、调关闭直播接口,通知服务器关闭直播,并调用关闭和退出直播间接口,通知服务器退出直播间。然后停止推流。

2、进入结算界面。

观看直播

1、观众通过后台获取拉流地址播放直播画面;

2、监听播放事件回调,做相应UI操作。

交互层(即时通讯)

交互层负责所有的用户交互,是整个直播模块的难点,也是客户端要实现的最复杂的部分,交互有很多(看产品 ̄_, ̄ ),比较典型或复杂的有:
1、聊天弹幕的发送,礼物的发送;
2、守护席的争夺;
3、观众与主播连麦;
4、主播与主播的PK。

为什么要括弧个即时通讯呢,因为交互层这个层级就是和即时通讯紧密联系在一起的,无时无刻都在即时通讯!先举个守护席的例子吧。

注:使用即时通讯时的字段两端要统一。

守护席

守护席的状态要分两个视角:抢占视角与观看视角。

抢占视角:抢占细节就不详述了,主要说流程。抢占观众在点击抢占后发送请求给服务器,成功后改变自身UI,然后发送即时通讯(注明抢占字段的即使消息)给聊天室里的其他人。其他人通过即时通讯回调解析抢占消息刷新抢占UI。

观看视角:其他观众收到通知,解析为有人获得守护席通知,改变守护席UI。

弹幕聊天

字段需求:个人产品的需求是需要展示人物等级,用户名根据等级改变颜色且可点击。所以这里即时通讯就要传递用户名、等级、发言内容等字段。

发送者视角:发送者发送一条即时通讯消息,消息发送给聊天室里的所有用户。消息发送成功后在自己聊天列表添加一条消息。

接收者视角:接收者在接收到消息后,解析为聊天消息,在聊天列表添加一条消息。

观众与主播连麦

需求是最多支持三个连麦。那么这里就要记录主播连麦观众信息数组,这样可以更方便的管理主播的连麦观众。因为连麦也有即时性的特性,所以也用即时通讯实现。
先理清身份,连麦有三个身份:主播方、连麦观众方与普通观众方。

连麦观众方:发起连麦,等待主播同意;同意并获取主播拉流后跳转推流界面进行推流并小窗口展示播放主播画面。(注:这里推流和拉流的监听依旧要做好)。这里发起连麦会有几种拒绝状态:1.主播手动拒绝;2.请求超时;3.主播占线中;4.主播连麦人数已满;5.主播在PK中;6.主播连麦功能关闭。

主播方:收到连麦请求,同意后发送带有自己底链路拉流地址给连麦观众,并展示播放器,但没有画面;待收到连麦观众低链路拉流地址后播放,并做混流处理。同样要做好播放监听。

普通观众方:普通观众基本不要做什么,播放的是混流地址。

主播与主播的PK

个人认为主播与主播之间的PK相对于连麦要简单些。
这里也是三个角色:发起PK主播方、接收PK主播方与双方普通观众方。

发起PK主播方:发起PK,并发送自己低链路拉流地址;等待接收PK主播方同意,同意后,改变自己推流画面UI,并播放接收PK主播拉流地址,并做混流处理。也有几种拒绝状态:1.主播手动拒绝;2.请求超时;3.直播占线中;4.直播在PK中;5.主播在连麦中;6.主播PK功能关闭。

接收PK主播方:接收PK请求,同意后发送自己低链路拉流地址给发起PK主播,并改变自己推流UI和播放发起PK主播低链路拉流地址的小窗口,并要做好混流处理。

双方普通观众方:普通观众基本不要做什么,播放的是混流地址。

礼物展会层

礼物展示层主要展示礼物特效。这一块涉及到即时通讯、礼物编码设计和支付功能(内购)。在容我三思而后作。

拓展

重复登录

被踢方:收到重复登录回调,要么杀死app,要么通知直播模块底层控制器。获取导航栏控制器数组最后一个控制器(当前控制器),回退至根控制器。
登陆方:一进入直播模块就获取主播信息,如果是正在直播状态,就弹出是否继续直播提示框。是就直接跳转直播推流画面。

结语

· 直播还有很多知识点,这只是冰山中的一角。

相关文章

  • 关于直播的一些思路

    序言 推拉流这里暂不涉及了,这里主要说一下直播的一些逻辑流程的难点。 直播架构-层级划分 为了更方便的实现和管理代...

  • 关于“交流”的一些思路

    关于交流 1.何谓交流? ------人与人之间观念,信息,情感的共享,互换,甚至辩论。 2.是否需要对谈的参与者...

  • 关于房子的一些思路

    今天早上上班路上无意中听到香港电台听到房屋抽签的事情,大约79万港元,首付5%,就4万港元就可以做业主了,有粉岭等...

  • 关于直播的一些看法

    文 / @生椒牛肉 一直想写点关于商业的文章,可是商业的见识必须积累在多年(此处“多”指大于等于五)的商业运营和商...

  • 分享一个交易结构设计的思路

    前天听了大弛的直播,今天在梳理一些对我有用的增量信息。 其中有一点关于交易结构设计的思路和大家分享一下,很简单就是...

  • 团队构建-结构4-互锁矩阵 2012-2-17

    一:能力/薪酬矩阵 我在以前的日志,《团队构建思路》系列里面有讲到一些思路,关于团队构建的三个原则,关于发展自己的...

  • 关于一些营销思路的想法。

    可以通过嗯,微信集赞还有就是拉人进这个微信群。然后送相应的,嗯嗯,比如说水果杯子等。 嗯,不管做什么营销?最主要就...

  • 关于写一些组件的思路

    有时候为了想一组组件动态变化的过程的时候,总是会让人奔溃,因为我们会陷入一种类似于“连贯性动作合成的纠结中”,我总...

  • 一些关于亚马逊选品的思路

    很多人都在为旺季为什么还是频频不出单而苦恼,为什么没有爆单的忧愁,有很多人都觉得肯定是选品出了问题,那么究竟如何选...

  • 直播技术笔记(1)——camera的纹理

    按: 最近做了一个直播的预研项目, 因此记录下直播的技术的实现,在这过程中一些问题解决的思路,以android平台...

网友评论

      本文标题:关于直播的一些思路

      本文链接:https://www.haomeiwen.com/subject/oexekftx.html