為了互動直播,如何讓直播技術實現低延遲?

2021-01-10 雷鋒網

雷鋒網(公眾號:雷鋒網)按:本文作者冼牛,即構科技市場運營總監,香港大學MBA,十年研發經驗,音視頻雲服務技術專家,專注連麥互動直播技術應用研究。 本文系雷鋒網獨家文章。

借《讓子彈飛》中姜文的名言作為開場白:讓子彈飛一會兒。

某名人吐槽說:還要飛一會兒哪?這子彈的延遲也忒大了。

 該名人就是鄙人。

為什麼低延遲很重要?


低延遲的子彈可以擊殺敵軍千米之外,低延遲的直播技術可以秒殺粉絲千裡之外。

互動直播技術已經成為直播平臺的標配。沒有互動直播技術的直播平臺無法躋身直播行業第一梯隊。而要獲得互動直播技術,實現低延遲是必須的。

因此低延遲很重要。

那麼,直播技術如何實現低延遲呢?

 請允許我根據即構科技直播技術的經驗,和各位分享一下如何實現低延遲。

 即構科技的連麥互動直播技術,連麥方的延遲400毫秒,觀看方的延遲1秒左右。目前映客直播,花椒直播,一直播和慄子直播都採用了即構科技的連麥互動直播技術。因此,這個直播技術經驗是經過市場驗證的,是從實操中得來的,而不是單憑理論分析得到的。

 一般來說,延遲低於800毫秒, 才能夠在直播中連麥,做一些比較高頻的互動,比如相聲或者談話節目。如果延遲高於800毫秒,在直播中連麥的效果就無法被觀眾接受了。因此,延遲400毫秒的直播技術,是有足夠的餘地去實現連麥互動直播業務的。

要在直播技術中實現低延遲,有一個簡單而要務實的哲學:

1)選擇一條最優的路徑;

2)在這條路徑上做到最優;

3)保持所有路徑優質。

下面我將按照這個思路來論述如何實現低延遲。 

選擇一條最優的路徑

要選擇一條最優的路徑,有很多方法。目前使用比較多的是網絡測速,用戶個人連接數據分析,和用戶群體連接數據分析等幾種方法來選擇最優的網絡路徑。

推流端在推流之前,向各個路徑發送簡單的數據包,然後根據數據包響應的時間來推測哪條路徑最快。這個方法比較簡單,有效然而有限:選出來的路徑只是在該測試時間點最快的,而網絡狀況是隨著時間變化的;另外,簡單數據包測出來速度比較快,並不代表流媒體傳輸數據速度也比較快。因此,這個方法得到的結果只能作為一個指標來參考。

為了迴避單個採樣時間點測速導致的偏差,可以採取對歷史大數據進行分析,預測哪個網絡路徑最優。對歷史大數據進行的分析分為兩個維度:用戶個人連接數據分析和用戶群體連接數據分析。

1. 用戶個人連接數據分析

每個主播用戶的使用歷史數據是有規律可循的。通過分析這些歷史數據,可以發現主播用戶從哪裡接入,在什麼時候接入,接入到哪個伺服器,走什麼路徑的效果最優。這些歷史數據積累得越豐富,歷史數據分析得出來的結論就越靠譜。這個方法能夠發現個人主播用戶周期性的網絡連接情況,能找出大部分時間連接效率最優的網絡路徑。然而,這個方法的缺點是:數據採樣只是基於單個用戶,採樣點太少,沒有全局考慮到該用戶所在地區的整體網絡連接情況。

2. 用戶群體連接數據分析

為了彌補用戶個人連接數據分析的不足,這裡引入另外一個維度的數據分析:某地區用戶群體連接數據的分析。針對某用戶所在區域的用戶群進行歷史數據分析,可以發現這個區域網絡連接隨著時間變化的規律,找出在不同的時間點,在不同的接入點連接到哪個伺服器最好。

單點網絡測速,用戶個人連接數據分析,再加上用戶群體連接數據分析綜合得到結論,就能比較有效地預測哪條路徑最優。選路這部分需要不斷地優化,才能積累豐富的用戶數據,同時適應網絡的變化。

在這條路徑上做到最優

選好最優的路徑以後,剩下的就是要在該路徑上做到最優。這條路徑包括了下面幾個環節:採集,編碼,推流,轉碼,分發,拉流,解碼和渲染。在一個實時的音視頻系統架構裡,每個環節都會有一定程度的優化空間。行業內的小夥伴在這條路上已經有過很多探索,這裡不想重複討論別人已經探索過的議題,而只重點討論下面幾個關鍵點。

