天天看點

海康威視、浙江大華RTSP在Chrome、Firefox等浏覽器低延遲(300ms)播放解決方案

一、曆史背景

在遍地都是攝像頭的今天,往往需要在各種B/S資訊化系統中內建視訊播放功能,海康、大華、華為等大廠攝像頭遵循監控行業标準,一般隻支援RTSP傳輸協定,而Chrome、Firefox、Edge等現代浏覽器的主流版本并不支援RTSP流的直接原生播放!

二、現有方案

在未來也沒有計劃支援的情況下,想要在網頁中實作播放RTSP流,目前常用可選方案有以下3種:

1、先在伺服器端把RTSP流轉碼到浏覽器可直接播放的視訊流後再提供給終端浏覽器播放,這也是号稱無插件播放的方法,雖然這種方案對作業系統和浏覽器相容性好,但延遲往往很高,時常達到數秒之久,尤其是首屏畫面顯示很慢,體驗糟糕。實際使用時,由于需要在伺服器端搭建一個始終高負荷運轉的視訊轉碼轉流服務,CPU和記憶體消耗大,帶寬占用大,長期使用成本很高,如果攝像頭路數比較多或線上播放視訊的終端比較多,伺服器的壓力就會很大。終端想要看到多路、高分辨率或H.265視訊時,此方案實際使用過程中常出現播放卡頓、花屏,缺陷就越發明顯。尤其是在在一些非常關鍵的應用場合,如果不能通過監控視訊早一點發現險情并及時排除,可能就無法規避不可承受的風險,失去了上視訊監控的重要意義。

2、與第1種方案不同,此方案把伺服器端轉碼過程轉移到前端來進行,壓力也就轉移到了終端電腦之上。因為在現代高版本浏覽器中,都已經支援WASM技術(IE除外),是以紛紛采用此技術在前端實作将RTSP流轉碼後播放。由于終端電腦的硬體參差不齊,在一些中低配電腦上,就很難獲得比較好的播放效果。最主要的問題還是受限于WASM的缺陷,隻能軟解碼,無法利用終端電腦的硬體加速能力,而且不支援多線程,這就導緻播放多路RTSP流時就非常吃力了,在面對高分辨率和H.265的視訊流時,同樣效果不好,而且大量占用終端電腦的CPU和記憶體,無法再做其它事情,是以基本無法滿足甲方客戶的硬性要求。

3、沿用原有插件技術方案,在2015年前Chrome等浏覽器還可以用NPAPI插件技術的時候,前2種方案遇到的問題都不是問題,通過本地原生播放器控件直接播放,伺服器也沒多少壓力,終端也可以充分利用本機硬體加速能力,多路播放時利用多線程技術,可以實作比較好的播放效果。缺點就是需要安裝插件,作業系統的相容性上差一些。此方案如果能解決高版本的Chrome等浏覽器相容使用,無疑這是當下能夠實作低延遲多路穩定播放的最佳技術方案,滿足甲方客戶硬性播放名額也無壓力。

二、最終方案

猿大師中間件VLC網頁播放小程式應需而生,基于跨浏覽器的原生小程式系統-猿大師中間件(

http://www.yuanmaster.com

)開發,通過借助猿大師中間件提供的内嵌網頁播放的獨家專利技術,在Chrome等現代浏覽器高版本中完全模拟實作了ActiveX控件和NPAPI插件的播放效果,底層調用VLC(是一款自由、開源的跨平台多媒體播放器及架構,可播放大多數多媒體檔案,以及 DVD、音頻 CD、VCD 及各類流媒體協定)桌面用戶端的ActiveX控件實作在網頁中低延遲直接播放海康、大華、華為等攝像頭的标準RTSP流,由于實際調用的是VLC本地原生播放控件,是以可充分利用本機硬體加速能力實作高效硬解碼播放多路或高清視訊(H.265),最多可支援25路同時播放,最低可用在Chrome 41、Firefox 50、Edge 80(Chromium核心)、360極速/安全、IE、Oprea 36、QQ等浏覽器,也相容運作于這些浏覽器的最新版本。

猿大師中間件試用版免費體驗網址:

http://www.yuanmaster.com/xiazai/

猿大師中間件視訊示範網址:

https://www.bilibili.com/video/BV1u64y1h75J/

采用猿大師中間件VLC網頁播放小程式具有如下優點:

1、在支援主流版本浏覽器的前提下,是目前市場中可實作低延遲(300毫秒)的獨家播放方案;

2、支援多路同時播放、動态切換播放源、支援回放和抓圖,尤其是高分辨率視訊或大屏播放體驗好;

3、底層播放技術采用VLC的開放源代碼方案,播放器後續服務有保障,播放格式相容好,同時支援H.264和H.265無壓力;

4、VLC網頁播放小程式額外付費後可獲得其源代碼進行定制開發,自主可控;

5、支援海康、大華、華為等各廠家的攝像頭,隻要能提供标準的RTSP流,都可以播放;

6、移動端可直接采用VLC開放源代碼的APP來使用,無需單獨開發,投入少見效快;

7、此技術方案可實作在原有技術體系下的平滑更新,降低了方案大改造帶來的技術路線和延期傳遞風險,可節省大量研發成本。

終端電腦采用VLC網頁播放方案時需要部署猿大師中間件,搭配VLC網頁播放小程式,還需安裝VLC桌面用戶端,為簡化部署過程,可将VLC綠色版程式包解壓後放入中間件的VLC小程式目錄後,再将這些程式檔案統一做一MSI或EXE安裝包放到B/S伺服器上提示使用者下載下傳安裝或實施工程師統一部署。一般來說,需要看視訊監控的地方基本上集中于監控室,電腦數量有限,部署時安裝一些軟體來并不是件難事。之後借助猿大師中間件的線上更新機制,可徹底解決傳統用戶端軟體更新維護的難題,一箭雙雕。

一個好的技術實施方案,首先是要滿足客戶的剛性需求,其次是盡量降低采購、開發、實施及維護的總成本,再次是需要有良好的相容性和穩定性,最後需盡量確定技術方案不能因為浏覽器的更新而失效,能夠實作公司自主可控的要求就更好了。VLC網頁播放小程式提供了這樣一個穩定可靠、相容性好、低延遲又可同時穩定播放多路RTSP的低成本半開源技術方案,無疑是目前安防行業在網頁端播放RTSP流的最佳選擇。

繼續閱讀