摘要: 在互動大班課、雙師課堂、1對多小班課中,如果延遲過高,就會降低課堂上師生的互動積極性,授課效果大打折扣。針對直播中延遲,文章主要給大家談談: 視頻直播中的延時如何產生? 什么因素會影響延遲? 什么方法可以降低直播延遲?
正文共計 3568 個字,閱讀大約需要 8 分鐘。
延遲常常發生在直播互動中。
早上8點20分,邱老師剛給直播間里的學生講完第1小節,剛好到答疑時間,5名同學的攝像頭畫面出現在了直播間里。
“關于這個問題,大家有什么要問的嗎?”,邱老師開著視頻,對大家說。
3秒鐘后,才看到其中一個學生開始說話:老師,這道題……
邱老師愣了一下,怎么回事?
在這上面的場景中,存在著老師發問和學生反饋時間差,這通常被我們稱為“延遲”。
你也許偶爾會遇到這樣的情況:有時候直播還算正常,有時候直播畫面比當前畫面慢上幾秒;學生提問,老師也沒有及時回答上。
在互動大班課、雙師課堂、1對多小班課中,如果延遲過高,就會降低課堂上師生的互動積極性,授課效果大打折扣。
針對直播中延遲,文章主要給大家談談以下幾點:
-
視頻直播中的延時如何產生?
-
什么因素會影響延遲?
-
什么方法可以降低直播延遲?
視頻直播延時是如何產生的?
聲音和光的傳輸需要時間,無線電波的傳輸需要時間,影像和語音資料的編碼、解碼都需要時間。這里我們主要看視頻直播傳輸的時延。
一般來說,視頻直播主要涉及到采集、預處理、編碼、傳輸、服務器轉碼、解碼這些過程。這和淘寶快遞運輸的過程非常相似。
比如,你在淘寶上下單購買了1箱麥片,整個運輸過程大致如下:
首先,商家要把貨從倉庫拿出來(采集)并給你的麥片打包(預處理),貼上快遞單,方便快遞員識別和派送(編碼)。
接著,包裹被快遞員攬收,經過一段時間的運輸后(傳輸),到達你附近的派送站,并根據快遞單地址分配派送員(服務器轉碼)。
最后,快遞包裹送到你手里,你確認快遞單上的信息(視頻解碼),接著打開包裝吃上了麥片(播放視頻)。
理解了視頻直播的傳輸過程,就很容易理解延時是如何產生的了。
視頻直播整個傳輸鏈路很長,非常像物流運輸的鏈路,如果里面某個環節產生了延遲,量不斷累積,就會直接對整體延遲產生影響。
我們一般會把延遲分成3個類型:設備端處理延遲、網絡層延遲和服務端內部處理延遲。
1.設備端處理延遲
從采集端采集、前處理、編碼、打包發送,到播放端的收包解包、解碼、渲染播放,這里每一個環節都會有一定耗時。
2.網絡層延遲,即設備與服務器間的延時
這是常說的“最后一公里”,指的是設備端到服務端的網絡傳輸。在傳輸延時中,有一部分是客觀存在的時間消耗,也有一部分可以從技術上做優化。
3.服務端內部處理延時
包括服務器間的傳輸延時、排隊延時、服務器處理延時。針對跨運營商、跨國、跨地域的調度處理以及并發高峰的負載調度,在服務上都需要做好耗時優化。
在整個鏈路中,除了以上因素影響延時外,緩存策略、數據編碼、傳輸協議3個因素對延時的影響會比較大。
1.在一定條件下,緩存策略會增加延遲
上文提到淘寶物流的例子,因為視頻直播傳輸的路徑很長,很難保證整條路的穩定性,想要保證流暢傳輸,服務端和客戶端都會增加緩存(預先保存一些視頻內容)來應對音視頻卡頓。
服務器一般會先緩存一部分數據,把數據傳至客戶端,如果遇到網絡抖動,服務端可以使用緩存中的數據保證直播流的順暢。
網絡狀況恢復良好后,又會重新緩存數據。但如果遇到網絡抖動較多時,延時也會慢慢積累,影響到用戶體驗。
2.數據編碼方式會影響讀取延遲
目前我們主流的視頻編碼方式是高級視頻編碼(Advanced Video Coding,AVC),即大家常說的 H.264。
為什么我們需要編碼?編碼又如何影響直播延時呢?
假設我們看一部時長2小時的1080P、60FPS的電影,如果每個像素需要2字節的存儲空間,那么整部電影需要占用1668.54GB的空間!
平時我們硬盤的電影只有幾百MB或幾G吧?怎么會這么大呢?
其實這些都是被編碼壓縮后的文件。這樣做不僅節省空間,還能減小網絡傳輸的壓力。
那么編碼是如何影響延遲的呢?這里主要是客戶端的解碼關鍵幀的方式。
怎么理解呢?我們平時出去吃飯,偶爾會遇到店里人很多,需要排號的情況。你拿到號(關鍵幀)之后,開始等位。你可能會和朋友去旁邊逛逛街。
如果你逛完街回來,剛好遇到叫號(關鍵幀),那么就可以直接進去享用美食(直接解碼,看到視頻)。如果錯過了叫號(關鍵幀),那么就只能等一下,才能輪到你(過一段時間,再解碼)。
以上是咱們生活中比較熟悉的例子,如果用專業的話來說,就是:
如果客戶端收到的第一個視頻幀就是關鍵幀I(叫號),那么客戶端就可以直接播放,如果錯過了關鍵幀I(叫號),那么就需要等到下一個關鍵幀才可以播放視頻。
GOP(圖像組)制定了視頻幀的組織方式,每個GOP都會以關鍵幀開頭,所以GOP大小會影響播放端的延遲。
GOP決定了關鍵幀的間隔,也決定了客戶端找到第一個可播放關鍵幀的時間,進而影響視頻直播的延遲。
3.傳輸協議不同,延遲也不同
一般來說,直播中延遲要低于800毫秒,才能夠滿足連麥互動的要求,做一些比較高頻的互動。如果延遲高于800毫秒,連麥的效果就很難被觀眾接受了。
從上面這張圖譜,我們可以看到,要達到毫秒級別(1秒內)的延遲,才能夠滿足連麥的要求。為了追求更好的用戶體驗,那么我們就要不斷優化延時,達到最優。
想要在直播中實現低延遲,比較通用的原則是:
-
選擇一條最優路徑
-
在這條路徑上做到最優
-
保持所有路徑優質
1.選擇一條最優路徑
目前使用比較多的是智能測速,根據用戶個人連接數據分析等方法,選擇最優的網絡路徑。
2.在這條路徑上做到最優
選擇好路徑后,就要在這條路上盡可能跑得快。但是這條傳輸路徑包括了采集、編碼、推流、轉碼、分發、拉流、解碼和渲染。這里優化的關鍵點主要在于選擇協議、前向糾錯和丟包重傳等等技術。
3.保持所有路徑優質
只選擇一條最優路徑就夠了嗎?非也,這里有一個前提,整體道路網絡必須足夠好,如果選了爛泥土路,怎么能夠跑得快呢?
在這里,網絡基建是影響延遲的重要因素。可以通過以下3點來提高:
多節點覆蓋:一般來說,核心城市網絡覆蓋率更高,偏遠地區的覆蓋率較低。為了充分覆蓋,可以采用多節點來確保全網充分覆蓋。
全方位保障:通過部署全球范圍內的接入點能夠確保這一點,BGP(一種網關協議)能夠很好地解決不同網絡之間的互通問題。
優質的網絡節點資源:底層網絡服務的質量,會決定音視頻服務的用戶體驗。一般來說,一線的網絡運營商在網絡節點的數量和質量上都很有保障。
5G 網絡帶來 1ms 超低時延
高可靠和超低延遲(URLLC)是 5G 三大主要應用場景之一。5G 對于端到端延時的最低要求是 1 ms,甚至更低。在通信的時延和可靠性方面,相比之前的蜂窩移動通信技術,5G 有了極大提升。
這 1ms 有多厲害呢?第三方網絡測試機構Open Singanl測試了4G LTE網絡的時延為98ms,這幾乎是5G 1ms 時延的100倍。
在5G的技術標準中,為實現這樣的超低延遲做出了許多努力,比如使用新的編碼、更短的傳輸時間間隔、優化調度模式、快速自動請求重傳等。
URLLC 是 5G 區別于 2G/3G/4G 的一個典型場景,高可靠低時延對于自動駕駛、工業應用和控制、遠程培訓、遠程手術以及其他高度延遲敏感型業務的廣泛應用非常關鍵。
5G 成熟后,我們可以真正“無延遲”實現 4K/8K 視頻直播,用戶的互動體驗和線下沒有太大區別。
保利威一直保持對5G超高清視頻直播技術的探索。
2019年10月教育裝備展上,保利威首次公開展示5G超高清直播課堂,穩定流暢無卡頓。增強移動帶寬帶來高清快速的直播體驗,師生雙向互動毫無壓力。
webRTC發展成熟,低延遲協議走向標準化

可以預見的是,webRTC會逐漸成為音視頻通訊協議的主流,各家的私有協議也走向統一和標準化。音視頻通訊開始應用于眾多垂直行業,比如在線教育、在線醫療、空中宣講會等。

如今,webRTC蓬勃發展,低延遲音視頻通話將會有更多發展空間。保利威將繼續在音視頻領域不斷鉆研,為不同領域的客戶提供有借鑒意義的創新技術和優質解決方案,為行業的發展貢獻自己的一份力量。
彩蛋環節:針對低延遲直播技術,保利威近期會推出一項全新的解決方案,各位敬請期待。
參考文獻:
[1]詳解音視頻直播中的低延時.聲網
[2]互動直播如何實現超低延遲?.冼牛
[3]為什么流媒體直播的延遲很高.draveness
全文完