一、背景
在遍地都是攝像頭的今天,往往需要在各種信息化、數字化、可視化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接近的分發便利優勢。
1.猿大師與大華官方網頁延遲對比: https://www.bilibili.com/video/BV1ff4y1j7qg/3.猿大師VLC播放程序VUE測試頁面效果演示: https://www.bilibili.com/video/BV1Y34y197Z3
