一對一直播軟體開發容易忘記什麼?看了才知道

五花肉愛原始碼發表於2019-07-30

當前的網際網路大環境下,直播行業的穩速發展使得基於直播形式下的一對一直播也隨之增速發展。由於一對一這種趨向於陌生人社交的模式廣頗受年輕使用者喜愛,所以一對一直播軟體開發專案在整個市場中也受到了各方投資商的喜愛。雖然並不建議大家自己進行一對一直播軟體開發,但是最起碼的一些知識還是需要了解一下的,本文就來給大家簡單分享一下。

1.RTMP 協議

即實時訊息傳輸協議,該協議是基於TCP的協議族,其中主要包括RTMP的基本協議及RTMPT、 RTMPS、RTMPE等多種協議的變種。RTMP是一種設計用來進行實時資料通訊的網路協議,主要是用來在Flash或AIR平臺,支援RTMP協議的流媒體,互動伺服器之間進行音影片和資料通訊,其中支援該協議的軟體包括Adobe Media Server、red5、Ultrant Media Server等。RTMP是目前較為主流的流媒體傳輸協議,一般廣泛用於直播領域,則同樣適用於一對一直播軟體開發中。

(1)優點:該協議在一對一直播軟體開發完成後,對CDN的支援較好,市面上大部分主流的CDN服務商都支援該協議,並且該協議相對比較簡單,在各平臺上實現起來也比較容易。

(2)缺點:由於該協議是基於TCP的,所以傳輸成本相對較高一些,並在弱網環境下且丟包率高的情況下,問題比較顯著,同時也不支援瀏覽器的推送。

2.WebRTC 協議

即一個支援網頁瀏覽器進行實時語音對話或影片對話的API,主要應用於視訊會議和連麥中。

(1)優點:主要是W3C標準,主流的瀏覽器支援程度較高,有Google在背後作支撐,在各平臺實現比較方便。且底層基於SRTP和UDP,弱網情況下最佳化空間大,並且可以實現點對點的通訊,在實現一對一直播軟體開發時的通訊延時較低。

(2)缺點:一般傳統的CDN並沒有提供類似的服務。

3. 基於 UDP 的私有協議

通常有的開發公司在進行一對一直播軟體開發時也會選擇UDP作為底層協議開發自己的私有協議,因為UDP在弱網環境下可以透過一些定製化的調優,從而達到更好的弱網最佳化效果,但由於是私有協議,所以也容易出現一些問題。

(1)優點:支援更多空間進行定製化最佳化。

(2)缺點:開發成本高並且對CDN 不友好,需要自建 CDN 或者和 CDN 達成協議。

在一對一直播軟體開發過程中,關於協議的選擇是非常容易被大家所忽略的,因為每一種協議所適用的情況都不相同,所以在開發一對一直播軟體時是需要根據協議自身的特性進行選擇的。

本文宣告原創,轉載請註明原文作者及出處連結。


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

相關文章