1,使用在页面中调用ActiveX控件

         <object classid='clsid:E7EF736D-B4E6-4A5A-BA94-732D71107808' codebase='' standby='Waiting...' id='PreviewActiveX' width='100%' height='100%' name='ocx' align='center'>
<param name='wndtype' value='1'>
<param name='playmode' value='undefined'>
</object>

这里的

classid,是ActiveX控件的编号,可以在注册表中查到

codebase,是控件没有安装的情况下需要去查找的路径,通常后面要加上版本号.如:codebase/NetVideoActiveX23.cab#version=2,3,9,1

param,   子节点的param则是该控件的参数列表

注意:这里的activex是微软开发且闭源的,仅适用于IE(本人一直用的是Chrome所以一直不显示控件,这里提醒一下)

Firefox和Chrome需要安装特定的插件:

    如果chrome安装:ActiveX for Chrome (未测试)

    如果是Firfox安装:npActivexPlugin(未测试)

2,操作说明这里的海康视频监控有两个OCX控件供调用

一个是 NetVideoActiveX23.ocx

另一个是WebVideoActiveX.ocx

*区别这里我没找到,如果知道的可以留言说一下~

我在用的时候是用的WebVideoActiveX.ocx

因为NetVideoActiveX23.ocx我尝试调用StartRealPlay方法总是返回-1,所以预览不成功,然后就改用WebVideoActiveX.ocx

cmd下注册WebVideoActiveX.ocx:regsvr32 WebVideoActiveX.ocx

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="script/Jquery.js"></script>
<script src="script/mjpegPlugin.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>10.24.1.114V23</title>
<script src="script/dvr.js"></script>
<script src="script/js.js"></script>
</head>
<body>
<%--<div style="margin: 0px; width: 600px; height: 300px; background-color: #343434" id="main_plugin"></div>--%>
<div style="width: 640px; height: 480px; margin: auto auto;">
<object classid='clsid:E7EF736D-B4E6-4A5A-BA94-732D71107808' codebase='' standby='Waiting...' id='PreviewActiveX' width='100%' height='100%' name='ocx' align='center'>
<param name='wndtype' value='1'>
<param name='playmode' value='undefined'>
</object>
</div>
<div style="float: left">
<div>
<input type="button" value="初始化插件" onclick="InitPreviewOCX()" />
</div>
<div>
<select id="wintype">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="button" value="设置窗口模式" onclick="InitWindow()" />
</div>
<div>
<span style="margin-right: 20px">窗口号:
<select id="winNum">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
</span>
<span>通道号:
<select id="chanelNum">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
</span>
<input type="button" value="预览" onclick="StartRealPlay()" />
</div>
</div>
</body>
</html> <script type="text/javascript"> var m_PreviewOCX = null
var ipAddress = "192.168.13.211";
var rstpPort = "554";
var userPwd = "YWRtaW46MTIzNDU=" //初始化OCX插件
function InitPreviewOCX() {
//if (!checkPlugin()) {
// m_PreviewOCX = $("#mjpegPlugin").mjpegPlugin();
//}
setTimeout(m_PreviewOCX = document.getElementById("PreviewActiveX"), 5000);
} function InitWindow() {
//iWindowType 画面分割模式。 1 - 1窗口模式,2 - 4窗口模式,3 - 9窗口模
var iWindowType = $("#wintype").val(); m_PreviewOCX.HWP_ArrangeWindow(iWindowType);
} function StartRealPlay() {
var iChannelNum = $("#chanelNum").val();
var iWinNun = $("#winNum").val();
var rstpUri = "rtsp://" + ipAddress + ":" + rstpPort + "/PSIA/streaming/channels/" + (iChannelNum * 100 + 1);
m_PreviewOCX.HWP_Play(rstpUri, userPwd, iWinNun, "", ""); } function GetSelectWndInfo(SelectWndInfo) { }
function GetAllWndInfo(RealplayInfo) { }
function PluginEventHandler(iEventType, iParam1, iParam2) { }
function SetZeroChanEnlarge(EnlargeInfo) { } </script> <script for="PreviewActiveX" event="GetSelectWndInfo(SelectWndInfo)">
GetSelectWndInfo(SelectWndInfo);
</script>
<script for="PreviewActiveX" event="GetAllWndInfo(RealplayInfo)">
GetAllWndInfo(RealplayInfo);
</script>
<script for="PreviewActiveX" event="PluginEventHandler(iEventType, iParam1, iParam2)">
PluginEventHandler(iEventType, iParam1, iParam2);
</script>
<script for="PreviewActiveX" event="SetZeroChanEnlarge(EnlargeInfo)">
SetZeroChanEnlarge(EnlargeInfo);
</script>

  
这里要注意,一定要先调用

  m_PreviewOCX.HWP_ArrangeWindow(iWindowType);
