主播自由开播(UGC + OGC)解决方案,是指主播可以随时拿起手机开始直播,映客、花椒、斗鱼、Now 等直播平台都是采用这种直播解决方案。由于LiteAVSDK的高解耦性,终端sdk只提供了TXLivePusher、TXLivePlayer的上行推流组件和下行拉流组件,自由开播方案需要您关注 房间管理 相关的逻辑,也就是维护一个所有用户可见的“直播间列表”。
针对房间列表的管理和维护,无外乎增(ADD)、删(DELETE)、改(MODIFY)、查(QUERY)四个操作:
当一个主播开播前需要先申请创建一个直播房间,这就等于是在您服务器的房间列表中增加一条新的数据。
直播结束后,Client 要通知后台把当前房间状态修改为 “直播已结束(close)”,或者干脆将其从列表中删除。
您的 Server 可以通过腾讯云 REST API(LiveChannelGetStatus)定时(推荐 10s 一次)地检查所有 “正在直播(active) ” 状态中的房间是不是真的都是“正在推流”状态。如果某个房间在连续三次的查询结果中均为“离线”状态,Server 就可以判定其为 “黑屏房间” 并将其关闭了。
SDK 在网络短暂断开又恢复后会自动重连,重连期间您查询到的房间状态可能不准确,所以推荐以三次查询结果均为“离线”作为最终判定结论。
很多场景下,我们都需要修改某一个房间的信息,比如:
补充:完整的点赞实现方案还要用聊天室的消息通道将点赞消息广播给所有的观众。
补充:腾讯视频云的鉴黄服务,是通过定时截图的方式,帮您甄别众多直播间中是否有疑似涉黄的直播流,并将嫌疑直播流的 ID 通过您指定的地址通知给您的后台 Server。这项服务目前还处于 beta 阶段,暂不支持自助开通,如有请通过 400 电话或者工单联系我们。
每一个打开App的观众,都会到直播后台查询一下当前的房间列表,所以直播后台要提供列表拉取的相关接口供 App 使用。
1、上面这套方案,腾讯有演示demo吗?
答:有,扫码下载小直播app体验;或者部署前后台源码,修改配置文件,拥有自己的小直播app。
2、文档里面只提到的房间管理,不涉及到连麦PK,请问连麦PK要如何管理前后台。
答:可以参考云直播连麦实现原理。
腾讯云通信连麦的核心在于后台混流、低延时互通,当产品需求只有2人连麦时,房间里面两位主播同步状态略显复杂:比如需要注意连麦时发起混流、取消连麦时发起取消混流、小主播退出时其他主播停止拉取他的低延时流等等。这种需求,一般的研发团队可以轻松胜任。
但是如果连麦人数大于2人,需要3~8人连麦,那么每增加一个人,房间里面的主播状态同步复杂度将会倍增,处理不好很容易出现混乱:比如主播D已经退房了,主播B、C收到了退房通知,停止播放D的画面,但是主播A没收到通知,依然保持与D连麦,界面上D的画面一直是黑的,混流出去的cdn流,观众们看到的画面D也是一个黑窗口。这种缺陷想要避免,需要周密的后台管理逻辑。
腾讯云提供了后台roomservice连麦方案,配套终端MLVBLiveRoom方案,可以轻松实现上述连麦过程。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。