Onvif/RTSP網絡安防攝像機網頁無插件直播方案EasyNVR在IE瀏覽器下接口調用成功但頁面無法顯示問題解決

背景分析

隨着互聯網基礎設施建設的不斷完善和發展,帶寬的不斷提速,尤其是光纖入戶、4G/5G/NB-IoT各種網絡技術的大規模商用,視頻隨時隨地可看、可控、可視頻會議調度指揮、可智能預警、可智能檢索回溯的訴求越來越多,尤其是移動視頻應用技術和智能語音技術的普及和發展,使得視頻智能分析和語音智能理解支持的需求在各行各業越來越受到青睞和重視,簡簡單單的視頻直播、視頻會議、語音播報已經越來越不符合商業規律。而在傳統視頻監控、視頻會議行業裏面,互聯網思維、架構和技術完全可以成功引入,尤其是在移動互聯網、物聯網、深度學習、智能分析、雲端組網方面的融合技術,完全能夠滿足新形勢下的各種行業的終端智能化的需要。

 

EasyNVR是一種通過簡單的攝像機通道配置,雲平臺對接配置,CDN配置等,將統一監控行業內部的高清網絡攝像機IP攝像機通過通道配置來接入攝像頭的,這些通道配置、通道展示等都是通過接口的調用來完成的。理論上,只要調用接口返回成功碼,就表示該接口調用成功,後續操作得以進行。

EasyNVR在IE瀏覽器下接口調用成功但頁面無法顯示問題

發現問題

我們在爲用戶解決相關問題的時候,經常會使用遠程操作來更爲直觀的判定問題出現的環節。也是在我們爲用戶遠程的時候發現,當使用IE瀏覽器成功調用EasyNVR接口後,瀏覽器沒有第一時間將接口返回的數據進行處理展示。

 

正常來說,只要rtsp地址沒有問題,配置成功後,視頻廣場應該會出現對應的視頻通道信息,如下圖:

 

分析問題

對於這樣的問題,我們第一步要排查的是數據設置是否成功。經過我們的驗證證明接口設置數據並無問題。隨後我們需要排查瀏覽器自身兼容的問題,經過驗證和資料查閱發現,此問題正是IE瀏覽器自身問題。

ie瀏覽器在調用一個接口成功後,下次調用會優先獲取上次接口在瀏覽器中的緩存數據。也就是我們調用接口獲取的數據,雖然是通過該接口獲得,但不一定是實時的、最新的。

解決問題

爲了確保每次調用接口的不同,需要在每次調用接口時,給接口傳遞一個唯一、不重複的參數。

$.get(_url + "/getchannelsconfig?t="+new Date().getTime());

EasyNVR最終選擇是在調用對應接口時,傳遞一個時間參數,可以保證他的唯一性。這樣每次瀏覽器識別的接口一樣,但是傳遞這個參數是不同的,就會獲取到實時信息。

效果也是明顯:

 

 

由於EasyNVR通過接口獲取的數據相對來說是有點多的,因此每次通過接口獲取數據,相對來說是有點影響加載效果的,沒有在緩存中直接提取來的迅速。因此除非必須使用ie瀏覽器,否則不建議通過這種方式來實現此效果。

發佈了48 篇原創文章 · 獲贊 10 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章