海康web3.0使用记录

2023-05-16

项目中集成海康web3.0控制摄像头
近期项目中的业务需求涉及播放控制实时监控,采用了海康web3.0的开发包,开发包规范是32位IE11浏览器,业务前期本来只是播放rtsp流的监控,所以采取了VLC插件进行播放,后期需求增加,要进行云台控制,然后就采用了海康web3.0开发控件。
一,VLC提一下,需要下载VLC插件,使用了3.0以上版本,不过也没太多运用,api实现了控制全屏,画面比例,还有就是动态控制播放地址使用的api;
标记的地方就是流地址,IE浏览器-安装插件-地址正确-正常播放
二,海康web3.0开发包,需要安装一个WebcomponentsKit.exe插件,在codebase文件夹下,使用的是32位,插件对应的也是32位,版本为3.0.6.2(在网上看到貌似说插件版本和webVideoCtrl.js版本对应才能成功运行demo)
1.安装插件前IE浏览器还需要改动一些设置,点击IE浏览器的设置,找到【 Internet 选项】:
点击自定义级别
2.找到【ActiveX 控件和插件】:
这个ActiveX相关的选项,一把梭全部启用或开启提醒。。。
3.IE设置完毕就可以打开demo了:
安装插件之后打开demo.html,不需要将demo部署到容器也可以运行的
IE设置ActiveX之后,打开demo.html会出现这个提示,点击允许。。
注意哦:因为开发包我也是网上找的,原本的在demo.html中的最底部,引入了demo.js,这个引入方式是原开发包的
之后将引入方式改为:更改后

4.下面是成功打开demo的页面:
标记中的四个参数是运行成功的关键
5.我这边只有监控的rtsp地址,格式如下:
rtsp://账号:密码@xxx.xxx.xxx.xxx:554/xxxx/xxx/xxx/av_stream
对应填写账号密码及ip,端口(554是rtsp端口,标记中的端口号并不是554,应该是摄像头的端口),点击登录–点击开始预览,就可以成功播放监控了。

三,页面引入demo,demo功能挺全的,一般都是需要什么功能移植到页面就是,只要demo运行成功,后面的功能就是搬砖了:
1.把需要的部分js放在项目下:(demo.css,demo.js,demoWeb.js,jquery-1.7.1.min.js,webVideoCtrl.js)
2.控制页面需要的部分布局:

<div id="divPlugin" class="plugin" style="float: left;"></div>
  <div  style="float: left;width: 180px;height: 100%;">
     <div style="height: 35px;line-height:35px;width: 100%;margin-top: 10px;text-align: center;">
      <input type="button"  class="layui-btn layui-btn-radius" value="开始预览" onclick="clickStartRealPlay();" />
    </div>
    <div style="height: 35px;line-height:35px;width: 100%;margin-top: 15px;text-align: center;">
      <input type="button"  style="height: 35px;width:85px;background-color:#FF5722;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 100px;cursor: pointer;display: inline-block;" value="相机抓图" onclick="clickCapturePic();" />
    </div>
    
    <div style="height: 35px;line-height:35px;width: 100%;text-align: center;margin-top: 10px;">
      <input type="button" style="height: 30px;width:60px;background-color:#1E9FFF;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 100px;cursor: pointer;display: inline-block;"  value="变倍+" onmousedown="PTZZoomIn()" onmouseup="PTZZoomStop()">
      <input type="button" style="height: 30px;width:60px;background-color:#1E9FFF;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 100px;cursor: pointer;display: inline-block;"  value="变倍-" onmousedown="PTZZoomout()" onmouseup="PTZZoomStop()">
    </div>
    <div style="margin-top: 8px;text-align: center;">
       <table cellpadding="0" cellspacing="3" border="0" style="margin:auto">
        <tr style="height: 35px;">
            <td>
                <input type="button" class="inpBtn" value="左上" onmousedown="mouseDownPTZControl(5);" onmouseup="mouseUpPTZControl();" />
                <input type="button" class="inpBtn" value="上" onmousedown="mouseDownPTZControl(1);" onmouseup="mouseUpPTZControl();" />
                <input type="button" class="inpBtn" value="右上" onmousedown="mouseDownPTZControl(7);" onmouseup="mouseUpPTZControl();" />
            </td>
        </tr>
        <tr style="height: 35px;">
            <td>
                <input type="button" class="inpBtn" value="左" onmousedown="mouseDownPTZControl(3);" onmouseup="mouseUpPTZControl();" />
                <input type="button" class="inpBtn" value="自动" onclick="mouseDownPTZControl(9);" />
                <input type="button" class="inpBtn" value="右" onmousedown="mouseDownPTZControl(4);" onmouseup="mouseUpPTZControl();" />
            </td>
        </tr>
        <tr style="height: 35px;">
            <td>
                <input type="button" class="inpBtn" value="左下" onmousedown="mouseDownPTZControl(6);" onmouseup="mouseUpPTZControl();" />
                <input type="button" class="inpBtn" value="下" onmousedown="mouseDownPTZControl(2);" onmouseup="mouseUpPTZControl();" />
                <input type="button" class="inpBtn" value="右下" onmousedown="mouseDownPTZControl(8);" onmouseup="mouseUpPTZControl();" />
            </td>
        </tr>
    </table>
    </div>
    
  </div>
       <input id="rtspport" type="hidden" class="txt" />   
       <select id="streamtype" class="sel" style="display: none;">
            <option value="1">主码流</option>
       </select>     
       <select id="ip" class="sel" onchange="getChannelInfo();getDevicePort();" style="display: none;"></select>          
       <select id="channels" class="sel" style="display: none;"></select>
       <select id="captureFileFormat" name="captureFileFormat" class="sel" style="display: none;">
                    <option value="0">JPEG</option>
        </select>
          <select id="netsPreach" name="netsPreach" class="sel" style="display: none;">
                    <option value="0">最短延时</option>
                </select>
                <select id="wndSize" name="wndSize" class="sel" style="display: none;">
                    <option value="0">充满</option>
                </select>
                  <select id="rulesInfo" name="rulesInfo" class="sel"  style="display: none;">
                    <option value="1">启用</option>
                </select>
                  <select id="packSize" name="packSize" class="sel" style="display: none;">
                    <option value="0">256M</option>
                </select>
                 <select id="protocolType" name="protocolType" class="sel" style="display: none;">
                    <option value="0">TCP</option>
                </select> 
           <script src="/resource/layuiadmin/layui/layui.all.js"></script>
			<script src="/resource/js/hk/jquery-1.7.1.min.js"></script>
			<script id="videonode" src="/resource/js/hk/webVideoCtrl.js"></script>
			<script src="/resource/js/hk/demo.js"></script>

页面使用了layui组件,忽略。。。直接加载js函数:

$(document).ready(function(){
 	changeWndNum(1);
	clickLogin('你的IP','你的端口','你的账号','你的密码'); 
});	

ok!基本功能移植成功。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

