主播PK就是一个主播在直播时,可以对另一个直播间的主播发起挑战。一旦挑战接受,两个直播间的主播就开始进行连麦互动,直播界面一分为二,同时显示两个主播的画面,两方粉丝也会进入到同一个直播间中。
当两个主播成功进入PK模式后,两方粉丝通过点赞、刷礼物等方式,来为自己的主播打call。根据直播界面上的蓝色条与对方红色条的贡献度来决定胜负。输了的一方要接受惩罚游戏,可以是真心话大冒险,也可能是一段才艺表演。
实现跨直播间PK的方法:
一般直播场景里,同一个直播频道,或者说同一个直播间里的主播与用户是可以进行连麦互动的。而主播之间的PK互动,其实是一种跨直播间连麦。声网Agora的SDK早已支持该功能。
从实现逻辑上来讲,跨直播间PK分为两种方案:
方案一:服务器端跨直播间连麦
以 A、B、C 三个主播为例,该方案为三个主播加入同一个 Agora 直播频道,不同主播的观众端拉到的 RTMP 流不同。 App端,A、B、C三个主播在3个App直播间。这个逻辑是在 App 实现。总结一下,3个主播在Agora是处于同一个直播频道,在App端是处在3个不同的App频道。
在 App 直播间里,A 主播通过调用API 设定该直播间的主播布局,例如,下图显示 A 观众看到的布局为 A 主播大图,其他连麦的主播为小图:
在主播端,三个主播分别通过调用配置旁路直播推流方法(configPublisher)来完成旁路直播的配置,并通过加入频道(joinChannelByKey)方法将三个主播加入同一个Agora频道。而观众端,只需要访问直播频道URL即可观看,无需调用额外的接口。
方案二:客户端跨直播间连麦
客户端跨直播间连麦,需要依赖于信令层的机制,流程示例如下:
1、主播 A 通过信令请求主播 B 进行连麦;
2、主播 B 通过信令同意连麦;
3、主播 B 通过信令通知主播 B 的所有观众;
4、主播 B 的所有观众退出 B 频道,加入 A 频道;
5、主播 B 退出 B 频道,加入 A 频道。
总结来讲,服务器端跨直播间连麦需要增加接口调用,保证接口调用逻辑和调用顺序正确。而客户端跨直播间连麦则需要加入信令机制进行管理,逻辑相对复杂,且主播间断开连麦时,需要恢复到连麦前的状态。
扩展资料:
跨直播间连麦的难点
与直播间内的连麦相似,跨直播间PK的难点在于:
1、低延时
连麦中,最重要的元素,就是低延时。连麦的本质是视频通话,而视频通话最重要的指标就是延时。只有低延时,主播和连麦嘉宾之间,才可以较好的互动、交流。
2、高并发
由于跨直播间PK,会瞬间将两个直播间的观众拉到同一个频道。而且由于PK的性质,观众们会大量发弹幕、礼物。这种瞬间高并发场景,对直播服务的高并发能力考验极大。
声网在全球部署近100个节点,构成SD-RTN™通信网。SD-RTN™系统能够实时根据各节点的连接和传输状况、负载状况以及到用户的距离和响应时间,自动分配最优、最通畅的传输路径,达到实时传输需要的质量保障级别。
客户端均通就近接入策略,让使用者就近接入质量最好的数据节点,通过SD-RTN™的软件定义优化路由,经过传输延迟和质量优化的最优路径,自动避免网络拥塞,并规避骨干网络故障的影响。