傳輸協議的選擇十分重要。傳輸協議一定程度上就決定了延遲的範圍。選擇傳輸協議的時候要考慮是推流端還是拉流端。推流端的協議有RTMP, WebRTC和基於UDP的私有協議。

1. RTMP是基於TCP的標準協議,CDN網絡普遍支持,也能做到相對比較低的延遲。即構科技的互動直播技術在推流端使用RTMP協議,拉流端兼容三種協議:RTMP,HLS和FLV。HLS協議的延遲比較大,在需要進行連麥互動的場景下,不應該使用HLS協議。

2. WebRTC的好處在於用戶體驗好,不需要安裝東西,分享一個連結就可以看。但是它有一個缺點,就是WebRTC是Google推的一項技術,除了Google Chrome和Opera支持WebRTC,其他瀏覽器大部分不支持WebRTC。

換一句話說,40%的瀏覽器支持WebRTC,剩下60%瀏覽器不支持,所以適用範圍就比較局限。然後,在中國國內,WebRTC在Google Chrome上的表現也大打折扣。最後,因為瀏覽器沒有開放核心的能力,所以在瀏覽器上運行的協議比較難以做到比較低的延遲。

3. 基於UDP的私有協議十分適合做實時音視頻系統,它是面向無連接的,避免了TCP做網絡質量控制所需要的開銷,能夠做到比較低的延遲。但是它也有一個缺點,那就是私有協議的兼容性不好。

CDN支持標準的RTMP協議,但是不支持基於UDP的私有協議。為了吸納UDP的優點,而避免UDP的缺點,即構科技的互動直播技術採用了基於UDP的私有協議作為補充,在有必要的時候用來彌補RTMP協議的不足。比如說,只有在網絡環境比較惡劣或者在跨國互通的情況下,才使用基於UDP的私有協議;比如說,只在推流端到媒體伺服器這一段才使用基於UDP的私有協議,而從媒體伺服器轉推流到CDN網絡這一段採用RTMP協議,在這兩段之間通過把UDP私有協議轉換成RTMP協議來進行適配和銜接。這樣一來,即構科技的直播方案既擁有超低延遲的優勢,又保留了標準協議普遍被CDN網絡支持的好處。

前向糾錯簡稱FEC,英文全稱Forward Error Correction,是通過提前採取措施來對抗網絡損傷。丟包重傳主要針對丟包的情況下,有針對性地對丟失的數據包進行高效率的重傳。準確來說,它們的直接目的不是為了降低延遲,而是為了對抗網絡損傷。在不可預測的網絡環境中,能很好地處理網絡抖動帶來的負面影響,間接也會降低了延遲,同時保證了穩定性和流暢性。

一般來說,前向糾錯和丟包重傳互補使用,前者屬於前驗的方法,比較節省時間,但是佔用多餘的帶寬;後者屬於後驗的方法,比較節省帶寬,但是會消耗比較多的時間。在網絡比較差情況下,丟包率比較高,那麼可以通過前向糾錯方法來保證信息完整送達。比如說發送冗餘信息,確保在一定丟包率之下,接受方也能準確而完整的還原發送方所要發送的信息。在網絡相對比較好的情況下,丟包率比較低,那麼可以通過丟包重傳的方法來保證信息完整送達。比如說針對丟掉的數據包,通過高效的機制進行重傳,確保接受方能夠完整的收到發送方所要發送的消息。

由於有網絡抖動的存在,數據包的到達不是勻速的。

最直接的降低延遲的方法就是把緩衝隊列的長度設置為零,接收到什麼數據包就直接渲染什麼數據包,然而這樣做的後果就是播放不流暢,會出現卡頓。

因此,延遲和流暢兩者本身就是一對矛盾的因素。我們要做的是尋找低延遲和流暢之間的平衡點,尋找平衡點的有效方法就是建立緩衝隊列。在拉流端和混流伺服器都需要建立緩衝隊列。對於一個實時系統來說,緩衝隊列的長度必須不是固定的,而是自適應的:當網絡很好的時候,緩衝隊列的長度就會變得比較短,接近零,甚至為零;當網絡不好的情況下,緩衝隊列的長度會變得比較長,但是不能超過能接受的上限,畢竟緩衝隊列的長度本質上就是延遲的時間。

