這麼好用的低延時直播,網易雲信竟然將它開源了?!

網易雲信發表於2022-05-19

談起直播,沒有人會感到陌生。

自上世紀末,流媒體直播技術興起以來,伴隨著網路基礎設施的發展腳步,直播也同頻共振般地起勢。而近年來 AI、雲端計算、音視訊等技術日趨成熟,以及新冠肺炎疫情帶來的“宅經濟”刺激,使直播行業的發展勢頭被進一步啟用。

根據中國網際網路絡資訊中心(CNNIC)釋出的《中國網際網路絡發展狀況統計報告》統計資料顯示,到 2021 年 6 月,中國網路直播使用者規模已達到 6.37 億人,直播市場規模接近 3000 億元。

直播是個好東西,但直播延時不是

通過網路直播,你可以輕鬆觀看到大洋彼岸正在進行的緊張體育賽事,也可以足不出戶就閱盡祖國的大好河山、日出日落,甚至與 6000 萬陌生人一起“雲監工”火神山醫院建設進度,為疫情防控力量點贊。

直播是個好東西,但,直播延時並不是。

或許你曾熬夜守在電商直播間,在秒殺倒數計時中,因延時被人捷足先登;也或許在上網課時,因延時錯過了重要的知識點;還或許在體育比賽關鍵時刻,因延時被提前“劇透”了結果。

凡此種種的破壞性體驗,皆是「延時」惹的禍。

直播體驗破壞者:「延時」如何產生?

那麼,作為音視訊直播體驗的破壞者,延時究竟從何而來?

與聲和光在介質中的收發及傳輸一樣,音視訊資料的編解碼和傳輸同樣需要時間。音視訊直播的傳輸鏈路主要涉及採集、預處理、編碼、資料傳輸、伺服器轉碼、解碼等環節,每一環節都會產生延遲。

量變引起質變,當這些分佈於各個環節的細微延遲不斷疊加,就會形成整體直播的延時,進而折射到使用者體驗上。

通常來說,整個鏈路的延遲可分為 3 個型別:裝置端處理延遲、端與伺服器的傳輸延遲、伺服器間的傳輸延遲。

以快遞包裹的物流運輸來類比:

  • 裝置端處理延遲:與快遞發件前打包和收件後拆包相似,資料也需經過採集端的採集編碼、打包傳送以及播放端的收包解碼、渲染播放。延時與硬體效能、採用的編解碼演算法、音視訊資料量等強相關。
  • 端與伺服器的傳輸延遲:與快遞員的攬收和派送相似,這裡的延時通常與客戶端和伺服器間的物理距離、客戶端和伺服器的網路運營商、終端網路網速、負載和網路型別等有關。
  • 伺服器間的傳輸延遲:就像快遞在各個物流分撥中心、中轉站的流轉,資料在伺服器之間排隊、傳輸、流轉,延時與傳輸路徑的選擇有關。

這 3 種型別的延遲,除了裝置端延遲與硬體效能強相關,後兩者之和便是業界重點著力優化的“端到端延時”。

低延時直播:強互動場景的最佳解題思路

3~5 秒的延時常見於國內多數的 CDN 直播形式中,這些場景主要採用 HTTP-FLV 和 RTMP 協議的傳輸形式,如:遊戲直播不強調互動性,關鍵幀延時通常在 8~10 秒;賽事直播對流暢性要求更高,一般會選擇 HLS 協議,延時會達到 10 秒以上。

隨著“全民直播”到來,直播模式和內容也在不斷創新,連麥直播、線上課堂、電商直播等新模式不斷湧現。採用 CDN 直播,對這些強調互動性的場景來說,延時超過 1 秒,玩法可能就無法進行下去了。

那麼,實時音視訊表現如何?

它能適用於觀眾與主播頻繁互動、對實時性要求高的場景,使二者之間的內容延遲控制在 300ms 內,真實還原線下面對面的交流體驗。但此方案在網路優化、回聲消除等問題上依然複雜,最重要的是實時音視訊方案以時長計費,通常實現成本較高。

延時與成本就像是天平的兩端:延時越低,方案成本越高,反之亦然。

於是,“優等生”低延時直播提供了一個解題思路,找到了兩者之間的平衡點,在可接受的延遲下兼顧更強的直播能力,帶給使用者更佳的互動體驗。既能滿足主播與觀眾間低頻次的互動需求,使二者之間的內容延遲控制在 1s 左右,又能支援百萬人同時線上,同時將成本控制於 CDN 和實時音視訊之間,使方案的整體成本更加可控。

都是低延時直播,網易雲信有何不同?

有需求的地方,就有聞風追趕的人。事實上,在洞察到市場對低延時直播客觀存在的需求後,嗅覺敏銳的各大雲廠商都陸續推出了各自的短延時、低延時、超低延時直播產品。

紛繁複雜的命名背後,技術究竟有何不同?

傳統直播領域存在著三大指標:首屏時間、延遲、卡頓率。低延遲直播技術的難點在於:如何實現卡頓率持平甚至更優於 RTMP 拉流技術的前提下,大幅降低首屏時間和延遲,從而帶給使用者更好的直播體驗。

