腾讯云互动直播二交互逻辑流程图

SDK构成

互动直播SDK由两部分构成,IMSDK和AVSDK
在这里插入图片描述
其中IMSDK为云通信SDK,为AVSDK提供账号登录、信令通道、IM弹幕消息、日志模块、日志上报等功能;

AVSDK提供摄像头采集、编码、解码、美颜等一系列功能(下图为AVSDK整体框架)
在这里插入图片描述

登录交互逻辑

1.App登录业务服务器,做用户身份业务方鉴权

2.业务服务器验证成功后,根据用户身份,使用私钥加密用户身份信息后生成UserSig返回给客户端

3.将UserSig传给IMSDK的login接口,完成腾讯云服务器登录
在这里插入图片描述

创建房间交互逻辑

创建房间交互流程如下:

1.主播向业务服务器请求创建房间

2.业务服务器分配房间号

3.主播使用分配的房间号调用AVSDK创建房间接口完成创建

4.通知业务服务器创建房间完成
在这里插入图片描述

观众进入房间交互逻辑

在主播完成房间创建后,业务直播平台已经有当前正在直播的房间列表。观众在登陆后可以看到该房间列表点击后进入房间,可发IM消息或者业务逻辑通知给其他已经在看的观众和主播。详细流程图如下:

注意:AVSDK不提供观众进入直播间通知,且不维护房间成员数及列表,可使用IMSDK实现或业务自行实现(见示意图虚线部分)
在这里插入图片描述

观众主播IM消息交互逻辑

观众正在欣赏主播表演同时,可以和主播进行IM互动,进行聊天、送花和送礼物等其它操作

当观众需要进行送花、送礼物等计费相关操作时,有两种方案可供选择

  1. 观众送花,由互动直播云回调业务后台,进行扣费
  2. 观众送花,由App上行请求至直播平台,完成扣费操作后,直播平台通过IMSDK REST API接口发送该消息

当直播间内成员较多时,较大消息量可能会引起主播性能问题,业务侧需要优化渲染策略,同时互动直播云(IMSDK)可控制消息频率

在这里插入图片描述

观众退出房间交互逻辑

观众退出房间时,也需要通知给主播和其它的观众,相关流程可参考观众进入房间交互逻辑

主播退出房间交互逻辑

当主播退出房间时,需做以下几件事情

  1. 通知业务直播平台,直播间销毁
  2. 通知其它的观众,主播已退出
  3. 显示直播结束页(展示直播时长、直播热度等)

流程图如下:
在这里插入图片描述

视频连麦

连麦功能是腾讯云互动直播SDK在直播场景下推出的特色功能,可供主播和某一(多)观众进行视频连线,相互交流,其它的观众可看到主播和被邀请的观众的音视频画面(映客、聚美优品等App均实现了该功能)

可下载随心播进行体验,并可参考随心播封装代码(Android下载、iOS下载)

上麦的实现流程如下:
在这里插入图片描述
注意

  1. 邀请A上麦需要发点多点的消息(可使用云通信IMSDK的单聊消息,用CustomElem实现
  2. 一定要在A完成上麦(开麦克风、摄像头,上传本地画面)完成后,再发送上麦广播通知
  3. 上麦广播通知可使用云通信的群消息(CustomElem)实现

下麦的实现流程如下:
在这里插入图片描述
注意

  1. 主播和观众A下麦都需要考虑(代码中要做好保护)
  2. 下麦的广播通知和下麦者关闭本地视频上传可同时进行(但建议先发出下麦通知,再关闭本地画面)

开发注意事项(必读)

  1. 观众人数过多时,消息量也会随之增多,需注意主播端性能,常见因渲染代码过多导致CPU飙升卡顿
  2. 主播可能因为某种原因(CRASH、断网等)掉线,业务直播平台需增加主播心跳,实现直播列表的实时更新
  3. 互动直播不提供房间成员管理等操作,需业务直播平台自行实现,或采用IMSDK方案

猜你喜欢

转载自blog.csdn.net/u014162133/article/details/106429137