賽事直播解說+連麥,技術架構難點解讀

咱們此前曾分享了上線首日就爲熊貓直播獲取幾十萬流水的新玩法「直播間PK」。其實,直播間還能加入更多新玩法,能互動連麥的賽事直播。android

如今不少比賽與活動都會出如今網絡直播間中,好比最近剛剛開賽的KPL電競賽事,抑或是今年即將開賽的世界盃。賽事直播的數量會逐漸變多。服務器

目前,若是主播想在直播間直播世界盃、KPL等賽事,有兩種方法:網絡

  • 一種是單純的轉播賽事畫面(包括電視臺解說);
  • 另外一種是經過OBS類軟件,將賽事直播畫面與主播畫面合圖後推流。

可是,這兩種方式都存在缺點。第一種方式的缺點是沒法播放主播本身的音視頻流,與轉播電視臺節目無異。第二種雖然實現了轉播畫面與直播畫面合圖推流,可是沒法讓主播與觀衆直接進行連麥互動,等於捨棄了本已被用戶廣泛接受的直播連麥功能。架構

若是想同時實現賽事直播與主播連麥,也不無可能。在主播直播過程當中,主播能夠經過拉流的方式,將外部視頻流加入到本身直播畫面中。固然,經過這種方式,咱們能引入的視頻源不只僅侷限於電競比賽、體育賽事,還能夠是熱門電視劇、活動直播,甚至是無人機的實時航拍畫面。ide

這種方式不只能夠解決賽事直播缺乏連麥互動,還可讓普通直播間能夠從單純的唱見、手遊直播、戶外直播,瞬間變成圍繞共同興趣或實時熱點的互動直播間,主播與觀衆一邊看「節目」,一邊音視頻連麥互動。網站

在這個場景中具體須要實現如下幾個功能:ui

  • 引入外部視頻流orm

  • 主播音視頻直播cdn

  • 兩個視頻流合圖視頻

  • 兩個視頻流時間同步

  • 其它業務功能(禮物、彈幕、評論等)

實現難點解析

難點一:外部視頻源轉碼

外部視頻源多種多樣,視頻格式、分辨率、幀率、碼率千差萬別。因此,爲了適應不一樣的終端設備和網絡,會在接到視頻源後進行轉碼。

普通視頻網站在作賽事轉播的時候,通常會提取到的格式是 mp4,但也會出現其它格式。而分辨率則多是 360p、720p 或 1080p。因此獲取到賽事視頻流時,須要先對該流轉碼,生成一路流,再經過 CDN 推到觀衆端。爲了兼容不一樣的終端和網絡,在轉碼時可生成多個分辨率的資源,服務端配套相應的策略來分發。

而「外部視頻源」不可是爲了適配終端和網絡,還爲了便於與主播畫面合圖。直播平臺的主播視頻流是已經定義好的,外部視頻源的幀率、碼率、分辨率不統一的狀況時,沒法合圖,進一步致使沒法推流至觀衆端。

所以,須要有轉碼,這部分工做若是沒有作好,會致使只能支持有限的外部視頻源格式,好比固定的 AVx 或 H.264。 沒法下降或修改分辨率、碼率、幀率。外部音視頻流與主播音視頻流的結合也較爲複雜,兩路流合成一路流時,合圖的邏輯、音效處理邏輯都須要考慮。

難點二:主播流與外部流時間同步

在使用場景中,主播在獲取到外部音視頻流後,會同步解說。兩路流是分別傳輸至服務端合圖,並非在主播端合圖。所以,合圖時要作好主播與外部流的時間同步,讓主播的解說與外部流的畫面可以對應。

若是以 Agora SD-RTN™ 做爲服務端,咱們能夠經過下圖來解釋時間同步的過程。音視頻流傳輸主要有三個環節:

  1. 藍色部分:第三方視頻流處理(藍色);

  2. 黃色部分:主播音視頻流傳輸至 Agora SD-RTN™(黃色);

  3. 紅色部分:合圖後的流通過 CDN 發送至觀衆端;

須要作同步的是藍色和黃色部分。這兩個環節要延時、而且有時間戳標記。

難點三:信令可靠性

從架構圖能夠看出,請求外部視頻流、外部視頻流轉碼、合圖三個環節都須要信令的參與。信令的可靠性,直接影響相應環節的成功率。

提高信令可靠性要經過覆蓋骨幹網絡的大網和讓用戶就近接入的邊緣節點,兩者缺一不可。

如何經過 Agora SDK 實現?

如今,開發者經過聲網Agora SDK 2.1版新增的「外部輸入直播視頻源」功能,能夠直接跨過上述三大難點,實現邏輯以下:

1.第三方視頻流處理:

  • 主播端經過信令,請求轉碼服務器從拉取外部音視頻源;

  • 外部視頻流進入轉碼服務器,轉碼後傳入 Agora SD-RTN™;

2.主播音視頻流傳輸至 Agora SD-RTN™;

3.主播音視頻流與外部音視頻流在 Agora SD-RTN™ 內合圖;

信令控制合圖後的流再次轉碼,成爲 rtmp 流,通過 CDN 發送至觀衆端 。

支持賽事直播場景的同時,「外部輸入視頻源」還可支持多種場景,好比:

  • 在直播中拉入一路或多路 RTMP 或 HLS 流,能夠是比賽、演出,同時多人看視頻,並互動;

  • 除了網絡視頻源,還能將無人機或其它網絡攝像頭捕獲的畫面引入主播畫面。

基於此功能,還能夠實現更多玩法,你們能夠自由發揮想象。若想了解詳細接口與實現流程,能夠參考開發文檔

如遇到開發問題,歡迎訪問聲網 Agora問答版塊,發帖與聲網工程師交流。

相關文章
相關標籤/搜索