關於直播系統開發中直播架構的重要組成部分

  • 2019 年 10 月 4 日
  • 筆記

直播的推流和拉流主要是由五個部分組成的,分別是:(音影片)採集、(數據)編碼、(數據)傳輸、解碼(數據)、播放顯示。開發直播 app,直播源碼是一個非常重要的存在。直播架構在直播系統開發過程中也是一件非常重要的事情,如果架構的設立不能從根本上解決問題或防止問題的發生,那麼在前端app運行時就會出現一定的運行錯誤。關於直播架構,給大家分享下相關的內容。

直播系統從組成上主要分為軟體系統和硬體系統,其中,軟體系統一般包括媒體系統、服務系統、管理系統三部分組成,硬體系統則主要包括計算、存儲、網路/CDN等硬體組成。

1、媒體系統

媒體系統是影片直播的基礎,其主要用於音影片訊號的採集、前處理、編碼、傳輸、解碼和渲染等功能,實現音影片訊號由採集方向觀看方的傳輸處理,核心是結合硬體系統,降低網路延遲,保障音影片訊號的同步,提供良好的即時性體驗。

2、服務系統

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

3、管理系統

是用於直播平台的整體運行管理控制,包括用戶管理、直播許可權管理、直播監控、影片鑒黃、積分體系、禮品體系、運營統計等功能,是支撐直播平台的運行的總控中心。

4、硬體系統

硬體系統主要包括計算、存儲、網路/CDN資源,由於影片資訊具有容量大、處理複雜的特點,因此,硬體資源對影片直播效果具有較大的決定作用,特別是隨著參與直播人員的增加,硬體資源消耗也會隨著線性增長。

二、直播架構的演進

( 1)CDN直播架構

目前最流行的直播架構就是 CDN直播架構,主播通過手機或電腦等設備,將自己的影片流上傳到伺服器,然後接入對應的CDN服務,通過CDN 進行網路分發,分發到各地的用戶,然後所有的用戶都可以看到主播的表演了。

( 2)實時互動直播架構

實時互動直播並不能使用 CDN方案,因為CDN方案的性質決定了延時達不到實時的需求。通常,實現實時互動的架構中,主播把自己的影片流上傳到伺服器,再通過這台伺服器分發給其他用戶,再次採用合適的傳輸協議,並且延時可以做到很小,從主播到伺服器再到觀眾的延時,加上編解碼和抖動的延時,可以將延時控制在幾百毫秒以內。雖然這個結構很簡單,大勢有一個缺點就是沒有考慮到覆蓋不同地區和用戶。