1. 程式人生 > >WebRTC原始碼分析三:視訊處理流程

WebRTC原始碼分析三:視訊處理流程

 文字介紹視訊的處理流程。圖1中顯示了兩路視訊會話視訊訊號流過程。


圖1 視訊流程示意圖

以一路視訊會話為例,主要分為以下幾個執行緒:

1)視訊源產生執行緒:Camera生產視訊畫面,封裝成視訊幀,以一定幀率投遞到下一個模組。;

2)採集執行緒:由Capturer負責採集視訊幀,並對視訊幀進行一定處理,如調整畫面亮度。並送入各個傳送鏈路的編碼模組編碼併發送出去;

3)接收執行緒:Rtp/Rtcp負責接收RTP/RTCP資料包,並進行包解析;

4)解碼執行緒:Decoder解碼編碼後的視訊幀;

5)投遞執行緒:Render接收解碼後的視訊幀並快取,投遞給顯示裝置;

6)顯示執行緒:Player負責繪製或輸出視訊畫面,可以做多個視窗顯示或者一個視窗多畫面顯示。

    視訊解碼時間相對編碼時間要長,因此開闢了單獨執行緒完成解碼;另外多路視訊畫面接收後沒有類似多路音訊混音的操作,而是分別進行渲染顯示。