1. 程式人生 > >視訊會議畫面抖動?網路JB抖動緩衝技術解決問題

視訊會議畫面抖動?網路JB抖動緩衝技術解決問題

在視訊會議使用過程中,當網路環境出現延遲時,視訊會議畫面將會出現較大影響。畫面變的不清晰,甚至出現馬賽克等等,出現此類情況時,可採用網路JB抖動緩衝的技術,下面詳細介紹這項技術的主要功能:

這裡寫圖片描述 (視訊會議)

視訊會議網路抖動緩衝接收網路包並對其進行排序組幀後發給混頻器解編碼,所以整個過程可以分為暫存、排序、組幀和丟包處理四個部分。為了使模組更清晰,媒體處理更高效,我們的抖動緩衝採用二級緩衝策略。一級緩衝為RTP處理緩衝,二級緩衝為音視訊通用緩衝。

1.1 暫存

因為資料寫入RTP緩衝區是在RTP回撥中進行的,所以在RTP資料讀取的過程中需要把RTP資料包一次性讀出來。為了提高RTP回撥處理效率並減少大塊資料拷貝次數,在RTP資料寫入緩衝區的過程中不進行排序,而是按照資料包到來的順序直接寫入一級緩衝區(見圖1(b))。當緩衝滿以後,緩衝主動丟包。

1.2 排序

為減少資料拷貝,二級緩衝不再對一級緩衝進行資料緩衝,而對資料相關的資訊(主要是該包對應於一級緩衝的地址和RTP包頭資訊)進行緩衝(圖中綠色為資料包,藍色表示資料包對應的資訊包)。RTP接收任務讀取二級緩衝的資料包(可能存在抖動、丟包、亂序),按照”插空排序”方法將資訊寫入二級緩衝的適當位置(見圖1(c))。這種”插空排序”方法按序號將包分成正常包、早到包、晚到包和錯誤包四種包。因此,這四種包插入二級緩衝的方法略有不同。對於正常包和錯誤包,它們將被插入到上一個正常包或早到包的後面;對於早到包和晚到包則根據序號計算被插入到相應的位置。