線上KTV 歌房概述,架構,應用資料流及實現方式
1、即構平臺與 KTV 場景介紹
即構流媒體服務平臺為 KTV 歌房應用場景提供全方位支援,包括:
-
優秀的終端技術,支援高清、無回聲強降噪音訊
穩定可靠的流媒體網路既支援低延遲實時互動需求,也支援跨區域大量分發場景
強大靈活的定製介面,支援自定義音效、視訊採集與濾鏡處理等高階功能
1.1 KTV 場景
單人MV輪麥
房間內人員都可以進行點歌並排麥,歌手按照麥序單人進行唱歌。該方式的歌詞顯示方式有:背景圖+字幕、MV唱片。
多麥直播 KTV
房間內人員都可以進行點歌並排麥,歌手按照麥序單人進行唱歌。該方式的歌詞顯示方式有:背景圖+字幕、MV唱片。房間內等待上麥的人員可以進行聊天互動、點評等。
雙人 KTV 模式
主唱和副唱合唱,觀眾可以聽到主唱和副唱的合唱效果。由於網路延遲不可控,此場景下主唱聽不到副唱的聲音,副唱可以聽到主唱。該方式的歌詞顯示方式:字幕。
以上幾種模式中,核心的 KTV 場景功能需求有:
-
伴奏音樂/MV播放
伴奏與歌聲混音
音樂與歌詞同步
主唱與聽眾互動
即構 SDK 對以上需求提供了介面支援,只需簡單編碼即可實現這些核心需求。業務方結合簡單信令控制,就可以串起 KTV 的各種模式的業務流程。
1.2 體驗 App
下載
即構提供 KTV 體驗 App,支援 iOS 及 Android 平臺,請掃碼安裝: 用法
安裝 KTV 後,客戶可以體驗到 KTV 功能,包括獨唱、合唱、觀眾聽歌、MV歌房等。啟動後,在主介面的房間列表中找到正在直播的 KTV 房間,加入這些房間並參與互動;或者建立自己的歌房,然後使用 KTV 功能。
2、即構平臺架構及 KTV 應用資料流示意
業務方通過通過 ZegoLiveRoom SDK 介面使用即構平臺服務。SDK 提供了音視訊採集、處理、編解碼、渲染等多媒體核心功能,並封裝了即構媒體傳輸網路服務、房間信令及訊息服務等功能。
2.1 多媒體流
即構 SDK 把採集我方的音視訊,編碼後傳送到 Zego 實時網路,此步驟被稱為“推流”。同時,Zego SDK 從 Zego 實時網路中接收對方的音視訊資料流,解碼得到對方的聲音與畫面,此步驟被稱作“拉流”。
2.2 SDK 多媒體架構
SDK 多媒體架構圖如下所示: 上圖描述了即構 SDK 內部工作架構,支援 KTV 場景的主要需求:
-
提供媒體流的傳送與接收,讓 KTV 各方能夠進行音視訊互動;
-
提供媒體播放器,支援 MP3/MP4 等流行媒體格式檔案的伴奏音樂播放;並支援線上資源播放;
-
支援將伴奏音樂與麥克風混音;
-
支援在媒體資料中注入非媒體資料,實現歌詞同步功能。
2.3 KTV 場景資料流動
2.3.1 單人 MV 模式資料流動 此模式時單主播直播模式擴充套件,僅在主播端加入伴奏音樂播放推流部分。
主唱
-
登入 KTV 房間,同房間的使用者可以互動
-
開始推流
-
播放伴奏音樂 MV,並隨著音樂唱歌
-
將歌詞進度資訊放入媒體流中
普通觀眾
-
登入 KTV 房間
-
拉主唱的流,聽到 KTV 並提取歌詞
2.3.2 多麥直播模式資料流動 此模式為連麥直播模式擴充套件,僅在主唱的端加入伴奏音樂播放及推流部分。
主唱
-
登入 KTV 房間,同房間的使用者可以互動
-
開始推流
-
播放伴奏音樂 MV,並隨著音樂唱歌
-
將歌詞進度資訊放入媒體流中
-
拉麥主的流,聽評論
麥主
-
登入 KTV 房間
-
拉主唱的流,提取歌詞資訊
-
推流參與評論互動
普通觀眾
-
登入 KTV 房間
-
拉主唱的流,提取歌詞
-
拉麥主的流,聽評論
2.3.3 雙人 KTV 模式資料流動
下圖描述的是雙人 KTV 模式的資料流示意圖: 整體流程如下:
主唱
-
登入 KTV 房間,同房間的使用者可以互動
-
開始推流
-
播放伴奏音樂 MV,並隨著音樂唱歌
-
將歌詞進度資訊放入媒體流中
-
拉互動觀眾的純音訊流,與副唱合唱
互動觀眾
-
登入 KTV 房間
-
拉主唱的流,提取歌詞資訊
-
推流,並混入主唱流的聲音
-
推一路純麥克風採集音訊流給主唱,讓主唱聽到其演唱
普通觀眾
-
登入 KTV 房間
-
拉主唱的流,提取歌詞
-
拉副唱的流,聽 KTV 合唱
3、SDK整合指引
即構對 KTV App 終端的技術支援,整合在了 ZegoLiveRoom SDK 中。具體功能實現包括 SDK 初始化,推流、拉流、播放伴奏音樂、歌詞同步、主唱與副唱合唱、等功能,請開發者根據專案業務需求參考。詳細實現方式點選https://www.zego.im/html/document/#Application_Scenes/ZegoKTV/Overview檢視。