海康威视web插件

项目中须要用到海康威视的web插件进行二次开发,可是在开发过程当中遇到不少问题。这里整理几个比较典型的问题和解决方案。若是后续还有遇到会补充。html

资料下载:web

①:3.0开发包----->http://download.csdn.net/download/yeyunfancy/9980157浏览器

②:1.0.6版本webVideoCtrl.js。------>http://39.108.169.199:8080/webVideoCtrl.js安全

一、为何海康官网提供的web端能够在双核浏览器的任意模式下运行,而我下载的web3.0开发包里面的就不行,在谷歌内核提示不支持NAAPI。websocket

解:由于webVideoCtrl.js版本的问题,把代码格式化后拉倒最底下,会发现他的版本应该是1.0.9。我下载的是资料下载①里面的开发包,由于1.0.9的使用NAAPI,可是这个技术由于安全问题已经被绝大部分的浏览器都去除了。因此若是想要兼容双模式,下载资料下载②的js文件,而且替换开发包里的那个js文件。cookie

 

二、为何抓拍功能和录像功能等没法使用,函数一直返回undefined。session

解:由于WebComponentsKit.exe插件版本太高。也许你浏览过官方的web端,下载下来的WebComponentsKit.exe确定是最新版的,可是最新版的WebComponentsKit.exe没法兼容1.0.6的webVideoCtrl.js。通过测试,我下载过【3.0.6.1】、【3.0.6.2】两个版本。只有3.0.6.1版本兼容1.0.6的webVideoCtrl.js。若是你安装过新版的WebComponentsKit,请卸除干净安装旧版的。资料下载①里面的WebComponentsKit是3.0.6.1。所以,在开发过程当中,须要把插件版本监测的代码去除。socket

 

更新时间:2019年10月25日11:06:41ide

1.0.6的webvIdeoCtrl.js下载地址:http://119.23.216.213/file/webVideoCtrl.js

给你们一个新版插件的地址---新版插件下载地址,这个插件能够兼容IE、火狐、谷歌、360的主流浏览器。楼主在测试过程当中,发现之因此比旧版本更加兼容,是由于他在非IE浏览器中使用websocket取流和session认证。 这样就能够实现无插件开发。不过惋惜的是它对硬盘机设备型号和版本有要求,跟海康技术联系后,海康技术表示这份插件现阶段仅支持仅少数的硬盘机设备。也就是基本上大部分设备都没法使用这个新版插件。与技术沟通以下:函数

 

 

若是你们想尝试可自行尝试,在测试过程当中,若是遇到提示/ISAPI/Security/sessionLogin/ 404的问题,这个问题的缘由在于插件在进行无插件请求的时候,把你的请求IP强制更改了,位置在webVideoCtrl.js的第220行左右。

se = function (e) {
                var t = location.hostname, n = location.port || "80";
                return /^(http|https):\/\/([^\/]+)(.+)$/.test(e) && (e = e.replace(RegExp.$2, t + ":" + n)), f.cookie("webVideoCtrlProxy", RegExp.$2, {raw: !0}), e
                // return e;
            }

就是以上这段代码。你们只要把t和n设置成须要请求的IP和端口就能够了。