最近项目中遇到访问摄像头画面的需求,从来没接触过,最后参考一个老版本的webplugins控件接口实现了,但是版本比较老,2014年的接口说明,而且关于云台控制,调用接口后并不好使,也就是说仅仅查看监控画面,这些接口是足够了。

下面附上实现代码:

参数定义

//监控等参数声明var agent = navigator.userAgent.toLowerCase();var g_ocx;var PLUGINS_CLASSID = '7F9063B6-E081-49DB-9FEC-D72422F2727F';var VERSION_GUI = 'version=3,1,0,4'; //注意:本地GUI上版本信息显示需要的字符串,修改版本的时候这个字符串也要修改var Sys = {};var isMac = navigator.userAgent.toLowerCase().indexOf("mac") != -1;var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/(msie\s|trident.*rv:)([\d.]+)/)) ? Sys.ie = s[2] :(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;var PLUGINS_NAME = 'WebActiveEXE.Plugin.1';var hasPlugin = checkPlugins();var g_PlayTime;var g_curSpeed = 4;//默认的正常速度var htmlStChn1 = '';var realpath = '';var realport = '';var mainOcxHtml = '';var checkHtml = TestLL();var realIp = '';

检查浏览器是否存在视频插件

/*** 检测浏览器是否存在视频插件* @return {Boolean}*/function checkPlugins() {var result;if (Sys.ie) {try {result = new ActiveXObject(PLUGINS_NAME);delete result;} catch (e) {return false;}return true;} else {navigator.plugins.refresh(false);result = navigator.mimeTypes["application/media-plugin-version-3.1.0.2"];return !!(result && result.enabledPlugin);}}

初始化播放监控画面控件

 function TestLL(){if (Sys.ie) {mainOcxHtml = '<object id="ocx" width="100%" height="100%" classid="CLSID:{' + PLUGINS_CLASSID + '}"codebase="/webrec.cab"></object>';}else {mainOcxHtml = '<object id="ocx" width="100%" height="100%" type="application/media-plugin-version-3.1.0.2" VideoWindTextColor="9c9c9c" VideoWindBarColor="414141"></object>';}}function initPageOcx() {g_ocx = document.getElementById('ocx');}

根据ip和端口号登录及播放监控画面

