WEB頁面實時播放海康、大華等攝像頭RTSP視訊流完全方案
一、背景
在遍地都是攝像頭的今天,往往需要在各種資訊化、數字化、視覺化B/S系統中整合實時視訊流播放等功能,海康、大華、華為等廠家攝像頭或錄影機等裝置一般也都遵循監控行業標準,支援國際標準的主流傳輸協議RTSP輸出,而Chrome、Firefox、Edge等新一代瀏覽器從2015年開始取消了NPAPI外掛技術支援導致RTSP流無法直接原生播放了,這對於絕大部分沒有視訊處理經驗的前、後端工程師來說是一個非常頭疼的問題,專業性強,技術門檻高,而對做B/S資訊化系統整合的公司來說,為了這個模組的功能單獨招聘專職研發人員來負責的話,成本高昂不說,還未必做的好。
二、現狀
當前主流版本瀏覽器已經都不支援原生播放RTSP流,而且瀏覽器廠家也明確宣佈不考慮支援的情況下,為了在全終端和全平臺播放RTSP流,一般來說就只能採取在後端先轉碼再轉流給前端播放的方案,這也是號稱無外掛的技術方案。而對於終端硬體配置較好的場景,也可以採用在後端轉流到前端,前端再通過WASM程式轉碼播放的方案,但IE並不支援。轉碼到前端時,即使配置了效能不錯的電腦,還受限於WASM的固有缺陷,比如多執行緒支援差、能使用的記憶體始終受限、只能軟解碼等,無法充分利用終端電腦的硬體加速能力(GPU),這就導致同時播放多路或高清RTSP流時也會比較吃力,而且大量佔用終端電腦的CPU和記憶體資源,其它操作基本無法進行,對音視訊格式的相容能力也很有限。
雖然無外掛播放方案能夠播放出畫面,但是往往延遲很高,基本上都在數秒之久,在一些對延遲敏感的場合客戶要求毫秒級延遲,顯然無外掛技術方案是無法滿足的;而且首屏畫面顯示慢,基本上是數秒級別,這就導致切換播放源時遲遲看不到畫面出來,使用者體驗很差;況且無外掛技術方案,需要在後端持續執行高負荷運轉的視訊轉碼轉流服務,如果攝像頭路數多或需要線上播放的終端比較多,伺服器的壓力就會很大,播放卡頓、花屏、黑屏、斷播等現象就會時常出現,很難讓客戶滿意。為了解決這些問題,相關硬體、軟體的投入和持續不斷的頻寬佔用往往也讓客戶難以接受。現在越來越多的客戶追求高大上的視訊播放效果,採用高清攝像頭的越來越多,播放顯示器1080P已是低配,2K甚至4K大屏正在成為主流之選。這種無外掛技術方案,在中高配的螢幕上如果只能播放出慢如蝸牛的畫面,想不讓客戶吐槽實在是太難了。
一個好的視訊流網頁播放方案,首先要能做到持續穩定播放多路視訊,需同時支援H.264和H.265編碼,最核心的還是要做到低延遲、切換畫面快,另外就是對當前主流版本的瀏覽器相容能力要強,還有就是開發介面豐富並可定製,如果還能做到開源或採用免費開源的主流播放引擎,那就最好不過了,畢竟開源在商業領域的應用越來越多,是個大趨勢,從系統整合商的角度來說,開源意味著有更多的自主可控機會來降低整個系統的實施風險。
三、最終
猿大師針對當前行業痛點研發出了具有專利技術的猿大師中介軟體產品,成功突破了瀏覽器收緊其外掛技術的限制,在瀏覽器之上重新搭建了一套外接程式系統並可無縫嵌入瀏覽器網頁執行,成功模擬了2015年之前Chrome、Firefox、IE等瀏覽器支援的ActiveX控制元件和NPAPI外掛技術執行效果,是原來採用了跨瀏覽器外掛框架FireBreath的最佳替代技術方案。在2020年釋出了基於猿大師中介軟體的VLC網頁播放小程式,基本完成網頁中低延遲穩定播放多路視訊流的方案拼圖,已經在一些客戶現場成功實施,贏得了客戶的一致好評。友情提醒:猿大師中介軟體是此領域全球實現商用的成熟中介軟體,技術實現方案在2019年就申請了中國軟體發明專利保護,請大家注意識別仿冒或抄襲者,選擇那些冒牌貨不僅僅會因為其產品不成熟對您造成巨大損失不說,還有侵犯本公司智慧財產權的巨大風險!
四、特點
1.低延遲播放
從播放效能上說,攝像頭和錄影機的硬體廠家提供的私有協議播放方式無疑是最快的,延遲可做到100-300毫秒級,其次是RTSP協議流播放,大致是200-500毫秒級,再次是無外掛方案的轉碼流,優化比較好的單路播放大致在1-3秒級。猿大師近期釋出的海康網頁播放小程式,除了支援海康裝置的私有協議直接播放之外,還內建了格式相容更好的MP4播放庫和網路相容能力強大的LibVLC開源播放引擎。2020年釋出的VLC網頁播放小程式,基於VLC的ActiveX控制元件開發,完整封裝了控制元件的所有介面給前端呼叫,在同等條件下,延遲時間和VLC桌面程式播放保持一致,並可支援多路組合實現分屏播放。
2.相容性強
- 絕大部分瀏覽器相容,同時相容Chrome、Edge、Firefox、IE、Opera、Electron、Vivaldi、Brave、360、QQ等瀏覽器的低版本到最新版都可以使用;
- 裝置相容性強,同時支援海康、大華、宇視、華為等廠家的硬體裝置,只要能輸出RTSP、RTMP、HLS、HTTP、TCP、UDP等流媒體協議,就可以直接播放;
- 支援多種視訊編碼方式,不管是H.264還是H.265都可以同時支援播放,在一些採用WASM的無外掛技術方案中,往往只支援H.265編碼的視訊流,伺服器轉碼方案中,編碼相容能力直接依賴這個轉碼服務的實現;
- 幾乎能播放任何內容,依託開源的VLC著名播放引擎,支援檔案、光碟、攝像頭、裝置及流媒體可直接播放MPEG-2, MPEG-4, H.264, H.265, MKV, WebM, WMV, MP3, MP4等檔案,而無外掛技術方案往往能播放的內容有限,比如不支援本地檔案播放,不支援高速播放;
- 解析度支援範圍廣,從480P到1080P,還是更高的2K或4K,都能輕鬆應對,無外掛方案從1080P開始,播放效果基本上就差強人意了。
3.功能豐富
- 最核心的無疑是播放功能,包含單路播放、多路播放、全屏播放、快播、慢播等等,其中多路播放分屏風格支援多達26種,總有一款適合您,沒有需要的分屏風格時也可以委託定製開發,還有指定視訊名稱或指定時間段回看視訊等;
- 抓圖功能,定時批量抓、支援儲存指定本地路徑或圖片資料直接返回前端、圖片質量可控制等,無外掛方案由於無法訪問本地檔案系統是無法抓圖直接儲存到本地的,也不是基於視訊原有解析度進行抓取,圖片質量無法保證;
- 錄影功能,支援直接錄影儲存到本地MP4檔案,而無外掛方案由於無法訪問本地檔案系統,自然也無法直接完成此功能;
- 彈幕及水印功能,播放狀態實時提示等支援,無外掛方案基本只能在伺服器端先行新增,無法針對終端區別對待;
- 語音對講及雲臺控制,無外掛方案基本無此功能;
- 人臉識別、車牌識別並顯示畫框等個性化功能,可通過定製裝置廠家原生SDK功能實現。
4.整合簡單
延續原有外掛播放技術路線,可實現平滑升級,前後端改造小,提供VUE整合範例,整合簡單,節省成本。
五、優勢
藉助猿大師中介軟體獨特的專利技術,相對於無外掛播放方案來說,具有無可替代的技術優勢,具體表現如下:
- 可充分利用終端電腦硬體加速能力(GPU),在同等硬體、網路頻寬及流輸出條件下,延遲可做到毫秒級,可播放更多視訊源、支援更高的解析度、實現更流暢的播放效果。
- 播放程式可直接呼叫作業系統及硬體廠家提供的原生播放功能,也可以呼叫其它程式模組,不受瀏覽器的限制,實現豐富的個性化播放功能。這個優勢或許有人認為也是缺點,比如有安全隱患,其實對於企業的各種業務系統來說,都是需要經過充分測試才會上線,而猿大師中介軟體承諾本身無任何病毒或木馬行為,不會有未授權的網路請求行為,也提供了執行過程中的安全呼叫驗證機制,即使未授權的第三方拿到了播放小程式的開發介面,沒有經過安全驗證也是無法請求播放的,一定程度上解決了瀏覽器原有外掛技術不安全的缺陷。安全問題關鍵是具體如何看待,其實B/S等各種系統前端程式碼的執行在瀏覽器廠家看來,其實就是裸奔的狀態,只要瀏覽器廠家想要獲取前端程式碼中的敏感資訊,從技術角度完全沒有任何問題,相反的是,通過猿大師的技術方案,瀏覽器可獲得的資訊反而受限,除非和作業系統開發商一起配合來進行才有可能。
- 猿大師中介軟體不依賴瀏覽器的外掛和擴充套件技術支援,瀏覽器的升級不會導致技術方案失效,通訊技術採用國際標準的WebSocket技術,資料採用主流的JSON打包,通用性強。
- 猿大師中介軟體提供了前端可呼叫的自動升級中介軟體或小程式的機制,解決了傳統C/S系統升級終端軟體的大難題,具有了和B/S接近的分發便利優勢。 猿大師官網:http://www.yuanmaster.com 1.猿大師與大華官方網頁延遲對比:https://www.bilibili.com/video/BV1ff4y1j7qg/ 2.猿大師VLC播放程式與海康威視官方網頁延遲對比:https://www.bilibili.com/video/BV1mr4y127oX/ 3.猿大師VLC播放程式VUE測試頁面效果演示:https://www.bilibili.com/video/BV1Y34y197Z3