另外,還可以把緩衝自適應技術和快播或慢播技術結合起來使用。當網絡由差轉好的情況下,可以適當的播得快一點,儘快縮短緩衝隊列的長度。當網絡由好轉差的情況下,可以適當的播得慢一點,讓緩衝隊列適當變長,保持流暢性。快播和慢播是結合觀眾的心理學模型,在適合快播和慢播的條件下採用,讓觀眾沒有覺察出播放速度的變化,同時整體感覺也顯得既流暢又低延遲。

由於網絡環境的複雜多變,碼率要能自動適應網絡狀況的變化,也就是所謂的碼率自適應。 在網絡比較差的時候,要降低碼率,讓直播保持低延遲和流暢性;在網絡比較好的時候,要提高碼率,讓直播保持高清畫質。為了做到碼率自適應,對協議選擇也很考究。RTMP對碼率自適應能做的事情比較有限,因為它基於TCP, 而TCP 下層已經做了網絡質量控制,當網絡出現擁塞的時候,上層應用不會及時得到通知。基於UDP的私有協議更加適合做碼率自適應,因為它基於UDP,而UDP只負責發包和收包,把網絡質量控制交給應用層來做,這樣應用層會有足夠的空間來實現碼率自適應。

保持所有路徑優質

那麼,為了在直播技術中實現低延遲,要選擇一條最優路徑,還要在該路徑上做到最優。故事講完了嗎?沒有,我們忘記了一個前提:整體的道路網絡必須要足夠好。道路網絡不好,怎麼選都是爛泥土路,選了爛泥土路,如何能夠跑的快呢?因此,要實現低延遲,網絡基建必須要足夠好。網絡基建的質量可以通過以下三個方面來提高:

一般來說,音視頻雲服務的機房會分布在核心的幾個樞紐城市,邊遠地區的用戶的訪問質量是得不到保障的。另外,在中國國內,各個網絡運營商的覆蓋面是參錯不齊的,有些網絡運營商對一些邊遠地區也是覆蓋不足的。為了做到全網充分覆蓋,可以採用多節點代理和重定向,來確保全網充分覆蓋無盲點。這個需要經過實際充分測試,才能夠驗證各類網絡可以充分連通。

網絡接入點的覆蓋面對QoE(Quality of Experience)十分的重要。從即構的經驗來看,通過部署遍布全球範圍的接入點能夠確保這一點。另外,由於在中國國內存在有「兩張大網,多張小網」這樣一個局面,BGP在這種情況下十分有必要。BGP能夠很好地解決不同網絡之間的互通問題。即構所有的網絡接入點都使用了BGP。

音視頻雲服務是跑在網絡基建上面的,下層網絡基建的質量必須要優質,而且音視頻雲服務和下層網絡基建也要深度結合。為了實現直播技術的低延遲,最好能對接一線的網絡運營商,這樣部署的網絡節點資源無論是數量還是質量上都是有充分的保障。這也是即構團隊在過去十多年海量用戶運營的過程中總結出來的經驗。

