日韩欧美国产一区二区三区_五月天欧美精品_国产精品一区不卡_欧美精品乱码久久久久久

內容字號:默認大號超大號

段落設置:段首縮進取消段首縮進

字體設置:切換到微軟雅黑切換到宋體






詳解音視頻直播中的低延時

時間:2018-05-24 來源:中國集群通信網 作者:網絡 點擊:

音視頻實時通訊的應用場景已經隨處可見,從“吃雞”的語音對講、直播連麥、直播答題組隊開黑,再到銀行視頻開戶等。對于開發者來講,除了關注如何能快速實現不同應用場景重點額音視頻通訊,另一個更需要關注的可能就是“低延時”。但是,到底實時音視頻傳輸延時應該如何“低”,才能滿足你的應用場景呢?


延時的產生與優化


在聊低延時之前,我們先要講清延時是如何產生的。由于音視頻的傳輸路徑一樣,我們可以通過一張圖來說明延時的產生:

在音視頻傳輸過程中,在不同階段都會產生延時。總體可以分為三類:


T1:設備端上的延時


音視頻數據在設備端上產生延時還可以細分。設備端上的延時主要與硬件性能、采用的編解碼算法、音視頻數據量相關,設備端上的延時可達到 30~200ms,甚至更高。如上表所示,音頻與視頻分別在采集端或播放端產生延時的過程基本相同,但產生延時的原因不同。

音頻在設備端上的延時

  • 音頻采集延時:采集后的音頻首先會經過聲卡進行信號轉換,聲卡本身會產生延時,比如 M-Audio 聲卡設備延遲 1ms,艾肯聲卡設備延遲約為 37ms;

  • 編解碼延時:隨后音頻進入前處理、編碼的階段,如果采用 OPUS 標準編碼,最低算法延時大約需要 2.5~60ms;

  • 音頻播放延時:這部分延時與播放端硬件性能相關。

  • 音頻處理延時:前后處理,包括 AEC,ANS,AGC 等前后處理算法都會帶來算法延時,通常這里的延時就是濾波器階數。在 10ms 以內。

  • 端網絡延時:這部分延時主要出現在解碼之前的 jitter buffer 內,如果在抗丟包處理中,增加了重傳算法和前向糾錯算法,這里的延時一般在 20ms 到 200ms 左右。但是受到 jitter buffer 影響,可能會更高。

視頻在設備端上的延時

  • 采集延時:采集時會遇到成像延遲,主要由 CCD 相關硬件產生,市面上較好的 CCD 一秒可達 50 幀,成像延時約為 20ms,如果是一秒 20~25 幀的 CCD,會產生 40~50ms 的延時;

  • 編解碼延時:以 H.264 為例,它包含 I、P、B 三種幀(下文會詳細分析),如果是每秒 30 幀相連幀,且不包括 B 幀(由于 B 幀的解碼依賴前后視頻幀會增加延遲),采集的一幀數據可能直接進入編碼器,沒有 B 幀時,編碼的幀延時可以忽略不計,但如果有 B 幀,會帶來算法延時。

  • 視頻渲染延時:一般情況下渲染延時非常小,但是它也會受到系統性能、音畫同步的影響而增大。

  • 端網絡延時:與音頻一樣,視頻也會遇到端網絡延時。

另外,在設備端,CPU、緩存通常會同時處理來自多個應用、外接設備的請求,如果某個問題設備的請求占用了 CPU,會導致音視頻的處理請求出現延時。以音頻為例,當出現該狀況時,CPU 可能無法及時填充音頻緩沖區,音頻會出現卡頓。所以設備整體的性能,也會影響音視頻采集、編解碼與播放的延時。


T2:端與服務器間的延時


