首页
/
每日頭條
/
圖文
/
如何模拟網絡波動
如何模拟網絡波動
更新时间:2026-06-29 21:48:04

在前文中介紹了RTT計算原理及其應用。下面介紹網絡抖動Jitter原理、計算方法以及在WebRTC中的應用

什麼是抖動?在網絡傳輸中,每個包從發送端到接收端的時延都是不相同的,而Jitter就是用來衡量這種不同。一般在發送端,數據包發送時間間隔是相同的,也就是均勻發送數據,但是傳輸過程中由于各種情況,例如擁塞,丢包,網絡錯誤等,接收端收到的數據包間隔就會不一樣,可能一會大,一會小,導緻時延發生變化,這個時延的變化程度就是所謂的抖動。網絡中存在抖動會導緻接收端收包不均勻、甚至亂序,如果按照收包順序去播放,對于視頻而言,會導緻幀率變化,視頻播放就不平滑,有卡頓感。對于音頻而言,肯定會有時快時慢、來不及播放導緻卡頓、錯音等問題,在比較差的網絡場景中語音基本是沒法聽。接收端如果不做任何處理,就會影響用戶體驗。

WebRTC針對網絡抖動問題,根據音視頻分為:NetEQ與JitterBuffer2種,分别對音頻、視頻進行抖動處理,消除抖動造成的影響,這些會在我的後續文章介紹。

按照抖動的頻率,也可以分為:

穩定抖動:這種抖動是網絡和算法固有屬性導緻的,有一定的統計上的穩定性,在一段時間内呈現統計上的穩定性;

突發抖動:這些抖動是在穩定抖動基礎上疊加上突發的抖動尖峰,突發通常沒有太大規律,無法找到統計上的規律性。

一般的Jitter算法都是盡力去解決穩定抖動,對于突發抖動解決的并不是太好。

如下圖片是抖動的一個形象描述。

如何模拟網絡波動(網絡抖動Jitter詳解)1

圖1 -Jitter

如何計算抖動?假設RTP中第i包中記錄的時間戳為Si(單位為采樣率),到達接收端的時間為Ri(單位同樣為采樣率),如果Si代表第i個包的發送時間戳,Ri代表第i個包的接收時間戳。Sj、Rj同理。

如何模拟網絡波動(網絡抖動Jitter詳解)2

圖2 - Jitter計算原理圖

抖動(i, j) = |(Rj - Ri) - (Sj - Si)| = |(Rj - Sj) - (Ri - Si)| (1)

WebRTC為了統一抖動,并且為了很好地降噪、降低突發抖動的影響,把上面的抖動(i, j)定義為D(i, j),抖動J(i)定義為:

J(i) = J(i-1) (|D(i-1, i)| - J(i - 1)) / 16 (2)

增益參數1/16是為了消除噪聲影響,使抖動收斂在較合理範圍内,避免突發數據的影響。從上一個公式中可以看到D(i-1, j)是唯一引起J(i)變化的因素

WebRTC統計參數中的抖動計算代碼位于StreamStatisticianImpl::UpdateJitter中

如何模拟網絡波動(網絡抖動Jitter詳解)3

圖3 - 代碼

time_diff_samples =|D(i−1,i)| (3)

J(i) = J(i-1) (time_diff_samples - J(i - 1)) / 16 (4)

如何模拟網絡波動(網絡抖動Jitter詳解)4

圖4 - 代碼

至此我們得到了jitter_diff_q4,單位為采樣率,如果需要轉換為毫秒時間單位。由于jitter_diff_q4放大了16倍,首先需要還原回去jitter = jitter_q4_ >> 4;轉換為毫秒單位:jitter_ms = jitter / (clockrate_hz / 1000)(一般視頻的時鐘采樣頻率clockrate_hz為:90kHz)。jitter_ms就是得到的毫秒級别的抖動。

請繼續關注本人的系列作品!歡迎讨論!!!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
天氣霧霾對人有什麼影響
天氣霧霾對人有什麼影響
秋冬季節,又到霧和霾的多發季節,這兩種天氣現象都很常見,還有着幾分相似。我們經常說的霧霾,是霧和霾發生了重合,而其實沒有霧霾這個單獨的天氣,那麼怎麼區分霧與霾呢?霧和霾對人的生活有什麼影響呢?首先,霧和霾在形成原因上不同霧的形成是因為空氣中...
2026-06-29
修複七十多年前的古董打火機
修複七十多年前的古董打火機
宋江熟練地捏起一個古董打火機。“叮”一聲,撥開機蓋,猛烈而垂直的火焰竄了出來,然後又是铿锵有力的“當”的一聲,合上了機蓋。他說自己手上拿的不是一隻打火機,而是工業文明,是機械的美感。他不抽煙,卻對古董打火機完全沒有抵抗力。身為一個古董打火機...
2026-06-29
開心消消樂隐藏關1056
開心消消樂隐藏關1056
開心消消樂全新CG公開,聯動敦煌博物館,以「光之琵琶」為引,莫高窟九色鹿為導,小動物們與敦煌人物互動。本次開心消消樂攜手敦煌博物館推出聯動版本,在遊戲中為玩家打造一個輕松、可愛的敦煌世界。玩家将化身國風文化守護人,在休閑娛樂的同時沉浸地領略...
2026-06-29
金牛座最大的性格特點
金牛座最大的性格特點
金牛座最大的性格特點?金牛座的性格很明顯,低調忽冷忽熱,僞陽光善良,慢熱,敏感脆弱倔強,認死理自閉,狂妄,獨斷專行,我來為大家科普一下關于金牛座最大的性格特點?以下内容希望對你有幫助!金牛座最大的性格特點金牛座的性格很明顯,低調。忽冷忽熱,...
2026-06-29
莊子為人處世謀略
莊子為人處世謀略
《莊子》:學會審時度勢,順應事物而不斷變化,為處事之道的核心。最好的為人處事之道,都圍繞着一個核心,那就是包容萬物之後,合理的利用萬物。無論是對人還是對事,首先要做到包容,有很多情緒偏激之人,他們對人對事的時候,總喜歡帶着情緒戴着有色眼鏡,...
2026-06-29
Copyright 2023-2026 - www.tftnews.com All Rights Reserved