一、歷史背景
在遍地都是攝像頭的今天,往往需要在各種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等瀏覽器,也兼容運行於這些瀏覽器的最新版本。
猿大師中間件VLC小程序免費體驗網址:http://www.yuanmaster.com/chanpin/3.html
猿大師中間件VLV小程序演示視頻:https://www.bilibili.com/video/BV1u64y1h75J
Chrome、Firefox等瀏覽器低延遲(300ms)播放海康、大華RTSP解決方案(演示視頻)
采用猿大師中間件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流的最佳選擇。