1. 程式人生 > >關於Darwin接入私有協議、私有SDK碼流的討論

關於Darwin接入私有協議、私有SDK碼流的討論

關於Darwin接入私有協議、私有SDK碼流的討論

 

      最近做到雲視訊/雲監控的專案,跟團隊夥伴討論到一個架構問題,就是將私有協議的碼流資料接入到Darwin,再通過Darwin對外提供高效的RTSP/RTP服務。說到私有協議接入Darwin,我們大部分情況下會想到如何修改Darwin,如何新增Module來接入各個廠家的SDK,可能這種做法對傳統的監控需求可以滿足,但對於雲視訊/雲監控、接入移動網際網路,或者對於多現場、跨網路、裝置地域分散的情況,這種做法有諸多弊端。

1.多現場、跨網路的情況下,流媒體接入伺服器要主動連線到裝置,需要進行繁瑣的埠對映,遇到網路情況複雜的現場,伺服器有可能根本伸展不到裝置端的網路;

2.對於系統穩定性,如果按照伺服器直接接入裝置的方法,那麼每接入一家廠商的SDK,就給伺服器增加了一種不穩定因素:無論是流媒體伺服器程式,還是廠家SDK自身的穩定;

3.整體架構易擴充套件性上,我們希望雲服務內部的每一個服務單元都是內聚、高效、統一接入協議的,這就使得系統的開發、穩定、和維護變得更加方便;

 

於是,我們建議這樣的做法:

1.獨立開流媒體服務單元和裝置接入單元;

2.流媒體伺服器提供統一的流接入協議;

3.裝置接入單元抽象化各種裝置SDK的接入;