直播的推流和拉流主要是由五個部分組成的,分別是:(音視頻)采集、(數(shù)據(jù))編碼、(數(shù)據(jù))傳輸、解碼(數(shù)據(jù))、播放顯示。開發(fā)直播 app直播源碼是一個非常重要的存在。直播架構(gòu)在直播系統(tǒng)開發(fā)過程中也是一件非常重要的事情,如果架構(gòu)的設(shè)立不能從根本上解決問題或防止問題的發(fā)生,那么在前端app運行時就會出現(xiàn)一定的運行錯誤。關(guān)于直播架構(gòu),給大家分享下相關(guān)的內(nèi)容。

直播系統(tǒng)從組成上主要分為軟件系統(tǒng)和硬件系統(tǒng),其中,軟件系統(tǒng)一般包括媒體系統(tǒng)、服務(wù)系統(tǒng)、管理系統(tǒng)三部分組成,硬件系統(tǒng)則主要包括計算、存儲、網(wǎng)絡(luò)/CDN等硬件組成。

直播系統(tǒng)源碼.png

1、媒體系統(tǒng)

媒體系統(tǒng)是視頻直播的基礎(chǔ),其主要用于音視頻信號的采集、前處理、編碼、傳輸、解碼和渲染等功能,實現(xiàn)音視頻信號由采集方向觀看方的傳輸處理,核心是結(jié)合硬件系統(tǒng),降低網(wǎng)絡(luò)延遲,保障音視頻信號的同步,提供良好的即時性體驗。

2、服務(wù)系統(tǒng)

是用于與媒體系統(tǒng)結(jié)合為主播和參與方提供溝通互動的功能支持,主要功能包括彈幕、聊天、禮物贈送、截圖、直播參與控制等,根據(jù)不同的應(yīng)用范圍,具體的服務(wù)功能有一定的差異性,例如針對教學直播,一般還會具有電子白板、舉手、桌面共享、文檔共享、點名等功能。

3、管理系統(tǒng)

是用于直播平臺的整體運行管理控制,包括用戶管理、直播權(quán)限管理、直播監(jiān)控、視頻鑒黃、積分體系、禮品體系、運營統(tǒng)計等功能,是支撐直播平臺的運行的總控中心。

4、硬件系統(tǒng)

硬件系統(tǒng)主要包括計算、存儲、網(wǎng)絡(luò)/CDN資源,由于視頻信息具有容量大、處理復(fù)雜的特點,因此,硬件資源對視頻直播效果具有較大的決定作用,特別是隨著參與直播人員的增加,硬件資源消耗也會隨著線性增長。

QQ圖片20190824112025.png

二、直播架構(gòu)的演進

1CDN直播架構(gòu)

目前最流行的直播架構(gòu)就是 CDN直播架構(gòu),主播通過手機或電腦等設(shè)備,將自己的視頻流上傳到服務(wù)器,然后接入對應(yīng)的CDN服務(wù),通過CDN 進行網(wǎng)絡(luò)分發(fā),分發(fā)到各地的用戶,然后所有的用戶都可以看到主播的表演了。

2)實時互動直播架構(gòu)

實時互動直播并不能使用 CDN方案,因為CDN方案的性質(zhì)決定了延時達不到實時的需求。通常,實現(xiàn)實時互動的架構(gòu)中,主播把自己的視頻流上傳到服務(wù)器,再通過這臺服務(wù)器分發(fā)給其他用戶,再次采用合適的傳輸協(xié)議,并且延時可以做到很小,從主播到服務(wù)器再到觀眾的延時,加上編解碼和抖動的延時,可以將延時控制在幾百毫秒以內(nèi)。雖然這個結(jié)構(gòu)很簡單,大勢有一個缺點就是沒有考慮到覆蓋不同地區(qū)和用戶。