互动直播是什么?
今天小编带你来探索了解一下~
互动直播
互动直播,通俗的说就是多主播互相视频通话,观众可以同时观看多主播同时直播。
用户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平台部测试技术平台化、效率化的先锋力量!
领取专属 10元无门槛券
私享最新 技术干货