海康视频插件原理
視頻插件的調(diào)用方式、加載原理
簡(jiǎn)介:視頻 WEB 插件(以下簡(jiǎn)稱 VideoWebPlugin)用于跨瀏覽器開(kāi)發(fā) WEB 視頻應(yīng)用,提供了實(shí)時(shí)視頻播放、歷史視頻回放功能。安裝 VideoWebPlugin.exe 后,
系統(tǒng)會(huì)自動(dòng)運(yùn)行 WebControl.exe 的程序,并由 jsWebControl-1.0.0.min.js 與之交互完成視頻的各項(xiàng)功能
2. 使用WebControl.JS_StartService方法啟動(dòng)插件服務(wù)
3.使用WebControl.JS_CreateWnd方法創(chuàng)建視頻播放窗口綁定element元素、使用WebControl.JS_SetWindowControlCallback方法綁定消息回調(diào)
4通過(guò)appkey、secret、ip、port端口號(hào)等參數(shù)與服務(wù)器進(jìn)行數(shù)據(jù)校驗(yàn),校驗(yàn)通過(guò)即可正常與設(shè)備鏈接取流,初始化參數(shù)在步驟三創(chuàng)建窗口成功回調(diào)后執(zhí)行,其中secret參數(shù)需要通過(guò)RSA加密,加密公鑰通過(guò)WebControl.JS_RequestInterface獲取
5.通過(guò)WebControl 插件實(shí)例調(diào)用WebControl.JS_RequestInterface方法操作功能(預(yù)覽,回放,抓圖、錄像等)初始化,創(chuàng)建插件頂層窗口后調(diào)用WebControl.JS_Resize來(lái)調(diào)整插件窗口大小與位置
6.離開(kāi)頁(yè)面斷開(kāi)使用WebControl.JS_HideWnd(先讓窗口隱藏,規(guī)避可能的插件窗口滯后于瀏覽器消失問(wèn)題)與WebControl.JS_Disconnect(斷開(kāi)與插件服務(wù)連接)方法與插件服務(wù)連接
?
?
圖中灰色部分為可選步驟。其中申請(qǐng) RSA 公鑰可選。申請(qǐng) RSA 公鑰是為了加密初始化中 的一些敏感參數(shù),對(duì)安全性要求高的用戶可以考慮對(duì)敏感參數(shù)加密。但需要注意的是,使用 RSA 公鑰加密機(jī)制必然會(huì)導(dǎo)致初始化耗時(shí)。一般情況下不需要調(diào) JS_DestroyWnd 來(lái)銷毀插件窗口 (JS_Disconnect 中會(huì)自行銷毀),但一些特殊的場(chǎng)景如瀏覽器頁(yè)面上需隨時(shí)啟用和禁用視頻播放時(shí), 需調(diào) JS_DestroyWnd 來(lái)禁用視頻播放,需要調(diào) JS_CreateWnd 來(lái)啟用視頻播放。JS_DestroyWnd 和 JS_Disconnect 中會(huì)反初始化插件,這里無(wú)需調(diào) JS_RequestInterface/uninit 反初始化。
3.vue腳手架中集成插件
把官方資源包里的query-1.12.4.min.js、jsencrypt.min.js、jsWebControl-1.0.0.min.js復(fù)制到vue項(xiàng)目public目錄下,在index.html引入js
4.注意事項(xiàng)
1.創(chuàng)建插件實(shí)例后除申請(qǐng) RSA 公鑰功能外,調(diào)其它接口前應(yīng)先初始化。初始化參數(shù)中ip不能帶端口,端口單獨(dú)設(shè)置port參數(shù),ip跟端口號(hào)從綜合安防管理平臺(tái)獲取,要根據(jù)實(shí)際值傳參
2.云控功能——插件工具欄已自帶簡(jiǎn)陋版,如果需要高度自定義,可自己在頁(yè)面其他地方畫布局,寫功能并調(diào)用海康提供云控接口來(lái)實(shí)現(xiàn)
3?.注意http跟https環(huán)境下海康提供的接口一些參數(shù)的區(qū)別,http->ws,https->wss
5.插件提示反復(fù)安裝問(wèn)題
概述
新版的chrome瀏覽器會(huì)校驗(yàn)發(fā)起端的域名和訪問(wèn)資源的域名直接的關(guān)系,如果客戶端發(fā)起域名比訪問(wèn)資源所在的域名更public(開(kāi)放),會(huì)導(dǎo)致The request client is not a secure context and the resource is in more-private address …錯(cuò)誤產(chǎn)生。
原因
- 報(bào)錯(cuò)內(nèi)容
- 錯(cuò)誤原因
?
?
解決辦法
在瀏覽器地址欄輸入
chrome://flags/#block-insecure-private-network-requests
按照下圖將Block insecure private network requests.項(xiàng)的Default改為Disabled即可。
?
總結(jié)
- 上一篇: web---SSL/TSL
- 下一篇: java构造块_java中的静态代码块、