海康威视web3.2开发包开发使⽤说明
⾸⾔:
通过海康威视的最新web开发包⼯具进⾏js调⽤引⼊⾄vue项⽬中,实现监控设备的对接,监控功能的实现。3.2⽆插件js库同时⽀持插件安装的模式。
⽬录
⼀、海康威视开发平台:
⽹址:
可以下载开发包⽂档,客户,需要注册账号使⽤。
1、下载开发⼯具包⽂档
选择对应的开发类型需要的开发包:
进⾏下载。
2、专家⽀持问题
进⾏咨询问题
⼆、3.2⽆插件开发
1、需要引⽤的js包
这些是必须引⼊的。
其中
这三个js需要直接script引⼊⾄项⽬中
其他的只要按照对应的路径复制到项⽬中,会被其他代码⾃动加载。
2、开发api
//参数
bNoPlugin: true,//是否启⽤⽆插件
//初始化
// 全局保存当前选中窗⼝
var g_iWndIndex = 0; //可以不⽤设置这个变量,有窗⼝参数的接⼝中,不⽤传值,开发包会默认使⽤当前选择窗⼝
function initWebKIK() {
//检查浏览器是否⽀持⽆插件
if (!WebVideoCtrl.I_SupportNoPlugin()) {
Notification.warning({
title: '提⽰',
message: "当前浏览器不⽀持⽆插件预览监控视频,已⾃动切换成插件模式,如果还未安装插件请安装",
});
// 检查插件是否已经安装过
const iRet = window.WebVideoCtrl.I_CheckPluginInstall();
if (-1 == iRet) {
Notification.warning({
title: '提⽰',
message: "您还未安装过插件,请先下载双击安装!",
});
return;
}
}
// 初始化插件参数及插⼊插件
WebVideoCtrl.I_InitPlugin("100%", "100%", {
bWndFull: true,    //是否⽀持单窗⼝双击全屏,默认⽀持 true:⽀持 false:不⽀持
iPackageType: 2,
//szColorProperty:"plugin-background:0000ff; sub-background:00B2BF; sub-border:e7eaec; sub-border-select:0000ff",  //2:PS 11:MP4    iWndowType: 3,
bNoPlugin: true,//是否启⽤⽆插件
web端登录cbSelWnd: function (xmlDoc) {
g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
const szInfo = "当前选择的窗⼝编号:" + g_iWndIndex;
console.log(szInfo);
},
cbDoubleClickWnd: function (iWndIndex, bFullScreen) {
let szInfo = "当前放⼤的窗⼝编号:" + iWndIndex;
if (!bFullScreen) {
szInfo = "当前还原的窗⼝编号:" + iWndIndex;
}
console.log(szInfo);
},
cbEvent: function (iEventType, iParam1, iParam2) {
if (2 == iEventType) {// 回放正常结束
showCBInfo("窗⼝" + iParam1 + "回放结束!");
} else if (-1 == iEventType) {
showCBInfo("设备" + iParam1 + "⽹络错误!");
} else if (3001 == iEventType) {
clickStopRecord(g_szRecordType, iParam1);
}
},
cbRemoteConfig: function () {
console.log("关闭远程配置库!");
},
cbInitPluginComplete: function () {
WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin");
//WebVideoCtrl.I_InsertOBJECTPlugin("divPluginTwo");
// 检查插件是否最新
if (-1 == WebVideoCtrl.I_CheckPluginVersion()) {
Notification.warning({
title: '提⽰',
message: "检测到新的插件版本,双击升级!",
message: "检测到新的插件版本,双击升级!",        });
return;
}
}
});
}
// 登录
function clickLogin(szIP, szPort, szUsername, szPassword) {
/*
* szIP 设备的 IP 地址或者普通域名(⽐如花⽣壳域名)
iPrototocol  http 协议,1 表⽰ http 协议 2 表⽰ https 协议
iPort  登录设备的 http/https 端⼝号,根据 iPrototocol 选择传⼊不同的端⼝  szUserName  登录⽤户名称
szPassword  ⽤户密码
options 可选参数对象:
async  http 交互⽅式,true 表⽰异步,false 表⽰同步
cgi  CGI 协议选择,1 表⽰ ISAPI,2 表⽰ PSIA,如果不传这个参数,会
⾃动选择⼀种设备⽀持的协议.
success  成功回调函数,有⼀个参数,表⽰返回的 XML 内容。
error  失败回调函数,有两个参数,第⼀个是 http 状态码,第⼆个是设
备返回的 XML(可能为空)
* */
var iRet = WebVideoCtrl.I_Login(
szIP,
1,
szPort,
szUsername,
szPassword,
{
success: function (xmlDoc) {
console.log('登录成功')
}, error: function () {
console.log('登录失败!');
}
});
}
//获取数字通道
// 开始预览
function clickStartRealPlay(szIP, iStreamType, iWndIndex, iChannelID) {
console.log("窗⼝"+iWndIndex+"开始预览");
var iRet = WebVideoCtrl.I_StartRealPlay(szIP, {
//码流类型 1-主码流,2-⼦码流,默认使⽤主码流预览
iStreamType: iStreamType,
//播放窗⼝,如果不传,则默认使⽤当前选择窗⼝播放(默认选中窗⼝ 0)    iWndIndex: iWndIndex,
//播放通道号,默认通道 1
iChannelID: iChannelID,
bZeroChannel: false,
success: function () {
console.log("预览成功");
},error: function (status, xmlDoc) {
console.log("预览error");
let szInfo;
if (403 === status) {
szInfo = "设备不⽀持Websocket取流!";
} else {
szInfo = "开始预览失败!";
}
console.log(szIP + " " + szInfo+xmlDoc);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。