很多人想要做直播平臺搭建,這就需要了解一下直播APP搭建的技術難點有哪些,怎么解決。直播APP搭建的技術實現難度還是挺多的,主要是客戶端和服務器端。今天我們著重講一下服務器端的技術難點和解決方法,包括不流暢、卡頓、花屏、帶寬不夠、攻擊、用戶體驗不好等一系列問題。 直播APP搭建服務器端方案有兩個,一個是自建節點,這就很復雜了,但是好處就是可以選擇更優質的節點,按需部署節點,用更智能的算法選擇鏈路,這個對分布式算法,網絡都有非常高的要求。 另一個方案就是大部分人會選擇依賴 CDN 廠商: nginx-rtmp or srs + CDN ,nginx-rtmp 或者 srs 作為源站,上下行用 CDN 廠商。CDN即Content Delivery Network (內容分發網絡)。CDN包含兩大核心技術:負載均衡和分發網絡,因為直播的場景和傳統的文件分發的場景不一致,文件分發看中的其實 CDN 的 cache 功能,而直播看中的是網絡分發能力。分發網絡的構建策略通常是經過日積月累地總結出一套最合適的分發路由,并且也不是一成不變,需時刻關注調整,動態運營。 直播APP搭建時BGP中轉架構對直播加速和分發也很重要。 BGP即Border Gateway Protocol (邊界網關協議),業內簡稱BGP。大家都知道國內復雜的網絡狀況,比如“南電信北聯通”的寬帶用戶分布。那一個簡單的問題,電信主播發起了直播,聯通的用戶想看怎么辦呢? BGP的技術原理往簡單的說就是允許同一IP在不同網絡中廣播不同的路由信息,效果就是同一個IP,當電信用戶來訪問時走電信網內的路由,聯通用戶來訪問時走的聯通的路由。所以對于直播APP搭建,BGP技術相當于給跨網的用戶就近搭建了一坐橋梁,對跨運營商的訪問帶來了巨大的便利。 最后,直播APP搭建其實最難的難點是提高首播時間,如何保證在丟包率20%的情況下還能保障穩定、流暢的直播體驗,需要考慮以下方案: 1. 為加快首播時間,收流服務器主動推送 GOP 至邊緣節點,邊緣節點緩存 GOP,播放端則可以快速加載,減少會員延遲。 2. gop丟幀,為解決延時,為什么會有延時,網絡抖動、網絡擁塞導致的數據發送不出去,丟完之后所有的時間戳都要修改,切記,要不客戶端就會卡一個 gop的時間。 總的來說,直播平臺搭建服務器端這塊,只要接入云服務就基本可以解決80%的問題,因為已經把直播APP搭建最難的傳輸和分發的工作做了,解決大部分的技術問題,還給你提供免費技術支持。