開發與維運

直播平臺軟件開發中關於直播技術的架構問題

一.簡單的音視頻直播架構
1、在直播平臺軟件開發中這種架構相對比較簡單,可以利用已有的CDN,比如阿里、騰訊、百度等,然後再自己搭建一個服務器並完成服務層的搭建。這個時候,可以先向這一服務器(我們可以叫做信令服務器)發送共享音視頻指令,然後通過攝像頭採集相關的音視頻數據,編碼之後通過RTMP的協議將音視頻流推送到CDN 。
part-00492-780.jpg

2、接收端向信令服務器發送指令從而獲取所共享的音視頻流的名稱,再通過這個名稱從CDN中拉取音視頻流,經過解碼之後渲染在屏幕上。
二.實時交互的音視頻直播架構
1、在直播平臺軟件開發中相比起上面的直播架構,這一種直播架構相對來說比較複雜。它們之間的主要區別就是:增加了自有網絡。客戶端通過UDP進行數據傳輸,這樣可以大大的減少由於網絡和CDN結構所導致的音視頻延遲的問題。在共享音視頻的時候,都是通過UDP協議上傳到各自的網絡服務器上,這時候如果有其他人要參與實時互動的話,參與者也會通過UDP連接到這個網絡,從而達到實時互動的效果。
2、其中,音視頻數據上傳到自有的網絡上之後,還需要通過專門的服務將數據流轉化成為RTMP流並推向CDN,這樣一來,大多數不參與實時互動的用戶就可以在CDN上直接獲取音視頻的數據了。這一架構的優點就是:既可以滿足實時互動的需求,又可以滿足大批用戶只看不互動的需求。
u=1222292741,175633609&fm=26&gp=0.jpg

三.解決高負載和併發問題
1、在直播平臺軟件開發中為了能夠解決實時互動負載過大和高併發的問題,就需要增加資源管理服務器從而實時監測各個服務的資源。在共享音視頻時,資源管理器可以分配最佳的服務器給用戶使用,而且服務器的資源是可以根據需求來進行橫向擴容的。為了增加它的執行效率,服務端通常會使用C或C++語言進行編寫。
2、總體來看,在直播平臺軟件開發中實時互動直播已經成為直播最主要的發展趨勢。在直播開發的過程中,不僅需要了解客戶端的採集、推拉流等方面的問題,還可以從直播技術的架構方面入手去詳細瞭解直播運行過程中的相關問題。在瞭解直播架構問題之後,關於直播其他方面的知識相對起來也就更加容易理解了。

本文轉載自網絡,感謝(愛吃五花肉嗎)的分享,轉載僅為分享乾貨知識,如有侵權歡迎聯繫雲豹科技進行刪除處理

Leave a Reply

Your email address will not be published. Required fields are marked *