參考小球的快速切換流

2020-10-07 15:00:40

一、快速切換流結構

在這裡插入圖片描述
該即時流使用對應的小球幀資訊作為參考,編碼時採用幀間模式,從而得到全P幀的即時流來進行傳輸,達到位元速率優化的目的。(小球的I表示全幀內)

二、伺服器端

     為了得到需要的快速切換流,需要以全幀內的小球作為參考,構建流程如下:

在這裡插入圖片描述
兩路yuv結構如下:

在這裡插入圖片描述
     分別構造奇數幀為小球、偶數幀為tile的以及奇數幀為tile、偶數幀為小球的兩路yuv,編碼時,奇數幀為小球、偶數幀為tile的yuv序列的奇數幀編碼為全幀內,奇數幀為tile、偶數幀為小球的yuv序列的偶數幀編碼為全幀內,ref設定為1,從而每一個tile幀都參考它的前一個全幀內的小球幀。
     編碼後取兩路碼流中的tile幀,從而得到了需要的即時流。

三、使用者端

     由於新的即時流需要全I幀的小球碼流作為參考,所以在使用者端需要加入一個下面的流程:
在這裡插入圖片描述
所以當前使用者端結構為:
在這裡插入圖片描述
由於每轉一次頭,都需要取相應的小球解碼資料編碼成全幀內的參考幀,這時會導致,由於編碼時間較長,引起轉頭時出現明顯的卡頓問題。考慮的解決方式是,採用寫死代替軟編碼,修改I幀的頭資訊使其成為全幀內的P幀。