綜合來說,要實現直播技術低延遲,必須要選好一條最優的路徑,然後在該路徑上做到最優,最後要確保所有路徑的質量都是好的。道理就是那麼簡單,實現起來就是那麼難,魔鬼都出在細節上。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 魔力耳朵打造小班課技術壁壘,課堂實時互動穩定延遲低至150ms
    隨著AI、大數據等新技術的不斷迭代,如何利用新技術為在線教育賦能備受行業關注。魔力耳朵作為在線少兒英語教育小班課領導品牌,魔力耳朵憑藉優質的技術,不斷探索在線直播學習模式下的技術創新,通過技術賦能,驅動網際網路技術對教學效果的保障。
  • 千萬級用戶瞬時湧入直播間如何不卡 鬥魚自研視頻流技術全揭秘
    與主播高頻互動時,能否持續保持超高清、無延時、不卡頓的畫面,對於直播平臺而言也並非易事。像鬥魚這樣體量的遊戲直播平臺,每天晚尖峰時段都有數千萬用戶同時觀看直播,用戶從全國各地瞬時湧入平臺,非常考驗平臺的承載能力。為了讓用戶體驗達到最優,鬥魚摒棄了市場上應用廣泛的開源音視頻軟體,自主研發了鬥魚專屬播放器,並且以「低延遲+高清+實時流媒體」為核心進行了直播場景的定製化優化。
  • 直面女直播!互動直播問題面對面解答
    8月26日,雲鷺科技雲遊戲互動直播分享會第十八期在鬥魚直播平臺進行。本次互動直播分享會邀請到了一位使用過雲鷺互動直播的美女主播做客直播間,雲鷺科技CEO溫向東解答了對於雲鷺科技互動直播的各類問題,讓直播間的觀眾更加深度的了解了雲鷺科技互動直播解決方案。
  • 淘寶直播在衝刺最複雜的人工智慧技術!
    直播雖然是最好的互動零售模式,但缺點也很明顯,主播連播幾個小時,每天都播,身體吃不消,前段時間,李佳琦總是請假說,太累了,要做手術,最近幾天不播了;而每個TOP主播,幾乎都是聲音沙啞;薇婭也是經常在下播後輸氧。如何幫助主播減輕負擔呢?如何讓直播24小時永不休眠呢?這就是虛擬主播的價值了!
  • 《直播技術詳解》系列之一:開篇
    結合七牛實時流網絡 LiveNet 和直播雲解決方案的實踐,我們將用七篇文章,更系統化地介紹當下大熱的視頻直播各環節的關鍵技術,幫助視頻直播創業者們更全面、深入地了解視頻直播技術,更好地技術選型。本系列文章大綱如下:(一)開篇(二)採集和處理(三)編碼和封裝(四)推流和傳輸(無)現代播放器原理(六)延遲優化(七)SDK 性能測試模型本文是《解密視頻直播技術》系列之一:開篇,我們將從整體介紹直播中的各個環節。
  • 從視頻直播到直播抓娃娃,全面解讀在線娃娃機方案架構
    在線抓娃娃雖然當前市面上的抓娃娃產品眾多,大有往年的千團大戰之勢,但是據不少抓過娃娃的玩家反映,當前大部分抓娃娃產品的體驗並不好,除了娃娃質量不好以及一些不良商家故意將抓取率設得很低之外,在技術上最被人詬病的有如下兩點:1、延遲大,機爪和畫面不同步經常發生;2、直播畫面卡頓或者是不穩定。此外,也有一些玩家反映,根據直播畫面,存在娃娃機機爪落點的判斷死角。
  • 《朗讀者》攜手央視頻打造72小時直播《一平方米》 新媒體技術保駕...
    採用RTC實時通信技術顛覆傳統連線及信號傳輸方式。《一平方米》直播節目的主直播間設在北京,能夠同時接收到北京、武漢、廈門三地信號並進行切換,武漢與廈門由於距離原因與北京之間的數據傳輸存在低延時的要求。央視頻團隊採用RTC技術,基於網際網路進行傳輸,通過公有雲進行音視頻數據的轉發,終端設備上進行編解碼之後和EFP系統進行對接,完全顛覆了傳統廣電視頻連線方式,實現「超遠程低時延多人連線直播」。信號全流程傳輸的延時可以保證在400毫秒左右。而傳統廣電實時視頻連線一般是通過衛星通信完成,視頻延時較高,傳輸成本較高。
  • 虎牙攜手華為高科技+AI互動,微美全息AR+直播系統數字展示亮眼
    雙方共同努力,在交互領域中不斷創新,帶來無數可能性,並努力研究AI,爭取給直播內容帶來全面升級。結合不久前虎牙成為5G雲遊戲產業聯盟(5GCGA)理事單位的消息可以看出,身為國內遊戲直播第一股,虎牙正在同通信領域、遊戲領域等產業鏈上下遊企業合作,探索5G與AI等前沿技術在直播行業的具體運用。
  • 外太空直播所面臨的網絡問題
    關於「如何進行流暢星際直播」可以展開講講。流暢星際直播我們都知道,數據傳輸有兩個重要的指標:帶寬和延遲。其中帶寬決定了畫質,如果帶寬很低,可能會出現畫面停頓,只有聲音,甚至聲音也不連續的情況。然而,直播需要的是大的上傳帶寬,通常下行帶寬是上行帶寬的1/10到1/100,所以當前可以用於直播的帶寬數量級也就是100kB/s,大概率全球射電臺網的接收帶寬只能實現一個人的240p解析度且無法保證流暢度的月球直播。對於高要求的主播,可以試試「拉光纖」。
  • 外太空直播所面臨的數據傳輸問題
    (USB)並行回傳聲音和視頻信息來完成這次具有時代意義的直播。然而,直播需要的是大的上傳帶寬,通常下行帶寬是上行帶寬的1/10到1/100,所以當前可以用於直播的帶寬數量級也就是100kB/s,大概舉全球射電臺網的接收帶寬只能實現一個人的240p解析度且無法保證流暢度的月球直播。對於高要求的主播,可以試試"拉光纖"。
  • 復盤淘寶直播:增長神話背後的專業技術「超限戰」
    以支撐淘寶直播一秒上連結的技術為例,它被內部稱為「大規模低延時」,是一項淘寶自研的創新技術,目的是為了保證全國乃至全世界各地的消費者在看到淘寶主播喊「3、2、1,上連結」都能在幾乎同一時間看到連結、公平搶購。簡單來說,成千上萬個淘寶直播間裡,每天都在應對一場「小雙11」的技術挑戰。
  • 遊戲直播中互動行為對用戶平臺消費的影響
    (二)研究問題 1.遊戲直播中存在哪些互動行為? 2.遊戲直播中用戶消費行為的主要動機有哪些? 3.互動對消費是否有影響?互動如何影響消費? 4.用戶消費之後獲得了什麼報酬? B.直播的觀感與互動 a與主播之間如何互動 這部分用戶和主播主動進行聊天頻率較少。
  • 橋牌精英賽三創新:實現電視直播 大師學生互動
    橋牌精英賽三創新:實現電視直播 大師學生互動 2015-11-13 14:34:40來源:北京晚報作者:${中新記者姓名}責任編輯:姜貞宇 2015年11月13日 14:34 來源:北京晚報 參與互動
  • 5G時代如何玩轉直播?森然DJ音效卡套裝讓你的直播間更有個性
    在移動網際網路2G、3G時代,網絡網速慢,傳輸質量低,多以圖文為主。隨著4G、5G網絡技術的更新迭代以及智慧型手機的不斷普及,讓視頻直播具備了發展的基礎條件。
  • 一套完整的直播系統開發的流程是怎麼樣的?
    直播熱潮尚未褪去,而直播系統開發究竟是如何實現的?那麼,一套完整的直播系統開發的流程是怎麼樣的?1、音視頻採集採集是播放環節中的第一環,iOS 系統因為軟硬體種類不多,硬體適配性較好,所以比較簡單。Android 則不同,市面上硬體機型非常多,難以做到一個庫適配所有硬體。2、音視頻處理美顏系統是現在直播系統中所必需的一項。
  • 智慧樹日均直播課堂超1.5萬次 聲網RTC技術保障學生學的好
    疫情期間,智慧樹在其官方網站以及官方APP「知到」上線了在線語音+課件共享的直播課堂功能,免費提供給高校師生使用,並藉助實時音視頻雲PaaS服務商聲網Agora提供的RTC(實時音視頻技術),幫助師生們進行流暢、高效的線上教學互動,保障了高校師生「停課不停學「。
  • 快手直播帶貨詳細流程步驟;快手直播間怎麼互動氣氛丨國仁網絡資訊
    要弄明白快手直播如何選品,首先要知道什麼是快手直播,快手直播有什麼用。 快手直播通俗地講就是快手主播在快手平臺上進行直播,通過分析商品特點或分享使用感受等方式去相向觀眾推銷他們的產品。
  • 庭審直播中如何實現法治教育波紋效應
    庭審直播中如何實現法治教育波紋效應 2018-06-29 09:28:09來源:檢察日報作者:${中新記者姓名}責任編輯:張燕玲
  • 騰訊上線「直播+雲遊戲」互動玩法 但云遊戲商業化還需時間
    原標題:騰訊上線「直播+雲遊戲」互動玩法 但云遊戲商業化還需時間   9月10日,騰訊雲正式推出「互動雲遊戲」解決方案,其中,「直播+雲遊戲」互動新玩法即將在鬥魚上線
  • 在線「操縱」主播,《Godlie》第五季解鎖直播互動新體驗
    在粉絲的強烈呼聲下,Godlie宣布在本周推出粉絲福利局,開啟全新的直播互動體驗。素人粉絲可以加入到遊戲中來,在線「操控」主播,親手掌握遊戲走向。    根據Godlie官方微博透露,在直播特定時間裡,投票將會自動發起,邀請所有觀眾參與到遊戲互動中來。