一起走进互动直播

互动直播是什么?

今天小编带你来探索了解一下~

互动直播

互动直播,通俗的说就是多主播互相视频通话,观众可以同时观看多主播同时直播。

用户A、用户B、用户C分别通过SDK连接连麦服务器

1、用户A主播创建房间,用户A推流。

2、用户B主播加入用户A创建的房间,用户B推流,并且拉用户A的一路流,此时用户A会拉用户B的一路流。

3、用户C观众加入房间,会拉用户A和用户B两路流,用户C申请成为主播,会推用户C的一路流,同时用户A会拉用户C的一路流,用户B也会拉用户C的一路流。

从上面可以很容易得出以下结论:N人连麦,推流1路,拉流N-1路。

水熊服务

改版的互动直播,最大的亮点就是加入了水熊服务器。(名字萌萌哒~)

一些小问答来帮助大家了解下水熊服务器~

问题1

水熊服务器有什么用?

答案1

用户加入房间成功后,水熊服务器负责房间信息管理和调度,水熊服务器通过心跳记录房间及用户状态。

问题2

水熊服务器怎么知道房间状态?

答案2

sdk每15s上报心跳给水熊服务器,这样做为了是连麦过程中异常中断,水熊服务器会继续检测房间心跳并保持房间的状态。

问题3

心跳多长时间不上报,水熊服务器会改变用户状态?

答案3

如果3min内异常中断的用户又进入房间,会保持该用户原有的连麦状态,仍能继续直播。

如果水熊服务器3min检测到房间内用户没有心跳,那么水熊服务器就认为该用户已经退出该房间,水熊服务器该房间状态把该用户踢出房间。

问题4

房间内多用户,用户都清理了,房间怎么办?

答案4

如果该房间所有用户3min都没有心跳,水熊服务器就认为该房间已销毁,便销毁该房间。

连麦厂商

水熊服务器管理sdk和sdk,有2家厂商,agora(声网)zego(即构),水熊会分配厂商给sdk,如果sdk带的厂商和水熊分配的一致,会连麦成功,如果水熊分配的厂商和sdk带的厂商不一致,会加入房间失败。

大家肯定会提出疑问,为什么这样做呢?

这样方便管理厂商。如果厂商中断合作,水熊服务器就不会分配该厂商。

合流&分流

常说的合流,分流,是什么意思?有什么区别?

合流就是多路流SN1,SN2,….,SNn-1经过合流,合成一路流SN,观众拉取SN路流可以同时观看SN1,SN2,….,SNn-1的内容。

咱们比较直观的现象,分流,比如多人连麦,每个连麦窗口都能随便拖动,这就是最常见的分流,每个窗口都是单独的一路流。

看到这里,大家已经想象出合流的现象,举一个生活中的例子,大家看现场直播,经常会看到一个场景,报道记者说咱们连接驻地记者了解下情况,这时候咱们看到的画面就会有两个窗口,一个是驻地记者现场报道的窗口,一个是本地播报记者的窗口,这虽然同时能播放两个场景,但实际是一路流。

在互动直播中,合流一般应用在观众端或h5端,主播和嘉宾连麦,主播拖动嘉宾窗口,观众端该嘉宾窗口会随着主播的拖动而改变,但观众自己不能拖动窗口。

咱们sdk的合流分视频云合流和厂商合流,只有关闭视频云合流云控才会走厂商合流。也就是默认走的是咱们自己的视频云合流。

直播&旁路直播

咱们观看直播也分两种不同方式,下面称为直播和旁路直播。

1、百万答题,互动连麦,大家都比较了解的直播场景。

这种是厂商服务器直接推流,用户直接拉流观看。

>优点:实时性高,属于低延时传输,延时在500ms以内。

>缺点:直接从厂商服务器拉流,成本很高。

百万答题为了追求直播的实时性,必须保证用户同时拉到问答用户的一路流,以免延时不同给用户带来影响。

互动连麦也是低延时方式,为了使连麦中的用户对话更流畅。

2、旁路直播:旁路直播就是推流到厂商服务器,厂商分一路流转推到cdn(内容分发网络),在cdn申请拉流地址和推流地址,通过推流地址推流,然后观众通过拉流地址拉流。

这路流通过cdn,节约成本,延时至少1s,一般在3-5s,适合对实时性不高的场景,比如观众观看主播直播,实时性要求不高,有一定延时并没有太大影响,用这种旁路直播,会节约很大成本。

以上是互动直播sdk业务实现,互动直播只是直播云sdk的一个功能,在直播云sdk大千世界里有各种各种神秘又和大家生活息息相关的。

更多直播知识,后期会继续在本公众号分享敬请关注~

Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607B1QDB200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券