1. 程式人生 > >webrtc video jitter buffer學習筆記(一)

webrtc video jitter buffer學習筆記(一)

關於video jitter buffer 仔細看了大概一週的時間,基本思路腦海中還是有數的,但是很多地方依然沒有理的特別的順,感覺是比較操蛋.

video jitter buffer的設計思路,請參考:
http://www.ctiforum.com/news/guonei/512085.html

基本概念:
video jitter buffer 中的概念有:

1.基本型別成員,rtp包封裝為CVMPacket,一個幀由多個packet來組成,組成的型別為:VCMFrameBuffer

VCMPacket ----- > VCMFrameBuffer

2.幀Frame要快取到jitter buffer中,jitter中有三個列表:
free list / incomplete list / decodeable list

free list是 list ,是一個雙向連結串列。

incomplete list 所有沒有complete的 frame都要優先快取到這個列表中.
decodeable list 如果frame進入到了complete狀態,那麼就會放入到decodeable list中.

已經decode的frame直接接著進入到free list 中.

3.一個frame,可以拆分多個packet,每個packet的時間戳是一樣的,序列號按順序遞增.

目前我們最大的設計問題是:

1.丟包和包的到達順序錯亂?
2.網路抖動是怎麼處理的?