直播程式原始碼實現直播業務時必不可少的方面

雲豹科技阿星發表於2020-09-03

1.RTMP
1)定義
相信大家對這個協議一點都不陌生,它就是直播中最常用的實時傳輸協議。RTMP基於TCP是一個協議族(包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種)。RTMP是一種設計用來進行實時資料通訊的網路協議,主要用於在Flash/AIR平臺和支援RTMP協議的流媒體、互動伺服器之間進行音影片和資料通訊。
2)優勢
主要體現在CDN支援良好,大部分主流的CDN廠商都可以支援。並且協議相對簡單,容易在各個平臺上實現。
3)劣勢
由於RTMP是基於TCP,傳輸成本較高。而且在弱網環境下丟包率較高的情況十分明顯,不支援瀏覽器推送。
2.WebRTC
1)定義
WebRTC名稱源自網頁即時通訊,是一個支援網頁瀏覽器進行實時語音對話或影片對話的API。它於2011年6月1日開源並在Google、Mozilla、Opera支援下被納入全球資訊網聯盟的W3C推薦標準。目前主要應用於視訊會議和連麥中。
2)優勢
W3C的標準,支援主流瀏覽器的程度較高。底層基於SRTP和UDP,在弱網情況下最佳化的空間較大,能夠實現點對點通訊,通訊時雙方產生的延時較低。
3)劣勢
傳統的CDN支援性較差。
3.基於UDP的私有協議
1)簡介
有的直播應用場景會使用UDP作為底層的協議,然後開發自己的私有協議。為什麼呢?因為UDP在弱網環境下可以透過一些定製化的調優,從而達到較好的弱網最佳化效果。
2)優勢
具備更多的空間進行定製化的最佳化。
3)劣勢
大家比較關心的一點就是,開發成本較高。CDN支援不太友好,需要自建CDN或者是和CDN達成協議。
其實在直播應用場景下推送出去的流媒體需要傳輸到使用者端,這一個鏈路就是所謂的傳輸網路。如果在傳輸過程中出現網路擁塞的情況,就需要進行一定的智慧排程,從而使得傳輸網路保持順暢。所以說,擁有線上直播原始碼是軟體開發過程中最基礎的一步。要想實現直播業務,並且保證直播業務的流暢執行,在協議的選擇上也要多下一番功夫。
本文轉載自網路,感謝( )的分享,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69982461/viewspace-2716936/,如需轉載,請註明出處,否則將追究法律責任。

相關文章