1. 程式人生 > >線上KTV 歌房概述,架構,應用資料流及實現方式

線上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 場景的主要需求:

  1. 提供媒體流的傳送與接收,讓 KTV 各方能夠進行音視訊互動;

  2. 提供媒體播放器,支援 MP3/MP4 等流行媒體格式檔案的伴奏音樂播放;並支援線上資源播放;

  3. 支援將伴奏音樂與麥克風混音;

  4. 支援在媒體資料中注入非媒體資料,實現歌詞同步功能。

2.3 KTV 場景資料流動

2.3.1 單人 MV 模式資料流動 在這裡插入圖片描述 此模式時單主播直播模式擴充套件,僅在主播端加入伴奏音樂播放推流部分。

主唱

  1. 登入 KTV 房間,同房間的使用者可以互動

  2. 開始推流

  3. 播放伴奏音樂 MV,並隨著音樂唱歌

  4. 將歌詞進度資訊放入媒體流中

普通觀眾

  1. 登入 KTV 房間

  2. 拉主唱的流,聽到 KTV 並提取歌詞

2.3.2 多麥直播模式資料流動 在這裡插入圖片描述 此模式為連麥直播模式擴充套件,僅在主唱的端加入伴奏音樂播放及推流部分。

主唱

  1. 登入 KTV 房間,同房間的使用者可以互動

  2. 開始推流

  3. 播放伴奏音樂 MV,並隨著音樂唱歌

  4. 將歌詞進度資訊放入媒體流中

  5. 拉麥主的流,聽評論

麥主

  1. 登入 KTV 房間

  2. 拉主唱的流,提取歌詞資訊

  3. 推流參與評論互動

普通觀眾

  1. 登入 KTV 房間

  2. 拉主唱的流,提取歌詞

  3. 拉麥主的流,聽評論

2.3.3 雙人 KTV 模式資料流動

下圖描述的是雙人 KTV 模式的資料流示意圖: 在這裡插入圖片描述 整體流程如下:

主唱

  1. 登入 KTV 房間,同房間的使用者可以互動

  2. 開始推流

  3. 播放伴奏音樂 MV,並隨著音樂唱歌

  4. 將歌詞進度資訊放入媒體流中

  5. 拉互動觀眾的純音訊流,與副唱合唱

互動觀眾

  1. 登入 KTV 房間

  2. 拉主唱的流,提取歌詞資訊

  3. 推流,並混入主唱流的聲音

  4. 推一路純麥克風採集音訊流給主唱,讓主唱聽到其演唱

普通觀眾

  1. 登入 KTV 房間

  2. 拉主唱的流,提取歌詞

  3. 拉副唱的流,聽 KTV 合唱

3、SDK整合指引

即構對 KTV App 終端的技術支援,整合在了 ZegoLiveRoom SDK 中。具體功能實現包括 SDK 初始化,推流、拉流、播放伴奏音樂、歌詞同步、主唱與副唱合唱、等功能,請開發者根據專案業務需求參考。詳細實現方式點選https://www.zego.im/html/document/#Application_Scenes/ZegoKTV/Overview檢視。