一、快速切換流結構
該即時流使用對應的小球幀資訊作為參考,編碼時採用幀間模式,從而得到全P幀的即時流來進行傳輸,達到位元速率優化的目的。(小球的I表示全幀內)
二、伺服器端
為了得到需要的快速切換流,需要以全幀內的小球作為參考,構建流程如下:
兩路yuv結構如下:
分別構造奇數幀為小球、偶數幀為tile的以及奇數幀為tile、偶數幀為小球的兩路yuv,編碼時,奇數幀為小球、偶數幀為tile的yuv序列的奇數幀編碼為全幀內,奇數幀為tile、偶數幀為小球的yuv序列的偶數幀編碼為全幀內,ref設定為1,從而每一個tile幀都參考它的前一個全幀內的小球幀。
編碼後取兩路碼流中的tile幀,從而得到了需要的即時流。
三、使用者端
由於新的即時流需要全I幀的小球碼流作為參考,所以在使用者端需要加入一個下面的流程:
所以當前使用者端結構為:
由於每轉一次頭,都需要取相應的小球解碼資料編碼成全幀內的參考幀,這時會導致,由於編碼時間較長,引起轉頭時出現明顯的卡頓問題。考慮的解決方式是,採用寫死代替軟編碼,修改I幀的頭資訊使其成為全幀內的P幀。