WebApp快捷打包
海康威视摄像机
转到模块插件

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240326.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

海康威视 网络摄像机;

集成步骤:

1. addDevice 添加(登录)设备,获取设备ID device_id;

2. addPreview 添加预览窗口到你的UI;

3. startPreview 开始预览视频;

4. snapshot 抓拍快照(需成功调用 startPreview 后才能抓拍照片);

addDevice 添加(登录)摄像机

jsBridge.hkc.addDevice({
  //IP地址
  ip  : "192.168.0.100",
  //端口号
  port: 8000,
  username: "登录名",
  password: "密码"
}, function(succ, data) {
  alert((succ ? "成功" : "失败") + ":\n" + JSON.stringify(data));
});

/*
登录成功时 data 返回:
{
  device_id: 102,             //数字类型,设备ID
  ip       : "192.168.0.100", //字符串类型,IP地址
  channels : [  //字符串数组,此设备支持的视频通道
    "ACamera_1",
    "ACamera_2"
    //...
  ],
  streams: [    //数字数组,视频流类型
    0, //main_stream
    1, //sub_stream
    2  //third_stream
  ]
}
*/

getDevices 获取已添加(登录)的摄像机

jsBridge.hkc.getDevices(function(succ, devices) {
  //devices 为 addDevice 接口执行成功时返回的 data 数组
  alert(devices.length + "个设备\n" + JSON.stringify(devices));
});

addPreview 添加预览窗口

jsBridge.hkc.addPreview({
  //成功添加摄像机时返回的设备ID
  device_id: 102,
  //预览窗口宽度
  width : 240,
  //高度
  height: 135,
  //顶边距
  top : 20,
  //左边距
  left: 4
}, function(succ, data) {
  alert(succ ? "成功" : "失败:\n" + JSON.stringify(data));
});

removePreview 移除预览窗口

jsBridge.hkc.removePreview({
  //成功添加摄像机时返回的设备ID
  device_id: 102
}, function(succ, data) {
  alert(succ ? "成功" : "失败:\n" + JSON.stringify(data));
});

startPreview 开始预览视频

jsBridge.hkc.startPreview({
  //成功添加摄像机时返回的设备ID
  device_id: 102,
  //视频通道
  channel: "ACamera_1",
  //视频流类型
  //0 主视频流
  //1 子视频流
  stream : 0
}, function(succ, data) {
  alert(succ ? "成功" : "失败:\n" + JSON.stringify(data));
});

stopPreview 停止预览视频

jsBridge.hkc.stopPreview({
  //成功添加摄像机时返回的设备ID
  device_id: 102
}, function(succ, data) {
  alert(succ ? "成功" : "失败:\n" + JSON.stringify(data));
});

snapshot 抓拍快照

//需成功调用 startPreview 后才能抓拍照片
jsBridge.hkc.snapshot({
  //成功添加摄像机时返回的设备ID
  device_id: 102
}, function(succ, data) {
  alert(succ ? "成功" : "失败:\n" + JSON.stringify(data));
});

/*
拍照成功时 data 返回:
{
  //字符串类型,照片的 base64 编码,JPEG 格式
  base64_image: ""
}
*/