敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.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 后才能抓拍照片);
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 ] } */
jsBridge.hkc.getDevices(function(succ, devices) { //devices 为 addDevice 接口执行成功时返回的 data 数组 alert(devices.length + "个设备\n" + JSON.stringify(devices)); });
jsBridge.hkc.addPreview({ //成功添加摄像机时返回的设备ID device_id: 102, //预览窗口宽度 width : 240, //高度 height: 135, //顶边距 top : 20, //左边距 left: 4 }, function(succ, data) { alert(succ ? "成功" : "失败:\n" + JSON.stringify(data)); });
jsBridge.hkc.removePreview({ //成功添加摄像机时返回的设备ID device_id: 102 }, function(succ, data) { alert(succ ? "成功" : "失败:\n" + JSON.stringify(data)); });
jsBridge.hkc.startPreview({ //成功添加摄像机时返回的设备ID device_id: 102, //视频通道 channel: "ACamera_1", //视频流类型 //0 主视频流 //1 子视频流 stream : 0 }, function(succ, data) { alert(succ ? "成功" : "失败:\n" + JSON.stringify(data)); });
jsBridge.hkc.stopPreview({ //成功添加摄像机时返回的设备ID device_id: 102 }, function(succ, data) { alert(succ ? "成功" : "失败:\n" + JSON.stringify(data)); });
//需成功调用 startPreview 后才能抓拍照片 jsBridge.hkc.snapshot({ //成功添加摄像机时返回的设备ID device_id: 102 }, function(succ, data) { alert(succ ? "成功" : "失败:\n" + JSON.stringify(data)); }); /* 拍照成功时 data 返回: { //字符串类型,照片的 base64 编码,JPEG 格式 base64_image: "" } */