影響采集端與服務器、服務器與播放端的延時的有以下主幾個因素:客戶端同服務間的物理距離、客戶端和服務器的網絡運營商、終端網絡的網速、負載和網絡類型等。如果服務器就近部署在服務區域、服務器與客戶端的網絡運營商一致時,影響上下行網絡延時的主要因素就是終端網絡的負載和網絡類型。一般來說,無線網絡環境下的傳輸延時波動較大,傳輸延時通常在 10~100ms 不定。而有線寬帶網絡下,同城的傳輸延時能較穩定的低至 5ms~10ms。但是在國內有很多中小運營商,以及一些交叉的網絡環境、跨國傳輸,那么延時會更高。


T3:服務器間的延時


在此我們要要考慮兩種情況,第一種,兩端都連接著同一個邊緣節點,那么作為最優路徑,數據直接通過邊緣節點進行轉發至播放端;第二種,采集端與播放端并不在同一個邊緣節點覆蓋范圍內,那么數據會經由“靠近”采集端的邊緣節點傳輸至主干網絡,然后再發送至“靠近”播放端的邊緣節點,但這時服務器之間的傳輸、排隊還會產生延時。僅以骨干網絡來講,數據傳輸從黑龍江到廣州大約需要 30ms,從上海到洛杉磯大約需要 110ms~130ms。

在實際情況下,我們為了解決網絡不佳、網絡抖動,會在采集設備端、服務器、播放端增設緩沖策略。一旦觸發緩沖策略就會產生延時。如果卡頓情況多,延時會慢慢積累。要解決卡頓、積累延時,就需要優化整個網絡狀況。

綜上所述,由于音視頻在采集與播放端上的延時取決于硬件性能、編解碼內核的優化,不同設備,表現不同。所以通常市面上常見的“端到端延時”指的是 T2+T3。


延時低≠通話質量可靠


不論是教育、社交、金融,還是其它場景下,大家在開發產品時可能會認為“低延時”一定就是最好的選擇。但有時,這種“追求極致”也是陷入誤區的表現,低延時不一定意味著通訊質量可靠。由于音頻與視頻本質上的差異,我們需要分別來講實時音頻、視頻的通訊質量與延時之間的關系。

音頻質量與延時


音頻采樣示意圖


影響實時音頻通訊質量的因素包括:音頻采樣率、碼率、延時。音頻信息其實就是一段以時間為橫軸的正弦波,它是一段連續的信號(如上圖)。

  • 采樣率:是每秒從連續信號中提取并組成離散信號的采樣個數。采樣率越高,音頻聽起來越接近真實聲音。

  • 碼率:它描述了單位時間長度的媒體內容需要空間。碼率越高,意味著每個采樣的信息量就越大,對這個采樣的描述就越精確,音質越好。

假設網絡狀態穩定不變,那么采樣率越高、碼率越高,音質就越好,但是相應單個采樣信息量就越大,那么傳輸時間可能會相對更長。

對照我們之前的公式,如果想要達到低延時,那么可以提高網絡傳輸效率,比如提高帶寬、網絡速度,這在實驗室環境下可以輕易實現。但放到生活環境中,弱網、中小運營商等不可控的問題必定會影響網絡傳輸效率,最后結果就是通訊質量沒有保障。還有一種方法,就是降低碼率,那么會損失音質。

視頻質量與延時

影響實時視頻質量的因素包括:碼率、幀率、分辨率、延時。其中視頻的碼率與音頻碼率相似,是指單位時間傳輸的數據位數。碼率越大,畫面細節信息越豐富,視頻文件體積越大。

  • :正如大家所知,視頻由一幀幀圖像組成,如上圖所示為 H.264 標準下的視頻幀。它以 I 幀、P 幀、B 幀組成的 GOP 分組來表示圖像畫面(如下圖):I 幀是關鍵幀,帶有圖像全部信息;P 幀是預測編碼幀,表示與當前與前一幀(I 或 P 幀)之間的差別;B 幀是雙向預測編碼幀,記錄本幀與前后幀的差別。

  • 幀率:它是指每秒鐘刷新的圖像幀數。它直接影響視頻的流暢度,幀率越大,視頻越流暢。由于人類眼睛與大腦處理圖像信息非常快,當幀率高于 24fps 時,畫面看起來是連貫的,但這只是一個起步值。在游戲場景下,幀率小于 30fps 就會讓人感到畫面不流暢,當提升到 60fps 時會帶來更實時的交互感,但超過 75fps 后一般很難讓人感到有什么區別了。

  • 分辨率:是指單位英寸中所包含的像素點數,直接影響圖像的清晰度。如果將一張 640 x 480 與 1024 x 768 的視頻在同一設備上全屏播放,你會感到清晰度明顯不同。

在分辨率一定的情況下,碼率與清晰度成正比關系,碼率越高,圖像越清晰;碼率越低,圖像越不清晰。

在實時視頻通話情況下,會出現多種質量問題,比如:與編解碼相關的畫面糊、不清晰、畫面跳躍等現象,因網絡傳輸問題帶來的延時、卡頓等。所以解決了低延時,只是解決了實時音頻通訊的一小部分問題而已。

綜上來看,如果在網絡傳輸穩定的情況下,想獲得越低的延時,就需要在流暢度、視頻清晰度、音頻質量等方面進行權衡。


不同場景下的實時音視頻


我們通過下表看到每個行業對實時音視頻部分特性的大致需求。但是每個行業,不僅對低延時的要求不同,對延時、音質、畫質,甚至功耗之間的平衡也有要求。在有些行業中,低延時并非永遠排在首位。


游戲場景


在手游場景下,不同游戲類型對實時音視頻的要求不同,比如狼人殺這樣的桌游,語音溝通是否順暢,對游戲體驗影響很大,所以對延時要求較高。其它類型游戲具體如下方表格所示。

但滿足低延時,并不意味著能滿足手游開發的要求。因為手游開發本身存在很多痛點,比如功耗、安裝包體積、安全性等。從技術層面講,將實時音視頻與手游結合時,手游開發關注的問題有兩類:性能類與體驗類。

  • 性能類:包括 SDK 包大小、流量使用情況、CPU 與內存占用率、功耗

  • 體驗類:包括網絡延遲、回音消除、抗雜音能力等

在將實時音視頻與手游結合時,除了延時,更注重包的大小、功耗等。安裝包的大小直接影響用戶是否安裝,而功耗則直接影響游戲體驗。


社交直播場景


目前的社交直播產品按照功能類型分有僅支持純音頻社交的,比如荔枝 FM;還有音視頻社交的,比如陌陌。這兩類場景對實時音視頻的要求包括:


直播答題場景


在直播答題場景中,對實時音視頻的要求主要有如下兩點:

  • 音視頻質量:與視頻直播類似,畫面與音質決定了用戶的直觀體驗

  • 直播與題目同步:直播畫面與題目的同步

我們以前經常能看到主持人說完一道題,題目卻還沒發到手機上,最后只剩 3 秒的答題時間,甚至沒看到題就已出局。該場景的痛點不是低延時,而是直播音視頻與題目的同步,保證所有人公平,有錢分。


K 歌合唱場景


天天 K 歌、唱吧等 K 歌類應用中,都有合唱功能,主流形式是 A 用戶上傳完整錄音,B 用戶再進行合唱。實現實時合唱的主要需求有如下幾點:

在這個場景中,兩人的歌聲與音樂三者之間的同步給低延時提出了很高的要求。同時,音質也是關鍵,如果為了延時而大幅降低音質,就偏離了 K 歌應用的初衷。


金融場景


對于核保、銀行開戶來講,需要一對一音視頻通話。由于金融業特殊性,該類應用對實時音視頻的需求,按照重要性來排序如下:

在這個場景中,低延時不是關鍵。重要的是,要保證安全性、雙錄功能和系統平臺的兼容。


在線教育


在線教育主要分為兩類:非 K12 在線教育,比如技術開發類教學,該場景對實時音視頻的要求主要有:

  • 音視頻播放流暢:直播音視頻畫面不會出現卡頓、畫面模糊等情況

  • 回放功能:一些有價值的演講,或技術門檻較高的內容都需要有回放功能

很多非 K12 教學發生在單向直播場景下,所以延時要求并不高。

另一類是 K12 在線教育,比如英語外教、部分興趣教學,通常會有一對一或一對多的師生連麥功能,它對直播場景的要求包括:

在 K12 的在線教育中,師生的連麥在低延時方面有較高的要求。如果會涉及跨國的英語教學,或需要面向偏遠地區學生,那還要考慮海外節點部署、中小運營商網絡的支持等。


在線抓娃娃


在線抓娃娃是近期新興熱點,主要依靠實時音視頻與線下娃娃機來實現。它對實時音視頻的要求包括:

瓶頸與權衡

產品的開發追求極致,需要讓延時低到極限。但理想豐滿,現實骨感。我們曾在上文提到,延時是因多個階段的數據處理、傳輸而產生的。那么就肯定有它觸及天花板的時候。

我們大膽假設,要從北京機場傳輸一路音視頻留到上海虹橋機場。我們突破一切物理環境、財力、人力限制,在兩地之間搭設了一條筆直的光纖,且保證真空傳輸(實際上根本不可能)。兩地之間距離約為 1061 km。通過計算可知,傳輸需要約 35ms。數據在采集設備與播放設備端需要的采集、編解碼處理與播放緩沖延時計為較高的值,30ms。那么端到端的延時大概需要 65ms。請注意,我們在這里還忽略了音視頻文件本身、系統、光的衰減等因素帶來的影響。

所以,所謂“超低延時”也會遇到瓶頸。在任何實驗環境下都可以達到很低的延時,但是到實際環境中,要考慮邊緣節點的部署、主干網絡擁塞、弱網環境、設備性能、系統性能等問題,實際延時會更大。在一定的網絡條件限制下,針對不同場景選擇低延時方案或技術選型時,就需要圍繞延時、卡頓、音頻質量、視頻清晰度等指標進行權衡與判斷。

作者介紹

高澤華,聲網 Agora 音頻工匠,先后在中磊電子、士蘭微電子、虹軟科技主導音頻項目。任職 YY 期間負責語音音頻技術工作。在音樂、語音編解碼方面有超過十年的研發經驗。



(中國集群通信網 | 責任編輯:李俊勇)
本文標簽: 低延時, 直播, 音視頻

相關文章

中國集群通信網,國內首家集群通信專業網站。

Copyright © PttCn.Net, All Rights Reserved.   

聯系我們 聯系我們 中國集群通信網 對講機學堂 對講機世界

主站蜘蛛池模板: 亚洲字幕一区二区| 久久中文字幕视频| 色妞一区二区三区| 国产精品亚洲a| 日韩欧美在线免费观看视频| av日韩中文字幕| 国产精品第3页| av久久久久久| 日韩中文字幕亚洲精品欧美| 国产一区二区在线免费视频v| 久久青草精品视频免费观看| 久久视频在线观看中文字幕| 久久91精品国产91久久久| 国产精品三级在线| 99精品视频播放| 日韩av在线播放不卡| 欧美亚洲国产视频小说| 日本高清久久天堂| 国产中文字幕免费观看| 国产福利视频在线播放| 日本一区精品| 国产麻豆日韩| 日韩中文字幕av| 国产乱子夫妻xx黑人xyx真爽| 欧美日韩一区二区视频在线观看| 日韩欧美一区二区三区四区五区 | 高清视频一区| 日韩专区中文字幕| 国产欧美一区二区三区视频| 91精品中文在线| 精品国产乱码久久久久| 97久久久免费福利网址| 欧美亚洲另类激情另类| 国产福利久久精品| 精品人妻人人做人人爽| 91免费欧美精品| 国产又粗又爽又黄的视频| 日韩亚洲欧美中文在线| 国产精品麻豆免费版| 欧美精品免费观看二区| 国产精品一区免费观看|