天天看點

視訊互動直播軟體開發中的連麥問題分析

直播行業發展至今,我們經常會聽到很多朋友談論“互動直播”。那麼何謂互動直播呢?其實互動直播的核心在于通過連麥技術,讓視訊直播有一個超過文字的更深層次的互動交流。

在視訊互動直播軟體開發過程中,和連麥技術實作有着千絲萬縷關系的内容不在少數,今天我們就一起了解下。

互動直播中連麥的實作流程

衆所周知,主播開啟直播間,使用者端看到的是主播直播畫面,此時我們可以定義為“單向直播”,意思是主播單方面向觀衆輸出内容。但如果有使用者向主播發起了互動連麥,主播接受了連麥請求,意義就變了,因為連麥操作的導向是主播與使用者間的音視訊互動,此刻對于使用者而言,接收到的内容則為主播和連麥觀衆的混流畫面。發起連麥通常有兩種方式,一種是主播主動向觀衆定向發起連麥,另一種則是使用者向主播發起連麥請求。而互動直播發展至今,不再是單一的主播與使用者間的連麥,主播與主播之間也可以進行連麥送禮PK。

互動直播中的“旁路直播”概念

旁路直播是基于互動直播高并發場景下的解決方案。主播與使用者進行互動連麥的混流音視訊内容,需要借助于CDN實作分發業務,通過CDN分發的直播内容,使用者在進行觀看時則可以看作是“旁路直播”。這也是互動直播平台搭建部署時用到CDN的一個重要原因。對于互動直播這種面向衆多使用者群體的公共服務,必須能夠讓處在不同地區的使用者在同一時間接收到相同的直播内容,低延時是關鍵因素,CDN的多節點恰恰可以降低互動直播延時。

基于RTMP與CDN的互動直播方案

現如今在互動直播軟體開發中,RTMP協定的使用較為廣泛,絕大多數互動直播平台也是基于RTMP協定和CDN技術前提下實作連麥的。當主播與使用者進行連麥時,會基于RTMP協定,分别将主播端和連麥使用者端的流推到CDN,通過CDN将兩路視訊流推送到觀衆端,觀衆端将兩路視訊流混合後形成一個畫面進行播放。這個方案實施起來非常友善簡單,接入成本也較低,是以廣泛适用,但這一方案也有其缺點。

1.雖然RTMP協定可以将直播延時控制在5s以内,對于觀衆端來講基本感覺不到延時問題的存在,但對于連麥的雙方而言,在進行互動時會明顯感覺到延時,互動直播體驗欠佳。

2.主播在與連麥者進行互動時,會有回聲,這也是比較常見的問題,目前來看這一問題還是很難解決的。

3.我們常常聽到互動直播平台營運者抱怨,說帶寬、流量費支出高,本身通過CDN進行分發就消耗很大的流量了,何況是占用兩條視訊流的互動連麥直播呢?

當然,我們讨論這些問題的最終目的,還是為了能夠提供一個互動直播軟體開發中關于連麥實作的合了解決方案。基于上面提到的RTMP協定與CDN技術下的互動直播方案,我們可以結合私有UDP協定下的解決方案,用于不同場景下的互動直播實作。

如果已有龐大的使用者基數,必須要适應高并發,那麼采用RTMP與CDN技術下的解決方案,想必是最佳選擇,畢竟我們還是要兼顧大多數觀衆端使用者的觀看體驗的。但如果對并發要求沒那麼高,反而對直播連麥要求較高或是對直播延時要求較低,例如一對一視訊聊天交友,内部會議教育訓練等應用場景,則可以采用私有UDP協定解決方案。像依靠語音連麥起家的YY,則是在直播業務中使用UDP傳輸協定。

說了這麼多,互動直播軟體開發項目歸根結底還是要“因人而異”(因平台使用者量、平台使用者屬性、平台定位等因素)制定合理的解決方案。