92

一起走进互动直播

 6 years ago
source link: http://www.10tiao.com/html/212/201806/2247485109/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

点击蓝字关注这个神奇的公众号~


互动直播是什么?

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


互动直播

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

用户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平台部测试技术平台化、效率化的先锋力量!

陪伴是最长情的告白

每日为你推送最in的测试技术

识别二维码

关注我们



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK