在 視頻直播 技術(shù)中,延遲和抖動(dòng)是相互關(guān)聯(lián)的兩個(gè)概念,但它們并不相同。延遲是網(wǎng)絡(luò)傳輸中的一個(gè)重要指標(biāo),它由四個(gè)關(guān)鍵部分組成:處理延遲、排隊(duì)延遲、傳輸延遲和傳播延遲。延遲會(huì)影響用戶體驗(yàn),同時(shí)可能會(huì)因?yàn)槎喾N因素而發(fā)生變化。而抖動(dòng)是基于延遲產(chǎn)生的——具體地說,它是延遲時(shí)間忽長忽短變化的表現(xiàn)形式。抖動(dòng)是兩個(gè)數(shù)據(jù)包之間延遲時(shí)間的差異,通常會(huì)導(dǎo)致數(shù)據(jù)包丟失和網(wǎng)絡(luò)擁塞。雖然延遲和抖動(dòng)有一定的共同點(diǎn)和關(guān)聯(lián)性,但它們并不相同。
什么是延遲?
延遲是網(wǎng)絡(luò)傳輸中的一個(gè)重要指標(biāo),測量了數(shù)據(jù)從一個(gè)端點(diǎn)到另外一個(gè)端點(diǎn)所需的時(shí)間。一般我們用毫秒作為其單位。通常我們也把延遲叫做延時(shí),但是延時(shí)有時(shí)還會(huì)表示數(shù)據(jù)包發(fā)送端到接受端的往返時(shí)間。這個(gè)往返時(shí)間我們可以通過網(wǎng)絡(luò)監(jiān)控工具測量,測量數(shù)據(jù)包的發(fā)送時(shí)間點(diǎn)和接受到確認(rèn)的時(shí)間點(diǎn),兩者之差就是延時(shí)。單向時(shí)間就是延遲。
延遲(delay)和延時(shí)(latency)有何區(qū)別?
延遲和延時(shí)本質(zhì)上是緊密聯(lián)系的,有時(shí)甚至可以互換使用。然而,它們并不總是相同的。延遲(delay)是數(shù)據(jù)從一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)所需的時(shí)間。然而,延時(shí)(latency)可能是以下兩種情況之一。
有時(shí),延時(shí)(latency)會(huì)被認(rèn)為是數(shù)據(jù)包從一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)的時(shí)間,與單向延遲(delay)相同。
更常見的情況是,延時(shí)(latency)表示往返時(shí)間。往返時(shí)間包含了發(fā)送數(shù)據(jù)包所需的時(shí)間,以及它返回的時(shí)間。但并不包括在目的地處理數(shù)據(jù)包所花費(fèi)的時(shí)間。
通過網(wǎng)絡(luò)監(jiān)控工具,可以獲取在特定網(wǎng)絡(luò)中數(shù)據(jù)往返的準(zhǔn)確時(shí)間(延時(shí)latency)。具體方法是,通過跟蹤兩個(gè)時(shí)間點(diǎn),一個(gè)是從發(fā)送端發(fā)送數(shù)據(jù)包的時(shí)間點(diǎn),另一個(gè)是發(fā)送端獲得接收端返回的確認(rèn)結(jié)果的時(shí)間點(diǎn),然后通過計(jì)算兩者的時(shí)間差異得到準(zhǔn)確的往返時(shí)間(延時(shí)latency)。但是,兩個(gè)端點(diǎn)之間的(單向)延遲(delay)是很難確定的,因?yàn)樵诎l(fā)送端并沒有數(shù)據(jù)包到達(dá)接收端的時(shí)間信息。
導(dǎo)致延遲的原因?
延遲可以理解為四個(gè)關(guān)鍵延遲成分的集合:處理延遲、排隊(duì)延遲、傳輸延遲和傳播延遲。
處理延遲是指系統(tǒng)對數(shù)據(jù)包報(bào)頭進(jìn)行分析和確定數(shù)據(jù)包被發(fā)送到哪里去所要花費(fèi)的時(shí)間。這很大程度上取決于路由表中的條目數(shù)量、系統(tǒng)中數(shù)據(jù)結(jié)構(gòu)的執(zhí)行以及硬件的實(shí)現(xiàn)。
排隊(duì)延遲是指數(shù)據(jù)包從進(jìn)入發(fā)送隊(duì)列到被發(fā)送之間經(jīng)過的時(shí)間。這取決于流量大小、流量類型以及具體實(shí)現(xiàn)中采用什么路由器隊(duì)列算法。不同的算法效果不一樣,有的可以根據(jù)系統(tǒng)參數(shù)調(diào)整延遲時(shí)間,或者對所有流量設(shè)定相同的延遲時(shí)間。
傳輸延遲是指將包中的數(shù)據(jù)位傳入線路所需要的時(shí)間。根據(jù)數(shù)據(jù)包的大小和帶寬的不同而有所變化。但并不取決于傳輸線路的距離,因?yàn)樗鼉H僅是指將包的數(shù)據(jù)位傳入線路的時(shí)間,而不是沿傳輸線路到達(dá)接收端點(diǎn)的時(shí)間。
傳播延遲是指數(shù)據(jù)包的第一個(gè)比特位從發(fā)送端到達(dá)接收端的時(shí)間。通常也被稱為距離的延遲,受數(shù)據(jù)傳輸距離和傳播速度的影響。
這些延遲組合在一起構(gòu)成了網(wǎng)絡(luò)中的總延遲。而往返時(shí)間則是指這些延遲的組合,加上數(shù)據(jù)包從發(fā)送端到達(dá)接收端的時(shí)間,和發(fā)送端接收到終端的返回信息的時(shí)間。
延遲的影響
延遲主要影響用戶體驗(yàn)。在嚴(yán)格的音頻通話中,當(dāng)延遲達(dá)到150毫秒,延遲會(huì)變得很明顯并影響用戶體驗(yàn)。在嚴(yán)格的視頻通話中,延遲達(dá)到400毫秒就很容易被用戶感知。如果將音頻和視頻兩種通話的功能結(jié)合在一起,音頻和視頻的通話應(yīng)該保持同步,并保證低于150毫秒的延遲以保障用戶體驗(yàn)。然而,一般來說,保持盡可能低的延遲是很重要的。國際電信聯(lián)盟ITU建議網(wǎng)絡(luò)延遲應(yīng)該保持在100毫秒以下。
什么是抖動(dòng)?
抖動(dòng)是由于數(shù)據(jù)包的大小,網(wǎng)絡(luò)路由的路徑選擇等眾多因素,我們無法保證數(shù)據(jù)包的延遲時(shí)間是一致的,數(shù)據(jù)包和數(shù)據(jù)包延遲的差異我們稱為抖動(dòng)。也就是說因?yàn)閿?shù)據(jù)包的延時(shí)值忽大忽小的現(xiàn)象我們稱為是抖動(dòng)。
每個(gè)數(shù)據(jù)包之間的這種延遲的差異被稱為抖動(dòng)。對于實(shí)時(shí)通信領(lǐng)域,像IP電話、視頻會(huì)議和遠(yuǎn)程桌面分享基礎(chǔ)服務(wù)等,抖動(dòng)是一個(gè)相當(dāng)大的問題。網(wǎng)絡(luò)中的許多因素都可能導(dǎo)致抖動(dòng),而每個(gè)網(wǎng)絡(luò)的延遲時(shí)間也不盡相同。
抖動(dòng)有什么影響?
數(shù)據(jù)包丟失
當(dāng)數(shù)據(jù)包到達(dá)時(shí)間不一致時(shí),接收端點(diǎn)必須進(jìn)行時(shí)間補(bǔ)償并嘗試糾錯(cuò)。在某些情況下,接收端沒辦法進(jìn)行合適的糾錯(cuò),導(dǎo)致數(shù)據(jù)包丟失。對最終用戶體驗(yàn)來說,有多種表現(xiàn)形式。例如,如果一個(gè)用戶正在觀看視頻,而視頻突然出現(xiàn)馬賽克,這就是一個(gè)網(wǎng)絡(luò)抖動(dòng)的跡象。
網(wǎng)絡(luò)擁塞
當(dāng)網(wǎng)絡(luò)設(shè)備開始丟棄數(shù)據(jù)包,導(dǎo)致端點(diǎn)沒有接收到數(shù)據(jù)包時(shí),就會(huì)發(fā)生擁塞。端點(diǎn)可能會(huì)請求丟包重傳,這會(huì)導(dǎo)致網(wǎng)絡(luò)崩潰式的網(wǎng)絡(luò)擁塞。
關(guān)于擁塞,需要注意的是,端點(diǎn)不會(huì)直接引起擁塞,同時(shí)也不會(huì)丟棄數(shù)據(jù)包。就像高速公路兩端的送貨方A和收貨方B,擁堵不是收貨方B造成的,因?yàn)樗皇菦]有足夠的停車位。擁堵是由送貨方A造成的,因?yàn)樗粩嗟剡\(yùn)送貨物到?jīng)]有足夠停車位的收貨方B處。
如何補(bǔ)償抖動(dòng)?
為了彌補(bǔ)抖動(dòng),在接收端點(diǎn)使用抖動(dòng)緩沖。抖動(dòng)緩沖區(qū)收集并存儲(chǔ)傳入的數(shù)據(jù)包,以便確定何時(shí)以相同的時(shí)間間隔發(fā)送它們(接收端會(huì)反饋給發(fā)送端)。
播放延遲
播放延遲是指數(shù)據(jù)包到達(dá)后直到渲染播放的時(shí)間。當(dāng)抖動(dòng)緩沖區(qū)存儲(chǔ)傳入的數(shù)據(jù)包,并等待以均勻的時(shí)間間隔分發(fā)它們(給渲染緩沖區(qū))時(shí),會(huì)增加數(shù)據(jù)包到達(dá)和渲染播放的時(shí)間,也稱為播放延遲。這個(gè)延遲是由抖動(dòng)緩沖區(qū)引入的,因?yàn)樗?fù)責(zé)指示新到達(dá)的數(shù)據(jù)包何時(shí)被分發(fā)(到渲染緩沖區(qū))。
雖然延遲和抖動(dòng)是相互關(guān)聯(lián)的,但它們是不相同。延遲是數(shù)據(jù)從網(wǎng)絡(luò)的一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)所需的時(shí)間。這是一個(gè)受多種因素影響的復(fù)雜的度量指標(biāo)。另一方面,抖動(dòng)是兩個(gè)數(shù)據(jù)包之間延遲時(shí)間的差異。同樣,它也可能是由網(wǎng)絡(luò)上的不同因素造成的。盡管抖動(dòng)和延遲有相似之處,但抖動(dòng)僅僅是基于延遲產(chǎn)生的,并不等同于它。
版權(quán)聲明:本文章文字內(nèi)容來自第三方投稿,版權(quán)歸原始作者所有。本網(wǎng)站不擁有其版權(quán),也不承擔(dān)文字內(nèi)容、信息或資料帶來的版權(quán)歸屬問題或爭議。如有侵權(quán),請聯(lián)系contentedit@huawei.com,本網(wǎng)站有權(quán)在核實(shí)確屬侵權(quán)后,予以刪除文章。