海康web3.0使用记录 的相关文章

  • 【Web3 系列开发教程——创建你的第一个 NFT(8)】如何开发一个成功的 NFT 项目

    本文首发自 前端修罗场 点击加入 是一个由 资深开发者 独立运行 的专业技术社区 我专注 Web 技术 Web3 区块链 答疑解惑 面试辅导以及职业发展 博主创作的 Web3 实战教程 点击订阅 已经帮助许多开发者成功铸造 NFT 内容浅显
  • 【Web3 系列开发教程——创建你的第一个 NFT(7)】创建一个 NFT DApp,给你的 NFT 赋予属性,例如图片

    在本文中 你将构建一个 NFT 铸币机 并学习如何通过使用 Metamask 和 Web3 工具将你的智能合约连接到 React 前端 来创建一个NFT dApp 我认为 对于具备 Web2 开发背景的开发者来说 最大的挑战之一是弄清楚如何
  • 月报总结|Moonbeam 8月份大事一览

    夏日已经趋近尾声 脚下的这片土地正迎来凉爽的秋天 Moonbeam在最炎热的8月中 依然朝着其愿景不断向前迈进 Moonbeam生态也迎来了许多好消息 先前启动的第二批生态Grant计划也完成了最后的链上投票 3个项目成功通过投票 将获得G
  • 如何打造优秀Web3产品

    近日 我们采访了Mysten Labs的联合创始人兼首席执行官Evan Cheng 探讨了Web3技术对消费者的价值 Web3行业应该如何更好地自我诠释 以及它对产品开发的影响 您曾谈到Web3作为一种所有权实验 这种新技术可能会改变消费者
  • 众享比特董事长严挺出席2022中国计算机大会“元宇宙、Web3.0、NFT:机遇还是泡沫?”技术论坛

    12月10日晚 为期三天的2022中国计算机大会 2022CNCC 成功落下帷幕 众享比特董事长严挺出席 元宇宙 Web3 0 NFT 机遇还是泡沫 技术论坛并参与专题研讨 第三行左一为众享比特董事长严挺 中国计算机大会 CNCC 是由中国
  • 2023必须掌握的10大Web3技术

    2023必须掌握的10大Web3技术 1 区块链技术 Blockchain Technology 2 智能合约 Smart Contracts 3 物联网 IoT Internet of Things 4 云计算 Cloud Computi
  • Web3的2048,Sui 8192能否打开全链游戏的大门?

    作者 Peng SUN Foresight News Sui 8192 一局游戏就是一个NFT Sui 8192智能合约基于Move语言编写 构成非常简单 包括游戏 Game Board与排行榜 Leaderboard 三部分 覆盖方块移动
  • 全方位解读Web3域名:DID基石、NFT新增长点

    1 Web3域名在NFT市场整体低迷的背景下表现出色 2 Web3域名有庞大的用户群体和巨大的上升空间 3 Web3域名是用户重要的Web3身份凭证 可使用域名访问全链应用 4 Web3域名长期来看使用大于炒作 今年下半年 Web3域名在N
  • 为什么 Web3 社交将超越其 Web2 同行

    我们最近听到了很多关于 web3 社交媒体平台的消息 但如果你没有跟上 你可能想知道为什么我们已经有了 Twitter Facebook Instagram 等 我们还需要 web3 社交 好吧 这一切都取决于谁拥有权力 在 web2 中
  • Web3 入门手册:从认知到实践

    如果你也喜欢 Web3 希望在这做些有趣的 有意义的事情 那么我希望这篇文章可以帮助到你 送给想要进入 Web3 或者刚刚进入 Web3 的小伙伴 但是考虑到两点原因 我还是打算把这件事推迟一些时日 一是在各大媒体都鼓吹 All In We
  • 怎么使用Web3.js开发一个简单的Dapp

    通过这篇文章 我们将学习 Dapps 和 Web3js 的基础知识 让我们了解一下基本术语 区块链 去中心化应用程序 以太坊 智能合约 web3js 区块链 区块链是一个可审计且不可逆的数据库 其中数据只能添加 在区块链中 数据可以作为块添
  • 【Web3.0大势所趋】下一代互联网的未来

    前言 Web3 0 是一个越来越受到关注的话题 它被认为将会带来天翻地覆的变化 本文我们一起来谈谈 Web3 0 的概念 特点和优势 并探讨它为什么如此重要和具有革命性的 文章目录 前言 Web3 0是什么 区块链技术 智能合约 总结 We
  • 你认为DAO是否可行?新年计划,卯足干劲,兔必No.1

    文章目录 课前小差 聚沙成塔 社会价值 DAO是什么 国产化 商业化回报 写在最后 课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得倒CSDN王总的授权 来对于我们每周四的绿萝时间 直达CSDN 直播内容进行总结概括 让大家
  • 手把手教你区块链java开发智能合约nft(第四篇)-如何动态获取gasPrice和gasLimit?

    手把手教你区块链java开发智能合约nft 第三篇 如何动态获取gasPrice和gasLimit 初学区块链 那真叫一个痛苦并无助 如果没有人带你的话 今天写的这篇是在前面文章基础上写的 初学区块链的朋友建议先看我前面写的文章 手把手教你
  • Web3存储赛道Arweave(AR)

    Arweave简介 Arweave的愿景是成为一座新的亚历山大图书馆 旨在成为世界知识的普遍宝库 Arweave是一个类似FileCoin的新的去中心化存储平台 Arweave通过区块链的方式实现 文件存在每一个区块上 Arweave原来的
  • 深入了解Bear Necessities Hackathon黑客松的优胜者们

    生态系统中的资深建设者皆知道Moonbeam是大型黑客松狂热爱好者 不论是线上虚拟的还是现场的 然而 很少有黑客松能达到Moonbeam和AWS举办的Bear Necessities黑客松这样的规模和吸引力 本次黑客松共有755人参与 共提
  • 「Bomkus 博士的试炼」排行榜规则更新

    亲爱的玩家们 为了回应我们从社区收到的宝贵反馈 我们希望与大家分享我们为防止在 Bomkus 博士的试炼 排行榜中作弊而采取的措施的最新进展 并就这一主题提供更多说明 除了在活动开始前采取的反作弊措施外 我们还根据观察到的和报告的行为在整个
  • Cumulus Encrypted Storage System(CESS)激励测试网 v0.7.5 于11月29日正式上线

    Cumulus Encrypted Storage System CESS 是基于区块链的去中心化云存储网络和 CDN 网络 支持数据在线存储和实时共享 为 Web3 高频动态数据的存储和检索提供全栈解决方案 CESS 数据价值网络是以 D
  • Move 向未来,2024 开发者大会热潮涌动

    1 月 13 日至 14 日 2024 Move 开发者大会 Move 生态关键的一年 将于上海举办 本次大会由 MoveFuns OpenBuild 和 MoveBit 主办 Rooch AptosGlobal alcove zkMove
  • 申泰勇教练的独家人物化身系列即将登陆 The Sandbox

    申泰勇 Shin Tae yong 教练是足球界的传奇人物 他来到 The Sandbox 推出了自己的专属人物化身系列 作为前 K 联赛中场球员和印尼队取得历史性成就的幕后教练 他的传奇经历现在已经影响到了虚拟世界 向过去 现在和未来致敬

