场景解决方案
场景介绍
秀场直播场景为社交娱乐模式下的视频互动场景,场景支持多人视频连麦互动,更容易吸引用户参与连麦互动,提升用户的消费意愿及粘性。此外,秀场直播还支持不同房间的主播跨房 PK,进一步增强了直播的趣味性。跨房连麦 PK 时延低于300ms,同时支持观众与主播连麦互动,上下麦平滑切换,满足秀场直播场景下的高频互动需求。秀场直播的智能美颜能力也能够满足主播的个性化需求,让直播更加风采动人。


实现方案
通常实现一个完整的秀场直播场景,需要涉及到多个功能模块:房间管理、麦位管理、媒体流管理、云端录制 等。每个功能模块下的关键动作及功能点如下表所示。接下来会逐个介绍各个功能模块,通过介绍对搭建秀场直播所需的功能有比较完整的认识。
功能模块 | 关键动作及功能点 |
房间管理 | 房间列表、创建房间、加入房间、退出房间、销毁房间 |
麦位管理 | 申请上麦、主动下麦、邀请上麦、强制下麦、麦位禁言 |
媒体流管理 | RTC Engine 实时互动方案 |
云端录制 | RTC Engine 云端录制 |
秀场直播场景整体业务架构如下图所示。房主创建房间,用户可以选择对应感兴趣的房间加入。进入房间后的用户可以上麦跟麦上主播进行音视频互动。通常出于合规要求,房间内的音视频内容需要录制下来并提交审核。

说明:
录制审核环节都可以根据实际业务需求,选择目标单流或者混流。
录制与审核环节可以根据实际业务需求,选择 RTC Engine 录制审核。
房间管理
房间管理模块主要负责对房间列表的维护,主要包含以下功能:
创建房间:用户登录业务系统后,可以创建房间,创建房间后房间列表要做新增操作。
加入房间:用户可以选择加入现有房间,加入房间后当前房间人员列表要做新增操作。
退出房间:用户可以选择退出当前房间,退出房间后当前房间人员列表要做删除操作。
销毁房间:所有用户退出房间后,需要销毁房间,销毁房间后房间列表要做删除操作。
说明:
麦位管理
直播间内的麦位一般都是有序且有限的。麦位管理主要负责根据业务场景定义房间内的麦位数量,以及对当前房间所有麦位状态的管理。麦位管理主要包含:申请上麦、主动下麦、邀请上麦、强制下麦、麦位禁言等。
用户进入房间后,只有空闲状态的麦位才可以申请上麦。
房主同意用户上麦后,需要修改麦位状态为非空闲状态。
用户停止推流下麦后,需要重置麦位状态。
房主有权锁定麦位、邀请上麦、强制下麦、麦上禁言等。
说明:
媒体流管理
普通秀场直播场景,我们推荐 RTC Engine 实时互动方案:主播和观众推拉流都使用 RTC 协议,这种方案的端到端延时最低,同时观众上下麦体验更加平滑,无画面快进/回推等突变现象。以多人连麦直播互动为例,秀场直播纯 RTC 推拉流场景的主要架构如下图所示:


该方案的整体流程如下:
1. 主播、观众均通过信令模块进行连接,信令模块主要负责控制直播流程、同步直播状态。
2. 无论是否有连麦观众,主播和观众均通过 RTC Engine 音视频云服务进行推拉流。
3. 观众请求与主播连麦后,信令模块会通知主播,并同步连麦者的个人信息。
4. 主播接收连麦申请后,连麦观众开始推流,房间内所有成员将会接收到流更新通知,并拉取连麦观众的音视频流。
5. 当连麦观众发起下麦请求后,其停止推流,房间内所有成员将会接收到流更新通知,并停止拉取该观众音视频流。
说明:
云端录制
RTC Engine 最新升级的云端录制,使用 RTC Engine 内部的实时录制集群进行音视频录制,拥有更完整统一的录制体验。
单流录制:通过 RTC Engine 的云端录制功能,您可以将房间中的每一个用户的音视频流都录制成独立的文件。

混流录制:将同一个房间的音视频媒体流混流录制成一个文件。

关键业务逻辑
礼物与点赞消息
礼物消息


