攝像機三種基於web直播、點播協議在項目實戰中的應用

原文鏈接:https://blog.csdn.net/m0_38004177/article/details/96481748

當前在很多項目中我們都會涉及到視頻監控模塊的開發,傳統的開發方式就是依賴廠家的SDK包進行二次開發集成,但這種集成開發的工作有幾個弊端:

  • 工作量大:每一個廠家的SDK我們都需要集成開發一次,會涉及大量的SDK兼容與升級問題;
  • 穩定性差異較大:不是每一個廠家開放出來的SDK都像海康一樣,具備較高的成熟度和穩定性,甚至會有一些廠家開放的SDK穩定性會影響到集成系統的穩定性;
  • 擴展難,SDK接入不像RTSP、Onvif通用協議一樣,按照統一的標準接入就搞定了,SDK是需要來一個接一個,像擴展系統的接入能力,必須接入新SDK,必須做開發;

一、目前的一些行業現狀

1、OCX插件式播放,幾乎每個廠家提供的視頻播放都需要支持一些插件播放,有插件就意味着有一定的限制,例如,有的是OCX插件則必須基於IE進行播放。

2、品牌衆多難以集成,當遇到各種品牌的監控設備時,你一定會懵,顯然需要一種集成播放各主流品牌的的視頻播放協議,例如RTSP、Onvif。

3、用戶體驗較差,一般視頻監控只是項目中的一個模塊,而我們整個項目的視覺或者UI都是進行極致的設計,使用到一些比較新的渲染技術,整體瀏覽效果非常好,但是遇到視頻監控(當然也有其他的插件式)就得安裝插件,甚至切換瀏覽器,導致的結果就是我們整個項目的渲染會受到嚴重的影響。

二、使用web播放協議進行視頻直播

目前主流的播放協議主要有三種:
1、HTTP-FLV
出於Adobe公司,基於HTTP協議的長連接,低延遲的播放協議,支持HTML5標準,當前主流瀏覽器都會兼容,只要支持HTML5標準的都可以進行播放,當然包括移動端。

2、RTMP
出於Adobe 公司,基於TCP的傳輸協議,不支持HTML5標準,基於Flash進行播放,播放延時率很低,大概2秒左右,好多直播網站採用這種方式,由於PC端幾乎所有瀏覽器都支持Flash,只有移動端支持較少,因此該協議適合在PC端運行。

3、HLS
出於蘋果公司的,基於HTTP協議進行傳輸,採用切片數據傳輸,因此在客戶端會產生很多的ts文件,播放延時率較高,普通的在10s+,不過有的廠家對HLS進行了底層優化,據說可以達到4s左右,同時支持HTML5標準,因此支持PC和移動端。

三、開發及部署

1、流媒體播放服務器一般採用nginx,穩定好用,安裝部署自行查閱相關資料。參考地址:https://www.cnblogs.com/xuey/p/9244434.html

2、需要廠家的設備支持RTSP協議(實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議,幾乎所有都支持),可以聯繫廠家進行設置。

3、使用對應的js插件進行播放。HTTP-FLV使用flv.js,HLS、RTMP採用video.js。前臺頁面使用video標籤進行播放。
在這裏插入圖片描述
在這裏插入圖片描述
四、項目實踐及應用

1、基於GIS的視頻播放,下面是天地圖的使用的在線視頻播放
在這裏插入圖片描述
2、集成在項目中,完全融合項目的界面風格
在這裏插入圖片描述

五、推薦優秀的流媒體服務平臺

最後給大家推薦一款很好用的流媒體服務平臺EasyNVR,一鍵安裝,他是利用nginx+Golang搭建的流媒體服務,集成了HTTP-FLV、HLS、RTMP、RTSP四種協議,無縫切換,使用體驗好,穩定,特別適合快速大家流媒體服務進行無插件的web播放。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章