- WebRTC音視頻實時互動技術:原理、實戰與源碼分析
- 李超編著
- 523字
- 2021-08-06 14:49:29
2.1 自研直播客戶端架構
我們先來了解一下自研直播客戶端的架構,如圖2.1所示。這是一個最簡單的音視頻直播客戶端架構,通過這張架構圖,你大體可以知道自研系統包括了哪些模塊。
由圖2.1可以知道,一個最簡單的直播客戶端至少應該包括音視頻采集模塊、音視頻編碼模塊、網絡傳輸模塊、音視頻解碼模塊和音視頻渲染模塊五大部分。
·音視頻采集模塊。該模塊調用系統的API,從麥克風和攝像讀取設備采集音視頻數據。音頻采集的是PCM數據,視頻采集的是YUV數據。
·音視頻編碼模塊。該模塊負責將音視頻設備上采集的原始數據(PCM、YUV)進行壓縮編碼。
·網絡傳輸模塊。該模塊負責將編碼后的數據生成RTP包,并通過網絡傳輸給對端;同時,在對端接收RTP數據。
·音視頻解碼模塊。該模塊對網絡傳輸模塊接收到的壓縮數據進行解碼,還原為原始數據(PCM、YUV)。
·音視頻渲染模塊。該模塊拿到解碼后的數據后,將音頻輸出到揚聲器,將視頻渲染到顯示器。

圖2.1 最簡單的音視頻客戶端架構
通過前面的介紹,相信讀者一定覺得自研一個直播客戶端好像也不是特別難的事情。但實際上,上面介紹的音視頻直播客戶端架構是極簡化的,甚至都不能稱之為直播客戶端架構,這里只是給出了一個簡化的客戶端架構示意圖,要將它變為真實的、可編碼的架構還需要做不少細化的工作。
推薦閱讀
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- Python概率統計
- Python自然語言處理實戰:核心技術與算法
- Drupal 8 Blueprints
- Dynamics 365 Application Development
- Developing Mobile Web ArcGIS Applications
- INSTANT Weka How-to
- Windows Presentation Foundation Development Cookbook
- PLC編程與調試技術(松下系列)
- Spring Boot進階:原理、實戰與面試題分析
- Android底層接口與驅動開發技術詳解
- 計算機應用基礎教程(Windows 7+Office 2010)
- C++ Application Development with Code:Blocks
- 動手打造深度學習框架
- Getting Started with Python