以HTML5及其衍生技術爲基礎的B/S架構實時視頻監控解決方案

安防類項目中通常都有視頻監控方面的需求。視頻監控客戶端主要是Native應用的形式,在Web端需要利用 NPAPI、ActiveX 之類的插件技術實現。但是,IE式微,Chrome 也放棄了NPAPI,另一方面,監控設備硬件廠商的視頻輸出格式則逐漸標準化。這讓基於開放、標準化接口的 Web 視頻監控成爲可能。

我們的研發團隊做過很多次嘗試,本文討論以 HTML5 及其衍生技術爲基礎的 B/S 架構實時視頻監控解決方案。主要包括兩方面的內容:視頻編碼、流媒體基礎知識,以及相關的庫、框架的介紹,介紹可以用於視頻監控的HTML5特性,例如媒體標籤、MSE、WebRTC,以及相關的庫、框架。

一、音視頻編碼

音頻、視頻的編碼(Codec,壓縮)算法有很多,不同瀏覽器對音視頻的編碼算法的支持有差異。H264 這樣的監控設備常用的視頻編碼格式,主流瀏覽器都有某種程度的支持。常見的音頻編碼算法包括: MP3, Vorbis, AAC;常見的視頻編碼算法包括:H.264, HEVC, VP8, VP9。編碼後的音頻、視頻通常被封裝在一個比特流容器格式(container)中,這些格式中常見的有:MP4, FLV, WebM, ASF, ISMA 等。

二、流媒體技術

所謂流媒體,就是指源源不斷的由提供者產生,並持續的被終端用戶接收、展示的多媒體,就像水流一樣。現實世界中的媒體,有些天生就是流式的,例如電視、廣播,另外一些則不是,例如書籍、CD。流媒體技術(從傳遞媒體角度來看)可以作爲文件下載的替代品。流媒體技術關注的是如何傳遞媒體,而不是如何編碼媒體,具體的實現就是各種流媒體協議。封裝後的媒體比特流(容器格式)由流媒體服務器遞送到流媒體客戶端。流媒體協議可能對底層容器格式、編碼格式有要求,也可能沒有任何要求。

 

 

三、直播

直播流(Live streaming)和靜態文件播放的關鍵差異:點播的目標文件通常位於服務器上,具有一定的播放時長、文件大小。瀏覽器可以使用漸進式下載,一邊下載一邊播放,直播不存在播放起點、終點。它表現爲一種流的形式,源源不斷的從視頻採集源通過服務器,傳遞到客戶端直播流通常是自適應的(adaptive),其碼率隨着客戶端可用帶寬的變化,可能變大、變小,以儘可能消除延遲流媒體技術不但可以用於監控畫面預覽,也可以改善錄像播放的用戶體驗,比起簡單的靜態文件回放,流式回放具有以下優勢:延遲相對較低,播放能夠儘快開始自適應流可以避免卡頓。

 

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