官术网_书友最值得收藏!

2.1 自研直播客戶端架構

我們先來了解一下自研直播客戶端的架構,如圖2.1所示。這是一個最簡單的音視頻直播客戶端架構,通過這張架構圖,你大體可以知道自研系統包括了哪些模塊。

圖2.1可以知道,一個最簡單的直播客戶端至少應該包括音視頻采集模塊、音視頻編碼模塊、網絡傳輸模塊、音視頻解碼模塊和音視頻渲染模塊五大部分。

·音視頻采集模塊。該模塊調用系統的API,從麥克風和攝像讀取設備采集音視頻數據。音頻采集的是PCM數據,視頻采集的是YUV數據。

·音視頻編碼模塊。該模塊負責將音視頻設備上采集的原始數據(PCM、YUV)進行壓縮編碼。

·網絡傳輸模塊。該模塊負責將編碼后的數據生成RTP包,并通過網絡傳輸給對端;同時,在對端接收RTP數據。

·音視頻解碼模塊。該模塊對網絡傳輸模塊接收到的壓縮數據進行解碼,還原為原始數據(PCM、YUV)。

·音視頻渲染模塊。該模塊拿到解碼后的數據后,將音頻輸出到揚聲器,將視頻渲染到顯示器。

圖2.1 最簡單的音視頻客戶端架構

通過前面的介紹,相信讀者一定覺得自研一個直播客戶端好像也不是特別難的事情。但實際上,上面介紹的音視頻直播客戶端架構是極簡化的,甚至都不能稱之為直播客戶端架構,這里只是給出了一個簡化的客戶端架構示意圖,要將它變為真實的、可編碼的架構還需要做不少細化的工作。

主站蜘蛛池模板: 平顶山市| 建阳市| 进贤县| 旅游| 贵州省| 广饶县| 塔河县| 平顺县| 色达县| 郎溪县| 庆阳市| 安阳市| 铁力市| 观塘区| 乐山市| 巴马| 安庆市| 大理市| 阿合奇县| 英德市| 科尔| 台北市| 方山县| 山东省| 灵武市| 明水县| 梧州市| 横山县| 民乐县| 密云县| 正定县| 新源县| 裕民县| 武宣县| 武陟县| 乌什县| 玉溪市| 吴川市| 铁力市| 雷山县| 凯里市|