上个版本的大华摄像头监控的查看虽然可以达到初步效果,但是后续实现云台的控制等就无法实现了,所以后来采取了通过连接大华的dss平台来实现监控画面的查看和云台控制,实际的实现其实就是调用大华dss平台的接口,来实现功能。

代码实现:

Ext.onReady(function () {//提示Ext.QuickTips.init();Ext.get(window).on('onunload', function (e) {var obj = document.getElementById("DPSDK_OCX");obj.DPSDK_Logout();});//参数定义var gWndId = 0;var nDirect = -1;var nOper = -1;var gXmlRecords;var gRecordPath;var bLogin = 0;var bIVS = 1;var gVtCallWndNo = 0;var nStep = 1;var szCameraId = '';//var winPlay = '<object id="DPSDK_OCX" classid="CLSID:D3E383B6-765D-448D-9476-DFD8B499926D" style="width: 100%; height: 80%" codebase="DpsdkOcx.cab#version=1.0.0.0"></object>';//监控播放控件初始化function init() {var obj = document.getElementById("DPSDK_OCX");gWndId = obj.DPSDK_CreateSmartWnd(0, 0, 100, 100);ButtonCreateWnd_onclick();obj.DPSDK_SetLog(2, "D:\\DPSDK_OCX_log", false, false); //初始化后设置日志路径for (var i = 1; i <= 4; i++)obj.DPSDK_SetToolBtnVisible(i, false);obj.DPSDK_SetToolBtnVisible(7, false);obj.DPSDK_SetToolBtnVisible(9, false);obj.DPSDK_SetControlButtonShowMode(1, 0);obj.DPSDK_SetControlButtonShowMode(2, 0);}//设置播放窗口数量function ButtonCreateWnd_onclick() {var obj = document.getElementById("DPSDK_OCX");var nWndCount = 1;obj.DPSDK_SetWndCount(gWndId, nWndCount);obj.DPSDK_SetSelWnd(gWndId, 0);}//全屏显示function ButtonSetSmartWndFullScreen_onclick() {var obj = document.getElementById("DPSDK_OCX");var nWndNo = obj.DPSDK_GetSelWnd(gWndId);ShowCallRetInfo(obj.DPSDK_SetSmartWndFullScreen(gWndId), "全屏显示Smart窗口");//setTimeout("ExitFullScreenTimeout()", 2000);}//返回加载信息function ShowCallRetInfo(nRet, strInfo) {var str = "";if (nRet == 0) {str = strInfo + " 成功!";}else {str = strInfo + "失败!错误码:" + nRet;if (nRet == 19 || nRet == 20) {str += ",请先加载组织结构!";}}document.getElementById("RetInfo").innerText = str;//alert(str);}//登录function ButtonLogin_onclick() {var obj = document.getElementById("DPSDK_OCX");obj.DPSDK_Logout();var szIp = "192.168.46.155";var nPort = "9000";var szUsername = "admin";var szPassword = "admin2018";var nRet = obj.DPSDK_Login(szIp, nPort, szUsername, szPassword);//var nRet = obj.DPSDK_SingleLogin(szIp, nPort, szUsername, szPassword);ShowCallRetInfo(nRet, "登录");if (nRet == 0) {bLogin = 1;}//ButtonLoadDGroupInfo_onclick();}//加载组织结构,用于云台控制function ButtonLoadDGroupInfo_onclick() {var obj = document.getElementById("DPSDK_OCX");ShowCallRetInfo(obj.DPSDK_LoadDGroupInfo(), "加载组织结构");}//播放监控画面function ButtonStartRealplayByWndNo_onclick() {var obj = document.getElementById("DPSDK_OCX");//var szCameraId = '1000002$1$0$0';//通道var nStreamType = 1;//主码流var nMediaType = 1;//视频var nTransType = 1;//TCPvar nWndNo = obj.DPSDK_GetSelWnd(gWndId);var nRet = obj.DPSDK_StartRealplayByWndNo(gWndId, nWndNo, szCameraId, nStreamType, nMediaType, nTransType);ShowCallRetInfo(nRet, "播放视频");if (nRet == 0) {//insertRealplayHistory(szCameraId);ShowCallRetInfo(obj.DPSDK_SetIvsShowFlagByWndNo(gWndId, nWndNo, 1, bIVS), "规则线显示");//打开规则线显示ShowCallRetInfo(obj.DPSDK_SetIvsShowFlagByWndNo(gWndId, nWndNo, 2, bIVS), "目标框显示");//打开目标框显示ShowCallRetInfo(obj.DPSDK_SetIvsShowFlagByWndNo(gWndId, nWndNo, 3, bIVS), "轨迹线显示");//打开轨迹线显示}}//云台控制function ButtonPtzDirection_onclick(nDirects) {var obj = document.getElementById("DPSDK_OCX");//var szCameraId = '1000002$1$0$0';nDirect = nDirects;ShowCallRetInfo(obj.DPSDK_PtzDirection(szCameraId, nDirect, nStep, 0), "方向控制");//setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 1000);}function ButtonPtzDirection_onclickStop(bStop) {var obj = document.getElementById("DPSDK_OCX");//var szCameraId = '1000002$1$0$0';//var nStep = 4;ShowCallRetInfo(obj.DPSDK_PtzDirection(szCameraId, nDirect, nStep, bStop), "方向控制");}//监控画面var video = new Ext.Panel({//Ext.create('Ext.panel.Panel', {id: 'play',width: 1000,height: 560,html: '<object id="DPSDK_OCX" classid="CLSID:D3E383B6-765D-448D-9476-DFD8B499926D" style="width: 100%; height: 95%" codebase="DpsdkOcx.cab#version=1.0.0.0"></object>'+ '<div style="width: 90%;height: 30px;overflow: auto;" id="RetInfo"></div>',listeners: {afterRender: function () {setTimeout(init, 100);setTimeout(ButtonLogin_onclick, 100);setTimeout(ButtonLoadDGroupInfo_onclick, 100);//init();//ButtonLogin_onclick();}},dockedItems: [{xtype: 'toolbar',height: 30,items: [{text: '开始监控',width: 70,handler: function () {if (szCameraId == "")alert("请先选择监控摄像头!");elseButtonStartRealplayByWndNo_onclick();}},'-',{text: '全屏',width: 70,handler: function () {ButtonSetSmartWndFullScreen_onclick();}},'-',{text: '下载',width: 70,handler: function () {//window.open("../../../../Files/库文件.rar");window.open("../../../../Files/ocx.exe");}},'<div>提示:首次使用监控请下载监控插件,双击运行插件。</div>',]}]});//树结构var treeStore = Ext.create('Ext.data.TreeStore', {proxy: {type: "ajax",actionMethods: { read: "POST" },url: "YTPlay.aspx?method=GetAllYT",reader: { type: 'json' }}});treeStore.load();var tree1 = new Ext.create('Ext.tree.Panel', {title: '监控区域',rootVisible: false,listeners: {containercontextmenu: function (ee, e, eOpts) //容器上的右键菜单{e.preventDefault(); //禁止容器上进行右键},itemclick: function (ee, record, item) //单击{var theId = record.data["id"];var parentId = record.data["parentId"];if (parentId != "root") {//通过ajax方式获取指标信息Ext.Ajax.request({url: "YTPlay1.aspx?method=GetOneIndex",method: 'POST',params: {indexId: theId},success: function (response) {var json = eval('(' + response.responseText + ')'); //字符串转换为JSONvar jsonStore = Ext.create('Ext.data.JsonStore', {data: json,fields: ['Passageway'],autoLoad: true});szCameraId = response.responseText;szCameraId = szCameraId.split(':')[1];szCameraId = szCameraId.split('}')[0];szCameraId = szCameraId.split('"')[1];}});}}},store: treeStore});/页面总布局///var viewport = Ext.create('Ext.container.Viewport', {layout: 'border',items: [{region: 'center',border: 0,bodyStyle: 'padding: 6px;',layout: 'border',items: [{region: 'west',width: 250,border: 0,layout: 'fit',collapsible: true,collapsed: false,  //控制页面加载时菜单是否展开split: true,items: tree1},{region: 'center',border: 0,layout: 'border',items: video},{title: '云台操作',region: 'east',width: 250,border: 0,layout: 'fit',collapsible: true,collapsed: false,  //控制页面加载时菜单是否展开split: true,dockedItems: [{xtype: 'toolbar',height: 30,items: [{id: 'leftTop',text: '左上',width: 70,handler: function () {ButtonPtzDirection_onclick(5);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("leftTop").on("mousedown", function () {//    ButtonPtzDirection_onclick(5);//    alert(1);//});//Ext.get("leftTop").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(5);//ButtonPtzDirection_onclickStop(1);}},'   ',{id: 'top',text: '上',width: 70,handler: function () {ButtonPtzDirection_onclick(1);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("top").on("mousedown", function () {//    ButtonPtzDirection_onclick(1);//    alert(2);//});//Ext.get("top").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(1);//ButtonPtzDirection_onclickStop(1);}},'   ',{id: 'rightTop',text: '右上',width: 70,handler: function () {ButtonPtzDirection_onclick(7);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("rightTop").on("mousedown", function () {//    ButtonPtzDirection_onclick(7);//});//Ext.get("rightTop").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(7);//ButtonPtzDirection_onclickStop(1);}}]},{xtype: 'toolbar',height: 30,items: [{id: 'left',text: '左',width: 70,handler: function () {ButtonPtzDirection_onclick(3);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("left").on("mousedown", function () {//    ButtonPtzDirection_onclick(3);//});//Ext.get("left").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(3);//ButtonPtzDirection_onclickStop(1);}},'   ',{text: '',width: 70,handler: function () {//ButtonPtzDirection_onclickStop(1);}},'   ',{id: 'right',text: '右',width: 70,handler: function () {ButtonPtzDirection_onclick(4);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("right").on("mousedown", function () {//    ButtonPtzDirection_onclick(4);//});//Ext.get("right").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(4);//ButtonPtzDirection_onclickStop(1);}}]},{xtype: 'toolbar',height: 30,items: [{id: 'leftBottom',text: '左下',width: 70,handler: function () {ButtonPtzDirection_onclick(6);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("leftBottom").on("mousedown", function () {//    ButtonPtzDirection_onclick(6);//});//Ext.get("leftBottom").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(6);//ButtonPtzDirection_onclickStop(1);}},'   ',{id: 'bottom',text: '下',width: 70,handler: function () {ButtonPtzDirection_onclick(2);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("bottom").on("mousedown", function () {//    ButtonPtzDirection_onclick(2);//});//Ext.get("bottom").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(2);//ButtonPtzDirection_onclickStop(1);}},'   ',{id: 'rightBottom',text: '右下',width: 70,handler: function () {ButtonPtzDirection_onclick(8);setTimeout(function () { ButtonPtzDirection_onclickStop(1); }, 100);//Ext.get("rightBottom").on("mousedown", function () {//    ButtonPtzDirection_onclick(8);//});//Ext.get("rightBottom").on("mouseup", function () {//    ButtonPtzDirection_onclickStop(1);//});//ButtonPtzDirection_onclick(8);//ButtonPtzDirection_onclickStop(1);}}]},]}]}]});});

代码没有做详细解释,如果不懂,可以参考大华连接dss平台的webdemo,里面包括demo和几个特例和SDK开发手册,看完后对于实现应该不会有大问题。

demo连接:https://download.csdn.net/download/qq_25086397/10766756

另外还有两个一个是64位ocx控件打包cab和exe的方法,另一个32位ocx控件打包cab和exe的方法,是一个不错的工具,有需要的可以进行下载。

下载地址32:https://download.csdn.net/download/qq_25086397/10766903

64:https://download.csdn.net/download/qq_25086397/10766908

通过连接大华dss平台来实现查看摄像头画面和实现云台控制功能Extjs相关推荐

  1. 大华平台linux密码,大华DSS平台低权限账户越权直接修改system密码

    大华DSS平台低权限账户越权直接修改system密码 前提:拥有config配置用户名密码 被测试DSS版本信息:V3.11.003.R.20150929.374164 前提:拥有config配置用户 ...

  2. onvif协议_大华的录像机添加海康摄像头,使用了onvif协议,为啥也添加不进去?...

    大华的录像机添加海康摄像头在监控项目中经常会遇到,有很多的项目我们使用并不是同一个厂家的设备. 前段时间我们弱电vip技术2群中讨论到一个问题,关于大华的录像机添加海康摄像头为什么总是不成功,很多情况 ...

  3. 大华管理平台用户名_大华HOC智慧物流可视化联网追溯解决方案,助力物流行业更高效...

    点击上方蓝字关注"大华行业" 随着电商产业的高速发展,物流已经成为人们生活中必不可少的一环.同时,作为国民经济的重要组成部分,物流行业所涉及到的领域也越来越广. 问题凸显 对监管部 ...

  4. 大华供应链管理平台_files_锦江全球采购平台SRM系统2.0版本上线 打造更智能的供应链...

    近期,由甄云科技携手全球知名酒店品牌供应链企业上海锦江联采供应链有限公司,共同打造的SRM2.0项目,在双方的不懈努力下,成功上线,意味着上海锦江联采供应链有限公司正式迈入采购数字化新时代. 锦江全球 ...

  5. 大华webplugin控件无法安装_大华监控平台SmartPSS如何上电视墙,一文包你学会

    弱电安防这块,监控系统在弱电中绝对占合同金额比非常高的系统,在国产监控厂家海康.大华.宇视,这三家在国内做非常大的,工程施工调试中最多的要么海康,要么大华,哪如何把监控摄像头在监控电视墙上显示.今天我 ...

  6. 大华管理平台用户名_智能财务引领商业与管理变革——浙大EMBA首席财务官研习社走进大华股份...

    杭商传媒记者  周  珂/文   徐青青/摄 编辑 何影丹 当前经济环境和市场需求瞬息万变,企业竞争日益激烈,盈利持续下降,产品.服务同质化严重,这不仅对业务部门提出了挑战,也对传统的财务管理产生了巨 ...

  7. 大华DSS视频综合应用平台webservice接口使用手册-php测试用例

    1.接口访问地址 http://ip:port/admin/services/AdminWebService?wsdl 2.通用jsonParam 及 返回值的定义 本系统只有一个通用接口函数,通过接 ...

  8. 大华的支持rtmp推流吗_海康大华DSS视频拉流-RTSP转RTMP多媒体播放技术

    To view this video please enable JavaScript, and consider upgrading to a web browser that supports H ...

  9. 大华视屏监控对接集成

    @大华视屏监控对接 大华视屏监控结构图 视屏监控主要有三部分组成: 1.网络摄像机IPC,也就是摄像头,摄像头可以接入到NVR,也可以直接接入到DSS:一个IPC对应一个IP地址 2.网络硬盘录像机N ...

最新文章

  1. Attention跟一维卷积有什么区别?
  2. Xamarin XAML语言教程基本页面ContentPage占用面积
  3. Oracle Database 快捷版 安装 连接
  4. 220v变12v初级线圈匝数_12V升220V升压变压器线圈绕法计算
  5. uva 11991 (map vector 嵌套)
  6. 区块链101:区块链的应用和用例是什么?
  7. mysql5.7安装教程centos_MySQL5.7版CentOS系统简易安装教程
  8. c python 内存冲突_Python在计算内存时应该注意的问题?
  9. golang actor模型探索
  10. [转] 关于MSCOMM控件的一些说明
  11. xshell与xftp免费版
  12. 计算机慢怎么解决6,电脑运行速度慢怎么回事 电脑运行速度慢的解决方法
  13. 集团版固定资产管理系统方案
  14. 椭圆曲线加密中定义的加法运算
  15. 外国人申请居留许可服务指南(中英文)
  16. layui搭建后台管理系统
  17. c 语言让电脑自动关机,C语言编写简单的定时关机程序
  18. 英语论文常用词汇句式积累
  19. 平面设计和ui设计_美丽的平面UI设计展示
  20. 2018软创北京游记

热门文章

  1. numpy数组中round, around, rint, ceil, floor, modf, trunc, fix函数的区别
  2. kali安装w3af
  3. 使用 robotstudio 创建自己的工具
  4. 【浙政钉埋点】Vue中使用浙政钉的埋点详解
  5. [20190531]ORA-600 kokasgi1故障模拟与恢复(后续).txt
  6. 计算机网络第八章ppt,计算机网络-第八章.ppt
  7. CentOS 恢复 rm -rf * 误删数据--extundelete
  8. SpringBoot---------Redis
  9. 3.1 Go语言中的函数与方法
  10. 基于MAML的改进方法总结