騰訊雲互動直播二交互邏輯流程圖

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方案
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章