直播平臺開發(fā),直播框架和系統(tǒng)框架分別承擔(dān)著哪些責(zé)任
直播平臺開發(fā)的框架有兩種,一個是直播的框架一個是系統(tǒng)的框架,兩個框架有自己的功能覆蓋和實現(xiàn)功能,我們來細(xì)說一下兩者分別承擔(dān)的責(zé)任。
?

一、直播框架
直播平臺開發(fā)都會選擇用CDN作為網(wǎng)絡(luò)分發(fā)的中轉(zhuǎn)站,在已有的CDN上再建立起一個服務(wù)器,當(dāng)用戶請求發(fā)送后,服務(wù)器會直接采集音視頻通過編碼后用RTMP協(xié)議推到CDN,接收到用戶的請求后,服務(wù)器發(fā)出指令,將音視頻調(diào)出傳遞到用戶的播放端,進(jìn)行播放。
CDN在直播平臺開發(fā)中承擔(dān)著重要的責(zé)任,不論選擇哪個CDN,都需要保證能正常的使用直播平臺的各項功能,保證在功能之外,視頻流的傳遞穩(wěn)定。
?

二、系統(tǒng)框架
系統(tǒng)框架承擔(dān)著音視頻采集、預(yù)處理、編解碼、推拉流、播放的任務(wù)。
1.音視頻采集,通過采集插件直接獲取直播的畫面和音頻數(shù)據(jù),視頻格式一般采用RGB或YUV等格式,音視頻采集則常為PCM格式。
2.預(yù)處理,音視頻采集完成后會進(jìn)行簡單的預(yù)處理,預(yù)處理包括對視頻畫面添加美顏效果,添加動態(tài)貼紙等功能,在與處理時會造成對GPU的占用,所以在優(yōu)化方面也非常重要,減少播放時用戶手機內(nèi)容的占用率,減少功耗。
3.音視頻的編解碼,編碼的處理是為了減少預(yù)處理完成后音視頻的體積,部分手機系統(tǒng)無法快速讀取這么大的數(shù)據(jù)信息,讀取時間過長,用戶等待的時間就會越長。在對音視頻進(jìn)行編碼處理后,能減少視頻的占用空間,在保證分辨率、幀數(shù)的情況下增加上傳的速度。
解碼的快慢除了會受到用戶網(wǎng)絡(luò)環(huán)境的影響外,還會受到物理距離的影響,用戶離服務(wù)器的距離越遠(yuǎn),等待傳輸?shù)臅r間就越長,這就是為什么要用到CDN的原因,CDN節(jié)點能拉近與用戶的物理距離,距離節(jié)點越近的用戶能越快的接收到視頻信息。
4.音視頻的推拉流,推流是將壓縮處理好的數(shù)據(jù)上傳到服務(wù)器,拉流是將用戶的服務(wù)器發(fā)送播放請求,獲取數(shù)據(jù)后播放,推拉流過程中常用的流媒體協(xié)議為RTMP協(xié)議。
?

三、直播平臺開發(fā)的注意事項
除了需要了解這些基本知識外,對于源碼的選擇也很重要,推薦各位選擇能進(jìn)行二次開發(fā)的源碼,這樣后期更新平臺功能時能做到更好的調(diào)整,不同的源碼價格也不一樣,可以進(jìn)行多家比較后在做決定。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任