1. 程式人生 > 其它 >流媒體動態位元速率自適應方案

流媒體動態位元速率自適應方案

流控(動態位元速率調整)機制:

  1. 緩衝區(視訊輸入、網路收發)
  2. socket快取監測
  3. MTU控制
  4. 丟幀處理與檢測
  5. 調整位元速率(根據目前的網路丟幀狀況,來決定位元速率降低幅度)
  6. I、P幀處理,如果發現收到的P幀不完整,立即丟掉該P幀;如果發現收到的I幀不完整,丟掉整個GOP。

根據網路實時狀況,上層丟幀來降低位元速率;定時判定網路狀況,根據多次定時的網路結果,來深層次調整位元速率。

一、實時根據網路狀況來調整位元速率。

如果網路狀況不好,採用上層降低位元速率方案。暫時拋掉部分原始幀,這些幀不參與編碼;通過這種最上層的簡單方式來降低位元速率。

二、深層次調整位元速率判定

分析一下,丟幀的程度與持續時間。

2.1 網路狀況一般

維持目前的狀況,不做特殊深層次處理。

2.2 網路狀況較差

深層次降低位元速率方案

1)降低源頭幀率(譬如取樣幀率,由25變為20)。

2)降低目標解析度(譬如480360的影象改為400300的位元速率)

降低幅度,由網路狀況決定,不採用連續階梯降位元速率。

2.3網路狀況良好

在長時間內觀測到網路狀況良好時候,可以發一些重複測試圖片或者無效測試資料來檢測是否需要丟幀。如果會丟幀,則不再發送重複圖片;否則,採用深層次調整位元速率的方案緩慢提升位元速率。

注意:對於降低位元速率而言,一般要快速、幅度大一些;對於提升位元速率而言,一般要緩慢、幅度小一下。提升位元速率比降低位元速率,更為慎重!

————————————————
版權宣告:本文為CSDN博主「勇往直前之人」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/wghhdzwzqbx02/article/details/77775991