1. 客户端短连接请求到自己的业务服务器,涉及到礼物计费逻辑。
2. 计费后,发送人直接看到 XXX 送了 XXX 礼物(以确保发送人自己看到自己发的礼物,消息量大的时候,可能会触发抛弃策略)。
3. 计费结算后,调用服务端接口 在群组中发送自定义消息(礼物)。
4. 如果遇到连刷礼物的场景需要进行消息合并:
如果直接选择礼物数量的刷礼物,如:直接选择 99 个礼物,1 条消息发送,参数带入礼物数量 99。
如果是连击的礼物,不确定停留在多少个,可以合并每 20 个(数量自行调整)或者连击超过 1 秒,发送一个。按照上述逻辑,例如连击 99 个礼物,优化后仅需要发送 5 条。
{"GroupId": "@TGS#12DEVUDHQ","Random": 2784275388,"MsgPriority": "High", // 消息的优先级,礼物消息应设置为高优先级"MsgBody": [{"MsgType": "TIMCustomElem","MsgContent": {// type: 礼物类型; giftUrl: 礼物资源地址; giftName: 礼物名称; giftCount: 礼物数量"Data": "{\"cmd\": \"gift_msg\", \"msg\": {\"type\": 1, \"giftUrl\": \"xxx\", \"giftName\": \"xxx\", \"giftCount\": 1}}"}}]}
点赞消息


1. 点赞不涉及计费,一般采用端上直接 发送群自定义消息 的方式。
2. 针对于有需要服务端计数的点赞消息,在客户端节流之后,统计客户端点赞次数,将短时间内多次点赞消息合并,仅发送一次消息。业务方服务端在 发群消息后回调 中拿到点赞次数进行统计。
3. 针对于不需要计数的点赞消息,与步骤2中的逻辑一致,业务要在客户端对点赞消息节流后发送,不需要在发群消息后回调中计数。
美颜特效接入
秀场直播场景中,美颜是一个被高频使用的功能。美颜不但能提升主播的颜值,也能通过一些贴纸特效增加直播互动的趣味性。RTC Engine 支持 美颜 AR SDK 的集成,同时也支持市面上主流第三方美颜产品的接入,例如火山美颜、相芯美颜等。
美颜接入流程


API 调用时序

美颜产品对比
跨房连麦 PK
主播与主播之间进行跨房互动连麦 PK 是秀场直播场景下很常见的一种玩法,能够增强互动直播的趣味性,激发观众刷榜送礼物的欲望。RTC Engine支持多个房间、多个主播之间跨房连麦 PK,下面介绍具体的实现方式。
1. 实现原理
默认情况下,只有同一个房间中的用户之间可以进行音视频通话,不同的房间之间的音视频流是相互隔离的。通过跨房连麦,可以将另一个房间中某个主播音视频流发布到自己所在的房间中,与此同时也会将自己的音视频流发布到目标主播的房间中。让身处两个不同房间中的主播进行跨房间的音视频流分享,从而让每个房间中的观众都能观看到这两个主播的音视频。


上图展示了跨房连麦 PK 的主要流程,例如:当房间“101”中的主播 A 通过
ConnectOtherRoom() 跟房间“102”中的主播 B 建立跨房通话后:房间“101”中的用户都会收到主播 B 的
onRemoteUserEnterRoom(B) 和 onUserVideoAvailable(B,true) 这两个事件回调,即房间“101”中的用户都可以订阅主播 B 的音视频。房间“102”中的用户都会收到主播 A 的
onRemoteUserEnterRoom(A) 和 onUserVideoAvailable(A,true) 这两个事件回调,即房间“102”中的用户都可以订阅主播 A 的音视频。注意:
跨房连麦 PK 的本地用户和对端用户必须都为主播角色,且必须都有音频/视频上行。
可通过多次调用
ConnectOtherRoom() 来实现与多个房间主播跨房连麦,目前限制一个房间最多可以和其他三个房间的主播跨房连麦,一个房间中最多10个主播可与其他房间的主播跨房连麦。RTC Engine 跨房连麦 PK 还可以通过
createSubCloud() 创建子实例加入对方房间推拉流的方式实现,目前子实例的数量没有限制,便于后期多个房间 PK 或者多个主播 PK 的业务扩展。2. 实时互动跨房连麦流程
纯 RTC 场景下的跨房连麦 PK 流程整体简单,主播和跨房连麦主播互相拉取 RTC 单流,观众同时拉取主播和跨房连麦主播的 RTC 单流,观众可独立控制主播和跨房连麦主播媒体流订阅逻辑。实时互动场景跨房连麦流程如下图所示。


注意:
场景玩法
单主播直播
直播间只有一个主播的场景称为单主播直播。这种场景下,直播间的房主就是唯一的主播。观众可以加入直播间观看直播,并向房主发消息、送礼物。
多人连麦直播
多人连麦直播是指直播间内有多位主播进行实时音视频互动的场景。房主可以邀请观众上麦、进行麦位控制;观众也可以申请上麦和主播互动。
跨房 PK 直播
直播间里,为增进直播气氛、快速吸粉,房主可以邀请另一个直播间的房主进行连麦互动或在线 PK。连麦直播间内的观众可以同时观看两个房主互动,并根据房主表现实时赠送礼物,或快速切换直播间给不同的房主投票。这就是一个典型的视频 PK 连麦场景。
电商带货直播
电商直播是电子商务与视频互动直播相结合的场景。在直播间里,房主向观众介绍商品,提供商品列表和链接;观众看到心仪的商品,可点击链接快速下单。直播过程中,观众可以上麦,和房主实时互动,如询问商品详情,商议价格,分享使用心得等;房主还可以和另一个直播间的房主进行 PK 连麦,展示各自的商品,激发观众的购买热情,增加直播的趣味性。
方案配套产品
系统层级 | 产品名称 | 场景用途 |
接入层 | 提供低延时、高品质的多人音视频实时互动直播解决方案,是秀场直播场景的基础底座能力。 | |
接入层 | 提供基于群组功能的房间管理、麦位管理能力,实现直播间全员消息、公屏消息等富媒体消息收发,以及自定义信令等通信需要。 | |
接入层 | 提供美颜、滤镜、美妆、趣味贴纸、Moji 表情、虚拟形象等实时特效处理能力。 | |
云端服务 | 面向音视频、图片等媒体,提供制作上传、存储、转码、媒体处理、媒体 AI、加速分发播放、版权保护等一体化的高品质媒体服务。 | |
数据存储 | 提供音视频录制文件、音视频切片文件的存储服务。 |