天天看點

用戶端媒體引擎架構

雙向音視訊通信系統的用戶端是一個複雜的子系統,

它比起單向直播系統的推流用戶端,播放用戶端都要複雜,

因為它需要在采集本地音視訊推送到服務端的同時,還要從服務端接收音視訊資料進行播放。

而對于真正的實際生産用的用戶端來說,

它還需要有完整的業務邏輯實作,良好的健壯性,并适配各種平台,這更增加它的複雜度。

本文介紹了一個完整的用戶端的媒體引擎的基本架構,并對其核心工作原理做了介紹。

1. 用戶端媒體引擎架構

下圖是用戶端媒體引擎的架構圖:

用戶端媒體引擎架構

平台接入層:是對整個SDK的封裝,以API的形式,提供給各個平台用戶端的業務層調用;

裝置适配層:是根據不同的平台,對硬體采集、渲染裝置的封裝。

媒體引擎層:它包含有三種資料流(即媒體流,日志流,信令流) 的處理,

而媒體流又分成視訊流和音頻流。

網絡傳輸層:它包含有三種協定的網絡資料傳輸,

使用基于UDP的RTP/RTCP協定來傳輸媒體資料,

使用基于PB的TCP協定來傳輸信令資料,

使用基于HTTP協定來傳輸日

繼續閱讀