發布時間:2024-9-6 11:37:33
早期很多攝像頭視頻流使用的是RTSP、RTMP協議,播放這類協議的視頻通常是在網頁上安裝插件。但現在越來越多的用戶,對于網頁安裝插件比較反感,且隨著移動設備的普及,用戶更多的希望使用手機、平板等移動設備,直接可以查看這些協議的視頻。那是否有什么方案可以直接網頁打開RTSP、RTMP協議的視頻,直接觀看不用安裝插件呢?而且對于攝像頭的數據,盡可能低延遲的獲取實時畫面。
其實很多攝像頭廠家也注意到這個問題,最新的攝像頭廠家,也有很多已經支持了無插件播放,比如通過WebSocket等新的傳輸協議,取代rtsp等協議,通過網頁直接播放。但這個方案對于新攝像頭沒問題,但對于使用RTSP/RTMP/FLV等格式或協議的視頻并不適用,因此這種情況不做過多討論。
另一種方案是基于JS、WASM等前端技術,在前端直接拉流、解碼、顯示,比如flv.js等前端播放技術,有不少開源的方式,可以實現一些特殊格式、特殊協議的直接前端解碼處理。但該類方式一般會有占用較多終端計算資源。而且對于iOS等很多設備的瀏覽器兼容性不友好,該方案的通用性弱一些。
基于前端不合適,那換個思路基于后臺轉換能不能行呢?比如將rtsp轉為m3u8這何總HLS協議,做成適合H5頁面直接播放的視頻格式。但如果轉為HLS(m3u8)這種,有個問題:延遲會比較高,因為m3u8的分段,導致需要一些緩沖的片段,因此會增加很多延遲。
那還有沒有其他的方案呢?點量云流基于多年視頻流式傳輸經驗,認為后臺拉流轉換時將這些攝像頭,或rtmp等各種協議的數據,直接轉為WebRTC的方式,可以很好的解決這個問題。這種將RTSP/RTMP/FLV等直播協議、攝像頭數據,轉為WebRTC方式,有以下優勢:
1、良好的兼容性:目前主流的瀏覽器均支持WebRTC,因此該方案無需擔心瀏覽器兼容性問題,用戶可以選擇自己習慣的瀏覽器使用。
2、對設備性能占用小:基于瀏覽器的良好支持,可以借助硬解碼能力,從而對設備性能占用比較低。
3、低延時、實時性優:WebRTC是一種為實時流媒體設計的協議,通過這種,延遲可以低至100ms以內,完全可以滿足攝像頭領域的低延遲需求。
4、前端引入方便、代碼量小:前端不再需要復雜的播放器解碼等方式,只需要用標準的WebRTC就可以接入。雖然也有一部分技術通過WebSocket方式獲取視頻,但往往這種拿到視頻數據后,還需要基于類似FLV.js等技術,對視頻數據要進行復雜的處理,才能進行顯示,便捷性不如WebRTC。
以上解決方案工作量主要在后端,拉取RTSP、RTMP等數據,中轉為WebRTC協議,不過已有成熟技術可使用。點量團隊作為專業視頻流公司,有成熟技術可實現:傳入RTSP/RTMP等地址直接生成WebRTC使用,并提供完善的前端示例,后臺的部署安裝也比較便捷,有專門的技術服務,無需從頭研究。該方案不同于二次轉碼,只是修改視頻的封裝,無需二次轉碼,因此擔負起也可以支持大量攝像頭同時使用。具體架構圖如下:
以上系統平臺具體功能有:
1、支持多協議、多設備接入:
支持RTMP/RTSP/Onvif/GB/T28181/等協議,多廠商品牌的設備接入
2、標準化輸出,多終端全平臺覆蓋:
輸出標準的WebRTC,支持幾乎全部主流終端瀏覽器打開播放
3、提供二次開發、定制等服務;