位置: IT常识 - 正文

海康视频WEB插件 V1.5.2 开发总结(海康威视网页插件下载)

编辑:rootadmin
海康视频WEB插件 V1.5.2 开发总结 文章目录前言一、效果图二、插件使用步骤总结三、具体步骤分析1.new 一个WebControl 插件实例2.启动插件服务3.创建视频播放窗口、绑定消息回调4.初始化参数,其中secret参数需要通过RSA加密,加密公钥通过WebControl.JS_RequestInterface获取5.通过WebControl 插件实例调用API方法操作功能(预览,回放,抓图、录像等)(1)预览功能(2)设置窗口布局(3)抓图6.离开页面断开与插件服务连接四、窗口事件绑定五、vue脚手架中集成插件六、注意事项七、vue版本开箱即用组件八、官方插件包和开发文档下载九、完整代码前言

推荐整理分享海康视频WEB插件 V1.5.2 开发总结(海康威视网页插件下载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:海康威视web插件无响应,海康威视web插件无响应,海康摄像头web插件,海康视频web插件语音对讲,海康威视web插件,海康视频web插件怎么用,海康视频web插件对讲,海康视频web插件语音对讲,内容如对您有帮助,希望把文章链接给更多的朋友!

海康视频插件v.1.5.2版本运行环境需要安装插件VideoWebPlugin.exe,对浏览器也有兼容性要求,具体看官方文档

一、效果图

二、插件使用步骤总结

1.new 一个WebControl 插件实例 2. 启动插件服务 3.创建视频播放窗口、绑定消息回调 4.初始化参数,其中secret参数需要通过RSA加密,加密公钥通过WebControl.JS_RequestInterface获取 5.通过WebControl 插件实例调用API方法操作功能(预览,回放,抓图、录像等) 6.离开页面断开与插件服务连接

三、具体步骤分析1.new 一个WebControl 插件实例

后续功能都将通过该实例操作

var oWebControl = new WebControl({ szPluginContainer: "playWnd", // 指定容器idiServicePortStart: 15900, // 指定起止端口号,建议使用该值iServicePortEnd: 15909, szClassId:"23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsidcbConnectSuccess: function () { // 创建WebControl实例成功 console.log("success")},cbConnectError: function () { // 创建WebControl实例失败 console.log("error")},cbConnectClose: function (bNormalClose) { // 异常断开:bNormalClose = false console.log("cbConnectClose");}});2.启动插件服务

创建WebControl实例成功的回调函数中通过oWebControl.JS_StartService启动插件服务:

var oWebControl = new WebControl({ szPluginContainer: "playWnd", // 指定容器idiServicePortStart: 15900, // 指定起止端口号,建议使用该值iServicePortEnd: 15909, szClassId:"23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsidcbConnectSuccess: function () { // 创建WebControl实例成功 /// //步骤二代码 oWebControl.JS_StartService("window", { // WebControl实例创建成功后需要启动服务dllPath: "./VideoPluginConnect.dll" // 值"./VideoPluginConnect.dll"写死 }).then(function () { // 启动插件服务成功}, function () { // 启动插件服务失败}); // /// },cbConnectError: function () { // 创建WebControl实例失败 console.log("error")},cbConnectClose: function (bNormalClose) { // 异常断开:bNormalClose = false console.log("cbConnectClose");}});3.创建视频播放窗口、绑定消息回调

通过创建播放窗口绘制样式布局,并绑定一些事件(进出全屏、切换布局消息等)的回调

var oWebControl = new WebControl({ szPluginContainer: "playWnd", // 指定容器idiServicePortStart: 15900, // 指定起止端口号,建议使用该值iServicePortEnd: 15909, szClassId:"23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsidcbConnectSuccess: function () { // 创建WebControl实例成功 oWebControl.JS_StartService("window", { // WebControl实例创建成功后需要启动服务dllPath: "./VideoPluginConnect.dll" // 值"./VideoPluginConnect.dll"写死 }).then(function () { // 启动插件服务成功/ //步骤三代码 oWebControl.JS_SetWindowControlCallback({ // 设置消息回调cbIntegrationCallBack: cbIntegrationCallBack});oWebControl.JS_CreateWnd("playWnd", 1000, 600).then(function () { //JS_CreateWnd创建视频播放窗口,宽高可设定 //步骤四代码 init()//初始化 }); ///}, function () { // 启动插件服务失败});},cbConnectError: function () { // 创建WebControl实例失败 console.log("error")},cbConnectClose: function (bNormalClose) { // 异常断开:bNormalClose = false console.log("cbConnectClose");}});//消息回调监听 function cbIntegrationCallBack(oData){ console.log(oData) }4.初始化参数,其中secret参数需要通过RSA加密,加密公钥通过WebControl.JS_RequestInterface获取

通过appkey、secret、ip、port端口号等参数与服务器进行数据校验,校验通过即可正常与设备链接取流,初始化参数在步骤三创建窗口成功回调后执行,其中secret参数必须通过RSA进行加密处理,加密的公钥通过WebControl.JS_RequestInterface获取

var pubKey;//公钥 //初始化 function init() { getPubKey(function () {// 请自行修改以下变量值 var appkey = "20000000"; //综合安防管理平台提供的appkey,必填 var secret = setEncrypt("XXXxxxxxxxxxx"); //综合安防管理平台提供的secret,必填var ip = "192.168.20.80"; //综合安防管理平台IP地址,必填 var playMode = 0; //初始播放模式:0-预览,1-回放 var port = 443; //综合安防管理平台端口,若启用HTTPS协议,默认443,根据实际设置,必填 var snapDir = "D:\\SnapDir"; //抓图存储路径 var videoDir = "D:\\VideoDir"; //紧急录像或录像剪辑存储路径 var layout = "1x1"; //playMode指定模式的布局 var enableHTTPS = 1; //是否启用HTTPS协议与综合安防管理平台交互,这里总是填1 var encryptedFields = 'secret'; //加密字段,默认加密领域为secretvar showToolbar = 1; //是否显示工具栏,0-不显示,非0-显示var showSmart = 1; //是否显示智能信息(如配置移动侦测后画面上的线框),0-不显示,非0-显示var buttonIDs = "0,16,256,257,258,259,260,512,513,514,515,516,517,768,769"; //自定义工具条按钮// 请自行修改以上变量值 oWebControl.JS_RequestInterface({ funcName: "init", argument: JSON.stringify({ appkey: appkey, //API网关提供的appkey secret: secret, //API网关提供的secret ip: ip, //API网关IP地址 playMode: playMode, //播放模式(决定显示预览还是回放界面) port: port, //端口 snapDir: snapDir, //抓图存储路径 videoDir: videoDir, //紧急录像或录像剪辑存储路径 layout: layout, //布局 enableHTTPS: enableHTTPS, //是否启用HTTPS协议 encryptedFields: encryptedFields, //加密字段showToolbar: showToolbar, //是否显示工具栏showSmart: showSmart, //是否显示智能信息buttonIDs: buttonIDs //自定义工具条按钮 }) }).then(function (oData) {oWebControl.JS_Resize(1000, 600); // 初始化后resize一次,规避firefox下首次显示窗口后插件窗口未与DIV窗口重合问题 }); }); } //获取公钥 function getPubKey (callback) { oWebControl.JS_RequestInterface({ funcName: "getRSAPubKey", argument: JSON.stringify({ keyLength: 1024 }) }).then(function (oData) { console.log(oData,'odate'); if (oData.responseMsg.data) { pubKey = oData.responseMsg.data; callback() } }) } //RSA加密 function setEncrypt (value) { var encrypt = new JSEncrypt(); encrypt.setPublicKey(pubKey); return encrypt.encrypt(value); }5.通过WebControl 插件实例调用API方法操作功能(预览,回放,抓图、录像等)海康视频WEB插件 V1.5.2 开发总结(海康威视网页插件下载)

经过上面4个步骤,初始化工作已经全部完成,接下去就是使用api去操作实例实现对应功能

(1)预览功能 var cameraIndexCode='1e48db29e22143118441b75d199999dd'; //获取输入的监控点编号值,必填,从后端接口返回获取 var streamMode = 0; //主子码流标识:0-主码流,1-子码流 var transMode = 1; //传输协议:0-UDP,1-TCP var gpuMode = 1; //是否启用GPU硬解,0-不启用,1-启用 var wndId = -1; //播放窗口序号(在2x2以上布局下可指定播放窗口) oWebControl.JS_RequestInterface({ funcName: "startPreview", argument: JSON.stringify({ cameraIndexCode:cameraIndexCode, //监控点编号 streamMode: streamMode, //主子码流标识 transMode: transMode, //传输协议 gpuMode: gpuMode, //是否开启GPU硬解 wndId:wndId //可指定播放窗口 }) }).then(res=>{console.log(res,'res')})(2)设置窗口布局 oWebControl.JS_RequestInterface({ funcName: " setLayout", argument: { layout:'2x2',//窗口布局 } })(3)抓图 oWebControl.JS_RequestInterface({ funcName: "snapShot", argument:{ name:'D:\test.jpg'//图片绝对路径名称 }, });

其他功能对着开发文档API调用就行了 所有功能调用都是通过

oWebControl.JS_RequestInterface({ funcName: "",//例如:startPreview预览功能 argument:{} })

这个API实现,不同功能通过funcName值区别,argument为该功能需要传递的参数

6.离开页面断开与插件服务连接

释放资源

$(window).unload(function () { if (oWebControl != null){oWebControl.JS_HideWnd(); // 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题 oWebControl.JS_Disconnect().then(function(){ // 断开与插件服务连接成功}, function() { // 断开与插件服务连接失败}); } });四、窗口事件绑定

海康播放插件本质是ActiveX控件,无法通过css控制位置和大小,当页面窗口大小变化或者遇到页面有滚动条情况就需要手动设置插件窗口位置和大小,可以通过JS_Resize (调整插件窗口大小、位置),JS_CuttingPartWindow (扣除部分插件窗口)两个api来实现

//插件宽高请根据页面实际响应尺寸传递,下面默认宽1000,高600 // 监听resize事件,使插件窗口尺寸跟随DIV窗口变化 $(window).resize(function () { if (oWebControl != null) { oWebControl.JS_Resize(1000, 600); setWndCover(); } }); // 监听滚动条scroll事件,使插件窗口跟随浏览器滚动而移动$(window).scroll(function () { if (oWebControl != null) { oWebControl.JS_Resize(1000, 600); setWndCover(); } });// 设置窗口裁剪,当因滚动条滚动导致窗口需要被遮住的情况下需要JS_CuttingPartWindow裁减掉部分窗口 function setWndCover() { var iWidth = $(window).width(); var iHeight = $(window).height(); var oDivRect = $("#playWnd").get(0).getBoundingClientRect(); var iCoverLeft = (oDivRect.left < 0) ? Math.abs(oDivRect.left): 0; var iCoverTop = (oDivRect.top < 0) ? Math.abs(oDivRect.top): 0; var iCoverRight = (oDivRect.right - iWidth > 0) ? Math.round(oDivRect.right - iWidth) : 0; var iCoverBottom = (oDivRect.bottom - iHeight > 0) ? Math.round(oDivRect.bottom - iHeight) : 0; iCoverLeft = (iCoverLeft > 1000) ? 1000 : iCoverLeft; iCoverTop = (iCoverTop > 600) ? 600 : iCoverTop; iCoverRight = (iCoverRight > 1000) ? 1000 : iCoverRight; iCoverBottom = (iCoverBottom > 600) ? 600 : iCoverBottom;oWebControl.JS_RepairPartWindow(0, 0, 1001, 600); // 多1个像素点防止还原后边界缺失一个像素条 if (iCoverLeft != 0) {oWebControl.JS_CuttingPartWindow(0, 0, iCoverLeft, 600); } if (iCoverTop != 0) { oWebControl.JS_CuttingPartWindow(0, 0, 1001, iCoverTop); // 多剪掉一个像素条,防止出现剪掉一部分窗口后出现一个像素条 } if (iCoverRight != 0) { oWebControl.JS_CuttingPartWindow(1000 - iCoverRight, 0, iCoverRight, 600); } if (iCoverBottom != 0) { oWebControl.JS_CuttingPartWindow(0, 600 - iCoverBottom, 1000, iCoverBottom); } }五、vue脚手架中集成插件

把官方资源包里的query-1.12.4.min.js、jsencrypt.min.js、jsWebControl-1.0.0.min.js复制到vue项目public目录下,在index.html引入js

六、注意事项

1.初始化参数中ip不能带端口,端口单独设置port参数,ip跟端口号从综合安防管理平台获取,要根据实际值传参 2.实际开发中窗口事件必须绑定,可动态监听插件绑定的div宽高,响应式设置插件窗口大小 3.云控功能——插件工具栏已自带简陋版,如果需要高度自定义,可自己在页面其他地方画布局,写功能并调用海康提供云控接口来实现 4 .注意http跟https环境下海康提供的接口一些参数的区别,http->ws,https->wss

七、vue版本开箱即用组件

传送门:vue-hkvideo

八、官方插件包和开发文档下载

传送门:插件包和文档下载

九、完整代码

官方demo.html

<body> <!--预览界面--> <div id="operate" class="operate"> <div class="module"> <div class="item"><span class="label">监控点编号:</span><input id="cameraIndexCode" type="text" value=""></div> <div class="item" style="margin-top: 20px;margin-left: -20px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button style="width:20px;padding:0;margin:0;" id="startPreview" class="btn">预览</button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button style="width:90px;padding:0;margin:0;" id="stopAllPreview" class="btn">停止全部预览</button> </div> </div> </div> <!--视频窗口展示--> <div id="playWnd" class="playWnd" style="left: 109px; top: 133px;"></div></body> <!--三个必要的js文件引入--><script src="jquery-1.12.4.min.js"></script><script src="jsencrypt.min.js"></script> <!-- 用于RSA加密 --><script src="jsWebControl-1.0.0.min.js"></script> <!-- 用于前端与插件交互 --><script type="text/javascript"> //页面加载时创建播放实例初始化 $(window).load(function () { initPlugin(); }); //
本文链接地址:https://www.jiuchutong.com/zhishi/283368.html 转载请保留说明!

上一篇:hphupd04.exe是什么进程 作用是什么 hphupd04进程查询(hpptd.exe)

下一篇:kendns.exe是什么进程 kendns进程查询(kcleaner.exe是什么)

  • 苹果13打字有声音怎么关(苹果13打字有声音怎么去掉)

    苹果13打字有声音怎么关(苹果13打字有声音怎么去掉)

  • 华为p40的屏幕刷新率是60hz吗(华为p40屏幕刷新率在哪设置)

    华为p40的屏幕刷新率是60hz吗(华为p40屏幕刷新率在哪设置)

  • 台式机怎么用单孔耳麦(台式电脑单主机什么意思)

    台式机怎么用单孔耳麦(台式电脑单主机什么意思)

  • windows7电脑不受支持怎么办(windows7电脑不受支持怎么解决)

    windows7电脑不受支持怎么办(windows7电脑不受支持怎么解决)

  • 荣耀10录屏功能在哪里(荣耀10录屏功能怎么开启)

    荣耀10录屏功能在哪里(荣耀10录屏功能怎么开启)

  • 手机投屏null是什么意思(手机投屏显示投屏失败)

    手机投屏null是什么意思(手机投屏显示投屏失败)

  • ipad怎么录屏录声音(ipad怎么录屏录到自己点了哪儿)

    ipad怎么录屏录声音(ipad怎么录屏录到自己点了哪儿)

  • 平板键盘怎么切换中文和英文(平板键盘怎么切换不了英文)

    平板键盘怎么切换中文和英文(平板键盘怎么切换不了英文)

  • 为什么淘宝限制我购买行为(为什么淘宝限制运费险)

    为什么淘宝限制我购买行为(为什么淘宝限制运费险)

  • 喜马拉雅vip为什么还要付费(喜马拉雅vip为什么还要买喜点)

    喜马拉雅vip为什么还要付费(喜马拉雅vip为什么还要买喜点)

  • oppor9splus自动重启是怎么回事(oppor9p自动重起怎么修)

    oppor9splus自动重启是怎么回事(oppor9p自动重起怎么修)

  • qq收藏怎么设置隐私(qq收藏怎么设置私密)

    qq收藏怎么设置隐私(qq收藏怎么设置私密)

  • 如何修改安装未知应用权限(如何修改安装未知应用权限华为P30)

    如何修改安装未知应用权限(如何修改安装未知应用权限华为P30)

  • 笔记本电脑长时间没用开不了机怎么办(笔记本电脑长时间不用怎么存放)

    笔记本电脑长时间没用开不了机怎么办(笔记本电脑长时间不用怎么存放)

  • 微信运动一般封多久能恢复(微信运动封面好看的壁纸男)

    微信运动一般封多久能恢复(微信运动封面好看的壁纸男)

  • 为什么哔咔无法注册(为什么哔咔无法下载最新版)

    为什么哔咔无法注册(为什么哔咔无法下载最新版)

  • a1691支持什么网络(a1691可以用联通吗)

    a1691支持什么网络(a1691可以用联通吗)

  • 淘宝怎么查自己几星级(淘宝怎么查自己花了多少钱)

    淘宝怎么查自己几星级(淘宝怎么查自己花了多少钱)

  • ios13三手指怎么关闭(iphone的三指手势)

    ios13三手指怎么关闭(iphone的三指手势)

  • 手机sd卡是手机自带的吗(手机sd卡是手机卡吗)

    手机sd卡是手机自带的吗(手机sd卡是手机卡吗)

  • 苹果11定位在哪里设置(苹果11定位在那里)

    苹果11定位在哪里设置(苹果11定位在那里)

  • 苹果xs广角怎么开(苹果xs的广角)

    苹果xs广角怎么开(苹果xs的广角)

  • 华为水滴屏手机有哪些(华为水滴屏手机有哪些型号)

    华为水滴屏手机有哪些(华为水滴屏手机有哪些型号)

  • 淘工厂怎么加入(怎么入驻淘工厂这个活动)

    淘工厂怎么加入(怎么入驻淘工厂这个活动)

  • 华为鸿蒙2.0正式版系统,对比安卓实测(华为鸿蒙os2.0发布)

    华为鸿蒙2.0正式版系统,对比安卓实测(华为鸿蒙os2.0发布)

  • 无法访问移动网络是怎么回事?手机无法访问移(无法访问移动网络怎么办)

    无法访问移动网络是怎么回事?手机无法访问移(无法访问移动网络怎么办)

  • b站B导的yoloV7版本添加注意力机制(b站导出预设)

    b站B导的yoloV7版本添加注意力机制(b站导出预设)

  • 2023年享受六税两费减免吗
  • 增值税几个点怎么算
  • 股权转让个人所得税如何计算
  • 公司年末报表
  • 小规模纳税人减半征收
  • 房地产公司土地价款抵扣的账务处理
  • 有限合伙企业合伙人分红纳税
  • 在筹建期间的费用属于什么
  • 车间管理人员工资总额占车间工资总额的10%
  • 预售房提前还款需要去解押吗
  • 小规模纳税人计提增值税账务处理
  • 支票只能同城吗
  • 未分配利润可以转实收吗
  • 分包开普通发票还是增值税专用发票?
  • 出租房屋收的押金合法吗
  • 旧机器设备出口
  • 购置土地税款怎么入账?
  • 剑灵配置要求2020官方
  • 买mac要买applecare么
  • 调账的基本原则
  • 举办活动购买的东西会计分录
  • php循环结构有哪几种语句
  • 行政单位如何将资产年报导入财报里
  • 差额承兑汇票办法规定
  • win10正版免费下载
  • php写木马
  • 发票开具的法定义务是什么
  • 目前最流行的婚纱照风格
  • 广告费和业务宣传费调增还是调减
  • 目前税收工作中存在的主要问题及对策
  • 单位缴费基数申报提交了能改吗
  • 前端实现文件下载列表
  • nodejs 2020
  • 简单的php文件
  • 企业不年报会怎么样
  • 合伙企业与公司一样具有高度的人合性
  • 数据库平移
  • 织梦怎么调用当前栏目下的文章
  • sqlserver2005 master与msdb数据库备份恢复过程
  • 库存商品盘亏计哪个科目
  • 小规模纳税人减按1%政策
  • 支付上个月运费
  • 商场联营扣点缴纳增值税税率
  • 结转是什么意思啊
  • 快递费用在线查询
  • 关于小微企业免征印花税的规定
  • 废品相关内容有哪些
  • 发票作废怎么写说明
  • 本单位职工可以在本单位兼职吗
  • 电脑更新windows11后开机一黑屏
  • windows server2012安装完没有桌面
  • win7麦克风没声音怎么设置方法从计算机
  • win10网络身份验证失败
  • 怎么提高xp系统运行速度
  • ubuntu下载net-tools
  • CentOS yum php mcrypt 扩展安装方法
  • splash.exe - splash是什么进程 有什么作用
  • 设置使用资源管理器查看文件时,显示已知文件的扩展名
  • mac safari浏览器网页不能正常显示
  • wind10升级
  • xp系统没无线网络连接怎么办
  • rhel6.5安装
  • cocos2dx游戏案例
  • opengl缓冲区
  • javascript entries
  • linux进程管理命令使用
  • python中字符
  • 详解中国女足出线形势
  • linux编写一个脚本
  • jquery中点击事件点击没动静
  • jquery?
  • ajax请求传参
  • Unity for Absolute Beginners(一)
  • javascript学习指南
  • 如何在电子税务局添加办税人员
  • 荒野大镖客2焦煤油与贪婪怎么开启
  • 税控专用设备包括哪些
  • 该纳税人还未申报,请申报成功后
  • 应聘保险公司需要了解什么
  • 我各位一个关于网上申报增值税所得税的申报流
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设