工欲善其事,必先利其器。作為網易智企旗下的融合通訊雲服務專家,網易雲信融合了自身在 CDN 和 RTC 領域多年的技術積累和經驗沉澱,結合 WebRTC 標準的媒體流技術,在首屏時間、延遲、卡頓率方面做了深度的優化。

  1. 首屏時間優化

● GOP 快取首屏優化

假設使用者推流端的 GOP 是 5 秒,在某些情況下,拉流端需等待接近 5 秒才能收到第一個 I 幀,首屏才能開始渲染。這對強互動性直播場景來說是不可接受的。

網易雲信的解決方案是在媒體伺服器裡進行 GOP 快取,快取最近 1-2 個 GOP 的媒體包在 Server 端。當客戶端和媒體器媒體連線成功後,先傳送 GOP 快取裡的媒體包,再傳送當前的媒體資料。客戶端在收到媒體包後,需要根據一定的策略對齊音視訊包,再加速追幀。
在具體的實踐過程中,需注意 GOP 快取大小、客戶端的 Jitter buffer 大小的配合、GOP 快取裡音視訊的對齊、不同的推流端不同 GOP 長度的適配等情況。
● Pacer 平滑傳送

若推流端設定的 GOP 較大,當拉流客戶端媒體連線成功後,會一股腦地向客戶端傳送全部的 GOP 資料,可能會造成客戶端緩衝溢位或其他問題。這時 Server 的 Pacer 平滑傳送就需發揮作用了。
在具體的實踐過程中,需注意 Pacer 的追幀速率與客戶端追幀速率的配合。

  1. 延遲優化
● WE-CAN 全球智慧路由網路
直播行業之所以能夠蓬勃發展,在技術方面,CDN 廠商的雲端能力起到了很大的推動作用。CDN 加快了邊緣節點的回源速度,邊緣節點又加快了拉流終端的接入速度。
為了加快回源速度,回源媒體服務的選擇會盡可能接近 CDN 的區域中心節點;為了優化客戶端的接入效能,拉流媒體伺服器也要儘可能的接近拉流客戶端,因此媒體如何迅速地從回源媒體服務傳輸給拉流媒體服務就至關重要。
WE-CAN 很好地承擔起了職責。作為網易雲信自研的大規模分散式傳輸網路,WE-CAN 通過對各種資源智慧排程,來實現全球任意兩個媒體伺服器之間的快速、穩定傳輸。WE-CAN 起到了對比傳統 CDN 更迅捷,更穩定,更智慧,覆蓋範圍更廣的加速傳輸的作用。
  1. 卡頓率優化
網易雲信支援標準 WebRTC 媒體流接入,並通過深度優化 GCC,ARQ,FEC,RED 等各類 QoS 策略達到自適應匹配各種複雜網路的能力,在 40% 丟包的情況下,依然能流暢直播。

No.1:業界首個開源的低延時直播方案

前不久,網易智企釋出了“易+”開源計劃,並正式開源網易會議元件,幫助各行各業使用者構建穩定可靠、高清易用的專屬會議系統。

如今,我們將低延時直播方案也開源了,併成為業界首家開源低延時直播方案的廠商。

過去幾年,中國開源發展迅速。越來越多的開發者加入了開源貢獻行列,以滿腔才華和熱情貢獻技術,推動全球開源生態的進一步繁榮。同時,高質量的開源專案已成為基礎設施的重要基石。資料顯示,90% 以上的企業業務已構建在開源軟體、開源專案之上,開源的影響力正以數字量化的形式呈現在世人面前。

作為業界首個開源的低延時直播方案,網易雲信目前開源了信令互動協議、低延時引擎、播放器外掛。

我們開放了信令互動流程,支援標準的 SDP 協商和 ICE 建連,開發者只需整合一套低延時播放器,就可實現同時對接多家低延時直播廠商,大大減小包體積的增量。

同時,針對低延時直播場景深度定製了 WebRTC 引擎,支援 AAC、B 幀和多 Slice;並對首幀和端到端延時都進行了優化,目前首幀時間控制在 200ms 左右,端到端延時控制在 1s 以內。

為了方便在現有播放器整合低延時直播引擎,網易雲信還開源了基於標準 FFmpeg 外掛形態的低延時直播播放器外掛,開發者只需要修改少量程式碼就可讓現成的播放器具備低延時直播的能力。

未來,網易雲信還會開源低延時直播引擎的裁剪版本,進一步優化包體積和各種播放指標。並繼續推出開源的低延時直播推流引擎和低延時推流外掛,提供低延時直播的全鏈路解決方案,進一步降低開發門檻,推動低延時直播行業的快速發展。

秉持著開放與分享的技術態度,我們將始終致力於通過高質量的開源專案,與行業共同探索開源的巨大社會價值。

直播推薦

5月17日  19:00 網易智企視訊號直播

掃描二維碼,加入官方【開源社群】!

相關文章