否则预览不成功

海康视频监控---Demo的更多相关文章

  1. 海康威视频监控设备Web查看系统(二):服务器篇

    声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自 ...

  2. 海康威视频监控设备Web查看系统(三):Web篇

    声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK以为的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自 ...

  3. 海康威视频监控设备Web查看系统(一):概要篇

    声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自 ...

  4. 使用ffmpeg将海康视频rtsp转为hls

    测试环境: Ubuntu14.04 LTS Desktop ffmpeg version 3.3.3 命令行运行: ffmpeg -i rtsp://admin:12345@10.0.10.19:55 ...

  5. 视频监控——从其他浏览器打开低版本IE方案

    1. 方案背景 由于低版本IE浏览器并不支持很多新的页面技术,导致部分页面效果难以实现;另一方面IE浏览器版本与操作系统绑定,难以统一,不同版本IE间的不兼容导致多种兼容性问题,因此本项目暂定采用Ch ...

  6. Android海康监控视频调用demo

    一. 开发环境 1. 操作系统:windows7(X64) 2. 开发工具:eclipse adt Build: v22.2.1-833290 JDK7 android SDK 3. 客户端设备版本: ...

  7. 海康SDK编程指南(C#二次开发版本)

    海康SDK编程指南 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文 ...

  8. 海康网络摄像机调用SDK解码Java版

    两个回调函数: FRealDataCallBack 实现预览回调数据 DecCallBack 解码回调函数 在HCNetSDK.java补充相关函数和结构声明 //播放库函数声明,PlayCtrl.d ...

  9. 海康SDK编程指南

    转至心澄欲遣 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文仅对视 ...

随机推荐

  1. 首部讲Python爬虫电子书 Web Scraping with Python

    首部python爬虫的电子书2015.6pdf<web scraping with python> http://pan.baidu.com/s/1jGL625g 可直接下载 waterm ...

  2. 在android中使用logback-android日志框架配置 slf4j + logback

    为什么使用 slf4j + logback logbak定位于log4j的替代者,logback同样支持slf4j,方便被替换.在Android平台上,我在使用log4中遇到tag混乱的问题.相比lo ...

  3. 【javascript】js 获取 url 后的参数值

    以前写过一篇类似的博文(提取 url 的搜索字符串中的参数),但是个人觉得使用起来不是很方便,今天抽空重新写了个函数,该函数代码更加简洁. //获取 url 后的参数值 function getUrl ...

  4. jQuery(八):属性操作

    一.获取或设置元素的属性值 attr()获取或设置匹配元素的属性值,语法如下: 获取元素属性值示例: <!DOCTYPE html> <html lang="en" ...

  5. Android安装后没有完成和打开按钮

    File apkFile = new File(filePath); Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVIT ...

  6. java android使用Gson解析泛型json数据

    那就直接开始吧. 在我们获取服务器返回的json数据有时候会出现这种情况,比如: {"body":{"attrName":"feed",&q ...

  7. R语言如何将字符串转变为命令执行

    这里用到 eval() 和 parse() 函数.首先使用 parse() 函数将字符串转化为表达式(expression),而后使用 eval() 函数对表达式求解.x <- 1:10a &l ...

  8. Python 内置方法new

    class Dog(object): def __new__(self): print("i am new .") def __init__(self): print(" ...

  9. C++ vector清空元素的三种方法

    #include <iostream> #include <vector> using namespace std; //STL vector的几种清空容器(删除)办法 voi ...

  10. 关于qt QWebKit/QWebview 使用心得

    当前项目为c/s客户端,采用qt4.8.7,需要使用仪表盘.折线图.柱状图等,曾经使用过qwt和自定义的图形控件,但是都不尽如人意.最近发现ECharts控件不错.为此就要在qt端使用web的技术.为 ...