天天看點

直播平台開發,直播架構和系統架構分别承擔着哪些責任

直播平台開發的架構有兩種,一個是直播的架構一個是系統的架構,兩個架構有自己的功能覆寫和實作功能,我們來細說一下兩者分别承擔的責任。

一、直播架構

直播平台開發都會選擇用CDN作為網絡分發的中轉站,在已有的CDN上再建立起一個伺服器,當使用者請求發送後,伺服器會直接采集音視訊通過編碼後用RTMP協定推到CDN,接收到使用者的請求後,伺服器發出指令,将音視訊調出傳遞到使用者的播放端,進行播放。

CDN在直播平台開發中承擔着重要的責任,不論選擇哪個CDN,都需要保證能正常的使用直播平台的各項功能,保證在功能之外,視訊流的傳遞穩定。

二、系統架構

系統架構承擔着音視訊采集、預處理、編解碼、推拉流、播放的任務。

1.音視訊采集,通過采集插件直接擷取直播的畫面和音頻資料,視訊格式一般采用RGB或YUV等格式,音視訊采集則常為PCM格式。

2.預處理,音視訊采集完成後會進行簡單的預處理,預處理包括對視訊畫面添加美顔效果,添加動态貼紙等功能,在與處理時會造成對GPU的占用,是以在優化方面也非常重要,減少播放時使用者手機内容的占用率,減少功耗。

3.音視訊的編解碼,編碼的處理是為了減少預處理完成後音視訊的體積,部分手機系統無法快速讀取這麼大的資料資訊,讀取時間過長,使用者等待的時間就會越長。在對音視訊進行編碼處理後,能減少視訊的占用空間,在保證分辨率、幀數的情況下增加上傳的速度。

解碼的快慢除了會受到使用者網絡環境的影響外,還會受到實體距離的影響,使用者離伺服器的距離越遠,等待傳輸的時間就越長,這就是為什麼要用到CDN的原因,CDN節點能拉近與使用者的實體距離,距離節點越近的使用者能越快的接收到視訊資訊。

4.音視訊的推拉流,推流是将壓縮處理好的資料上傳到伺服器,拉流是将使用者的伺服器發送播放請求,擷取資料後播放,推拉流過程中常用的流媒體協定為RTMP協定。

三、直播平台開發的注意事項

除了需要了解這些基本知識外,對于源碼的選擇也很重要,推薦各位選擇能進行二次開發的源碼,這樣後期更新平台功能時能做到更好的調整,不同的源碼價格也不一樣,可以進行多家比較後在做決定。

聲明:以上内容為雲豹科技作者本人原創,未經作者本人同意,禁止轉載,否則将追究相關法律責任