随机推荐

  • STM32串口自定义数据接收协议

    文章目录 写在前面0 需求1 问题产生1 1 模块 43 上位机实验1 2 电路板串口数据接收实验1 3 问题来了 xff01 2 开始分析2 1 串口数据格式2 2 测一波波形 3 代码分析4 新的问题 xff1a 串口数据累加总结 写在
  • 科普:电池的保护电路

    科普 xff1a 电池的保护电路 http www cnbeta com articles 204504 htm
  • 汇编语言基础知识-寄存器

    汇编语言基础知识 寄存器 寄存器是距离CPU中最近的存储单元 xff0c 对于现代CPU其获取数据的顺序往往是 CPU 61 61 gt 寄存器 61 61 gt 一级缓存 61 61 gt 二级缓存 61 61 gt 三级缓存 61 61
  • ERROR:未定义标识符“cout“、“endl“

    ERROR情况 xff1a 未定义标识符 span class token string 34 cout 34 span 未定义标识符 span class token string 34 endl 34 span 问题原因 xff1a c
  • VSCode格式化快捷键

    Shift 43 Ctrl 43 F
  • Linux内核源代码分析一(Linux0.12)

    Linux内核源代码分析一 xff08 Linux0 12 xff09 Linux 内核主要由 5 个模块构成 xff0c 它们分别是 xff1a 进程调度模块 内存管理模块 文件系统模块 进程间通信模块和网络接口模块 1 引导启动程序 x
  • Qt类继承关系以及所属模块关系一览表

    Qt类关系一览表 高清版下载 xff1a Qt类继承关系以及所属模块关系一览表 更多内容请关注个人博客 xff1a https blog csdn net qq 43148810
  • cartographer主从机rviz订阅地图出错

    参考 xff1a https answers ros org question 261071 rviz client md5sum error ERROR 1563347805 272316618 Client rviz wants top
  • Gooseeker软件使用教程

    因为课程需要使用到Gooseeker软件 xff0c 写个使用教程防止以后忘记 安装好gooseeker软件 xff0c 下图为安装好的界面 xff1a 点击右上方的 MS谋数台 xff0c 弹出如下界面 xff1a 在左上方的网址栏输入想
  • HTTP Auth认证请求(附代理)-代码篇

    2种方式 方式一 xff1a Http请求头上添加Basic Authentication认证 httpPost httpPost addHeader Authorization 34 Basic 34 43 Base64 encodeBa
  • Makefile以及CMakelists的编辑

    1 概念 在linux中不像windows和mac有图形界面 xff0c 怎么快速的用命令行运行大型项目成为一个问题 xff0c 并且像c c 43 43 需要自己添加include文件的位置 xff0c 当文件数目变多的时候 xff0c
  • python爬虫练习1:计算评分平均值

    练习要求 xff1a 抽取某本书的前50条短评内容并计算评分的平均值 提示 xff1a 有的评论中并不包含评分 代码 xff1a span class token comment coding utf 8 span span class t
  • python爬虫练习2:取道指成分股数据

    练习要求 xff1a 在 http money cnn com data dow30 上抓取道指成分股数据并将30家公司的代码 公司名称和最近一次成交价放到一个列表中输出 代码 xff1a span class token comment
  • python中sort函数的使用

    转自https blog csdn net lyy14011305 article details 76148512 我们需要对List进行排序 xff0c Python提供了两个方法 对给定的List L进行排序 xff0c 方法1 用L
  • Python序列与文件编程练习

    练习一 xff1a 使用以下语句存储一个字符串 xff1a string 61 My moral standing is 0 98765 将其中的数字字符串转换成浮点数并输出 代码 xff1a span class token commen
  • 简单平台用户信息管理系统

    要求 xff1a 用字典创建一个平台的用户信息 xff08 包含用户名和密码 xff09 管理系统 xff0c 新用户可以用与现有系统帐号不冲突的用户名创建帐号 xff0c 已存在的老用户则可以用用户名和密码登陆重返系统 实现代码 xff1
  • DataFrame小练习

    练习要求 xff1a 已知有一个列表中存放了一组音乐数据 xff1a music data 61 the rolling stones Satisfaction Beatles Let It Be Guns N Roses Don t Cr
  • nenuacm 2019 新生训练#10 字符串处理 题解

    题目链接 Ultra Fast Mathematician 解题思路 xff1a 题目说辣么多 xff0c 其实就是将两个二进制进行异或运算 xff1a 相同位上的数字相同 xff0c 异或结果为0 xff0c 否则为1 AC代码 span
  • 比较两个字符串大小(C语言)

    比较两个字符串的大小 比较两个字符串的大小 xff0c 不许使用strcmp函数 输入格式 在两行分别输入两个长度小于20的字符串 在字符串中不要出现换行符 xff0c 空格 xff0c 制表符 输出格式 直接输出 gt 或 lt 或 61
  • 海康web3.0使用记录

    项目中集成海康web3 0控制摄像头 近期项目中的业务需求涉及播放控制实时监控 xff0c 采用了海康web3 0的开发包 xff0c 开发包规范是32位IE11浏览器 xff0c 业务前期本来只是播放rtsp流的监控 xff0c 所以采取