開發直播app軟件之前需要補充的那些知識

對於傳統的點播業務來說,目前大部分泛娛樂和遊戲類的直播架構都是分爲上行和下行兩種網絡的。而架構的設計對於開發直播app軟件來說也是至關重要的一步,但是在瞭解架構問題之前,我們先來簡單的捋一捋所謂的上行和下行到底是怎麼一回事兒吧。
1.推流
主播端推流到上行邊緣節點,然後再由上行邊緣節點將流推到匯聚核心。如果在某些環境下,上行邊緣節點到匯聚核心的網絡狀況不好,就需要多走一層中轉。當匯聚核心收到流以後,並不需要主動將流分發到邊緣節點上。像直播過程中的轉碼、錄製等業務都是在匯聚核心完成的。
2.回源拉流
當有用戶訪問到匯聚核心時,匯聚核心會向其中一個回源節點進行拉流,此時回源節點會向客戶源站拉流下行觀看流程。
3.拉取直播流
如果邊緣節點上有音視頻流,則可以直接發送給觀衆。如果此時沒有音視頻流,則會向上一級回源。(上一級節點可能是中轉節點,也可能是匯聚核心)這裏需要注意的是,在以下兩種情況下回選取是否走中轉節點:匯聚核心的處理能力和下行邊緣到匯聚核心的鏈路質量。
通常,下行觀看流程與傳統的CDN類似,存在直播數據cache,但由於時效性問題,cache的時間是直播最近幾秒的數據,大多會採用內存cache的方式。
從網絡架構的角度考慮,CDN是不可能只使用一個匯聚核心的。因爲一個匯聚核心就意味着如果機房或網絡出現故障,整個直播業務就會癱瘓。況且,一個匯聚核心無法覆蓋全國甚至是國外所有的邊緣節點。所以,在直播業務中爲了節省資源和成本,大都會使用多匯聚核心的架構。
1.保證每個匯聚核心都有流,這樣一來下行邊緣無論到哪個核心都能拉到流。不需要使用數據庫去記錄流是推到哪個核心的。從架構的設計上來看比較簡單直接,但是也容易存在一些問題。比如:容易造成帶寬浪費、上行邊緣到兩個核心的質量無法保證、造成成本浪費等。
2.鏈路選優,也就是上行到一個鏈路最優的核心,下行也到一個鏈路最優的核心,將兩個核心之間“打通”從而保證質量。通常國內使用3個核心就足夠覆蓋國內的區域和運營商,並且核心與核心之間可以採取專線爲主、公網爲輔的方式,從而起到一定的容錯性。
其實這些知識只是爲了給大家簡單介紹一下有關於直播的內容,要想真正的開發一個直播app軟件,並不像我們想象中那麼簡單。所以,在開發直播app軟件之前瞭解相關知識是需要最先去做的。
本文聲明原創,轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章