function LoginDevice() {if (realpath != '' && realport != '') {g_ocx.DisConnectRealVideo(0);var bat = g_ocx.LoginDeviceEx(realpath, realport, "admin", "admin2018", 0);//"172.16.20.31"}g_ocx.SetModuleMode(1); //监视模式g_ocx.ConnectRealVideo(0, 1);WinSet();switch (bat) {case 1:alert('密码不正确');break;case 2:alert('用户名不存在');break;case 3:alert('登录超时');break;case 4:alert('帐号已登录');break;case 5:alert('帐号已被锁定');break;case 6:alert('帐号被列为黑名单');break;case 7:alert('资源不足,系统忙');break;case 8:alert('子连接失败');break;case 9:alert('主连接失败');break;case 10:alert('超过最大用户连接数');break;}}全屏function FullScreen() {g_ocx.OnFullScreenClk();}
//设置窗口数量function WinSet(){g_ocx.SetWinBindedChannel(1, 1, 1, 10);}

云台控制的接口虽然不好使,但还是把写的源码分享一下

 function test(){Ext.get("testUp").on("mousedown", function () {try { g_ocx.ControlPtzEx(0, 1, 0, 8, 0, 0); }catch (e) { alert(e.message);}});Ext.get("testUp").on("mouseup", function () {try { g_ocx.ControlPtzEx(0, 1, 0, 8, 0, 1); }catch (e) { alert(e.message); }});Ext.get("testDown").on("mousedown", function () {try { g_ocx.ControlPtzEx(0, 2, 0, 8, 0, 0); }catch (e) { alert(e.message); }});Ext.get("testDown").on("mouseup", function () {try { g_ocx.ControlPtzEx(0, 2, 0, 8, 0, 1); }catch (e) { alert(e.message); }});}

另外使用这个方法需要使用webplugins控件,控件和所有源码下载地址:https://download.csdn.net/download/qq_25086397/10765627

参考demo:https://download.csdn.net/download/qq_25086397/10766724

Extjs访问大华摄像头第一版相关推荐

  1. RTSP流访问大华摄像头

    RTSP流访问大华摄像头 参数 作用 username 用户名 passwd 密码 ip 摄像头ip port 摄像头端口 channel 通道号:1.2 subtypechannel 码流:主码流[ ...

  2. 大华摄像头使用外网进行访问管理

    设置大华摄像头外网访问方式有两种情况: 一.摄像头直接和光猫连接不和路由器相连的情况 这种情况下只要登录大华摄像头的管理端然后利用大华摄像头自己的DDNS设置配置好域名后则可以进行访问 二.摄像头是连 ...

  3. 音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面

    一.大华摄像头的RTSP地址格式 rtsp地址格式: rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0 ...

  4. C#访问大华网络摄像头

    第一次接触到大华摄像头,我想直接把dll往项目里面添加,失败了.我把设备网络SDK32位,64位的,播放库32位,64位的都尝试了一遍,均失败了.然后我直接摆烂了,去网上搜了老半天才搜出来一个能用的D ...

  5. java制作h5视频聊天_JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。...

    JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路. 2018-09-17 问题:大华IPC枪型摄像头需要在WEB中显示实时监控视频,官方提供的SDK只有C#的桌面程序访问方式. 解决 ...

  6. 大华摄像头使用外网接收数据

    获取摄像头数据的方法 方法有几种 1 rtsp 获取后转发到外网 2 直接配置大华摄像头发送到外网 第一种方法有缺陷,不直接,需要转发服务,但是一种比较可靠的方法,如果网络中不能直接发出去,只能通过转 ...

  7. WEB页面播放大华摄像头视频解决方案

    目前在网页上播放大华摄像头视频,有如下2种途径: 1)首选获取摄像头的hls协议地址,H5可直接播放 2)获取摄像头rtsp协议地址,用ffmpeg转换成hls再播放 近期做的一个项目,需要在WEB端 ...

  8. JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。

    问题:大华IPC枪型摄像头需要在WEB中显示实时监控视频,官方提供的SDK只有C#的桌面程序访问方式. 解决思路: RTSP协议访问方式将RTSP流转换成hls文件在H5的video播放器中进行播放实 ...

  9. 部署 WVP+ZLMediaKit 实现大华摄像头接入

    0. 整体部署安排 redis 服务:172.22.100.172:10284 ZLMediaKit:172.22.100.177 WVP:172.22.100.54 1. 部署 ZLMediaKit ...

最新文章

  1. 树形结构递归初始化(父节点,统计字段等)
  2. Java数字匹配的kmp算法
  3. xcode -饼状进度条
  4. 为什么大多数程序员都抽烟_为什么大多数重新设计都会失败
  5. 视频、画面、语言、文字与脑海、心灵
  6. LeetCode之快乐数
  7. PLC十字路口交通灯设计
  8. python实现马科维茨模型的资本市场线_基于Python的马科维茨投资组合理论的实证研究...
  9. 5G手机网优测试软件,5G测速WiFi测量仪
  10. Docker容器与本地文件相互拷贝
  11. jsp190ssm健身俱乐部会员管理系统
  12. python 四维数据怎么看性别_四维b超数据怎么看性别
  13. 纯净版ISO镜像下载大全(Windows、Linux、mac)
  14. Windows编程 第四回 Windows程序的生与死(下)
  15. 【学习】大数据关键技术
  16. [ISCC 2023] pwn部分
  17. sqlserver2005 sql server database services安装失败解决方法
  18. 在bpfTrace中使用USDT
  19. camunda如何清理或归档历史数据
  20. 设备调试伺服一周脉冲数设置参考

热门文章

  1. 14.1 Kahn算法
  2. selenium模拟网页的键盘鼠标操作
  3. 白色简洁网站html模板,白色简洁形式pc+wap个人作品集网页模板代码
  4. JavaSE---IO流基础(异常、File类、递归)
  5. 汇编学习之一: jge jnb 跳转指令 /*for 语句代码的汇编实现*/
  6. 记2019年1月9日微信之父张小龙演讲有感
  7. java 短信70个字分割_一条短信可以发送70个汉字或者是160个英文字母
  8. C语言bmp图片读写,画点,画线
  9. macbook pro换固态硬盘ssd与移植mac os x系统
  10. python将dataframe导出为csv_Pandas DataFrame如何转换为CSV?详细操作————