通过WEB调用大华网络摄像头

通过WEB调用大华网络摄像头

1.要调用的大华摄像头为Dahua 大华DH-IPC-HFW2100P-0600B 网络摄像机 (白色),摄像头外形如下图所示


2.调用效果如下图所示

3.下载大华网络摄像头OCX包,下载地址http://download.csdn.net/detail/whzhaochao/5965005

4.解压OCX包单击文件中的reg.bat注册dll

5.新建index.html关输入以下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>视频控件</title>
<style>
body {font-family:"", arial;margin:0 auto; padding:0; }
div,form,img,ul,p {margin: 0 auto; padding: 0; border: 0; overflow:hidden; list-style-type:none; }
h1,h2,h3,h4,h5,h6 { margin:0; padding:0;}
.bigbg{
	width:1280px;
	height:820px;
	position:relative;
	top:50px;
	background:#fff;}
.kuang{
	background:url(img/video_03.gif) no-repeat;
	width:1280px;
	height:820px;
	margin-top:12px;}
.close a{
	background:url(img/1_04.gif) no-repeat;
	width:41px;
	height:36px;
	position:absolute;
	left:618px;
	top:5px;
}
.close a:hover{
	background:url(img/2_04.gif) no-repeat;
	with:41px;
	height:36px;
	position:absolute;
	left:618px;
	top:5px;
}	

.videoscreen{
width:1280px;
	height:720px;
background-color:#999;
	position:absolute;
	right:17px;
	top:45px;
	}

.sfream {
	background:url(img/video_05.jpg) no-repeat;
	width:627px;
	height:42px;
	margin-top:400px;}
	
.play a{
	background:url(img/video_25.gif) no-repeat;
	width:19px;
	height:19px;
	position:absolute;
	left:26px;
	bottom:17px;}
	
.pause a{	background:url(img/video_26.gif) no-repeat;
	width:21px;
	height:19px;
	position:absolute;
	left:46px;
	bottom:17px;
}
.progressbar a{	background:url(img/video_28.gif) no-repeat;
	width:291px;
	height:20px;
	position:absolute;
	left:76px;
	bottom:17px;
}
.snapshot-picture a{	background:url(img/video_16.gif) no-repeat;
	width:25px;
	height:25px;
	position:absolute;
	left:377px;
	bottom:17px;}

.stepback a {	background:url(img/video_18.gif) no-repeat;
	width:24px;
	height:25px;
	position:absolute;
	left:409px;
	bottom:17px;}

.camera a{background:url(img/video_20.gif) no-repeat;
	width:26px;
	height:27px;
	position:absolute;
	left:439px;
	bottom:14px;}
	
.stopcamera a{background:url(img/video_22.gif) no-repeat;
	width:27px;
	height:27px;
	position:absolute;
	left:472px;
	bottom:14px;}
	
.singlescreen a{background:url(img/video_09.gif) no-repeat;
	width:31px;
	height:29px;
	position:absolute;
	left:506px;
	bottom:12px;}
	
.doublescreen a{background:url(img/video_11.gif) no-repeat;
	width:31px;
	height:29px;
	position:absolute;
	left:546px;
	bottom:12px;}
	
.ninescreen a{background:url(img/video_13.gif) no-repeat;
	width:32px;
	height:29px;
	position:absolute;
	left:586px;
	bottom:12px;}
	
.ninescreen a:hover{background:url(img/design_05.gif) no-repeat;
	width:40px;
	height:29px;
	position:absolute;
	left:586px;
	bottom:82px;}

</style>

<script language="javascript">


function StartPreview()
{	alert("开始");
	var SSOcx = document.getElementById("playOcx");
	SSOcx.SetDeviceInfo("192.168.1.108",37777,0,"admin","admin");
        SSOcx.StartPlay();		
}


function StoptPreview()
{
    var SSOcx = document.getElementById("playOcx");
    SSOcx.StopPlay();
	
}

function Capture()
{

    var SSOcx = document.getElementById("playOcx");
   var dd= SSOcx.GetCapturePicture("d:\\1.bmp");

}

function StartRecord()
{	

 var SSOcx = document.getElementById("playOcx");
     SSOcx.SaveRealData("d:\\1.avi");
}

function StopRecord()
{	
 var SSOcx = document.getElementById("playOcx");
     SSOcx.StopSaveRealDate();
}


</script>
</head>

<body>
<div class="bigbg">
<div class="kuang">
    <div class="videoscreen"> 
    <td width="50%"   align="right" style="padding-right:50px">
    
    
         <object classid="clsid:30209FBC-57EB-4F87-BF3E-740E3D8019D2" codebase=""
              standby="Waiting..." id="playOcx" width="1280" height="720" name="playOcx" align="center" >
            <embed width="618" height="360" align="center"></embed>
         </object>
    
    </td>
     </div>

<div class="sfream">
<div class="play"><a href="javascript:StartPreview()">播放</a><br/></div>
<div class="pause"><a href="javascript:StoptPreview()">暂停</a><br /></div>
<div class="progressbar"><a href=""></a></div>
<div class="snapshot-picture"><a href="javascript:Capture()">拍照</a><br/></div>
<div class="stepback"><a href=""></a></div>
<div class="camera"><a href="javascript:StartRecord()">录制</a><br/></div>
<div class="stopcamera"><a href="javascript:StopRecord()">停止录制</a></div>
<div class="singlescreen"><a href=""></a></div>
<div class="doublescreen"><a href=""></a></div>
<div class="ninescreen"><a href=""></a></div>
</div>
</div>
<div class="close"><a href=""></a></div>

</div>




</body>
</html>


6.保存并用IE打开,请允许加载Active控件,如果不出问题则调用成功

注意事项:

1.SSOcx.SetDeviceInfo("192.168.1.108",37777,0,"admin","admin");注意修改成你的摄像机的IP地址、端口、通道、用户名、密码

2.大华的dll要注册成功,检查有没有注册的方法:打开注册表,搜索classid号,如果有表明OCX控件注册成功,classid号为:30209FBC-57EB-4F87-BF3E-740E3D8019D2

3.改方法试用于IE,其它浏览器不行

4.第一次用IE打开一定要加载控件,如果IE阻止控件会导致调用失败。如果IE阻止加载控件,请在Internet项目->安全->自定义级别 中将ActiveX控件和插件下的所有项都启用


### 回答1: 要在Windows下使用Python调用海康威视网络摄像头SDK,可以按照以下步骤操作: 1. 安装海康威视网络摄像头SDK:首先,从海康威视官方网站下载并安装最新版本的SDK。确保SDK与你的Python版本兼容。 2. 设置环境变量:打开控制面板,进入系统属性,点击“高级系统设置”,选择“环境变量”。在系统变量中,找到“Path”变量,并将SDK的安装路径添加到该变量中。这样Python才能找到SDK的库文件。 3. 安装Python的海康威视SDK库:通过pip安装Python的海康威视SDK库,可以在命令提示符中运行以下命令: ``` pip install hikvisionapi ``` 这样就能将海康威视SDK库安装到Python环境中。 4. 使用Python调用SDK:在Python脚本中导入SDK库并使用其中的函数和类来调用摄像头功能。例如,你可以使用SDK提供的函数初始化摄像头设备、打开视频流、进行图像处理等操作。 需要注意的是,在使用SDK之前,你需要先了解SDK提供的函数和类的使用方法。可以参考SDK的官方文档或样例代码来了解如何正确地调用SDK的各项功能。 总之,通过安装SDK、设置环境变量、安装Python的SDK库,并使用Python脚本来调用SDK的函数和类,你就能在Windows下使用Python调用海康威视网络摄像头SDK了。 ### 回答2: 在Windows操作系统下,可以使用Python调用海康威视网络摄像头SDK来实现摄像头的控制和影像数据的获取。下面是一个简单的示例代码: 首先,确保已经安装了Python和相应的海康威视网络摄像头SDK。 ```python # 导入相关库 from ctypes import * # 加载SDK的动态链接库 hk_sdk = cdll.LoadLibrary('hk_sdk.dll') # 设置登录参数 addr = b'IP地址' # 摄像头的IP地址 port = 8000 # 摄像头的端口号 user = b'用户名' # 登录用户名 password = b'密码' # 登录密码 # 登录摄像头 login_info = hk_sdk.NET_DVR_USER_LOGIN_INFO() # 定义登录信息结构体 login_info.sDeviceAddress = addr # 摄像头的IP地址 login_info.wPort = port # 摄像头的端口号 login_info.sUserName = user # 登录用户名 login_info.sPassword = password # 登录密码 login_info.cbLoginResult = None # 登录结果回调函数 login_info.pUser = None # 用户参数 lUserID = hk_sdk.NET_DVR_Login_V40(byref(login_info), None) # 调用登录函数,获取登录ID # 检查登录是否成功 if lUserID < 0: print('设备登录失败') hk_sdk.NET_DVR_Cleanup() # 释放资源 else: print('设备登录成功') # 进行相关操作,如实时预览或录像等 # 登出摄像头 hk_sdk.NET_DVR_Logout_V30(lUserID) hk_sdk.NET_DVR_Cleanup() # 释放资源 ``` 以上代码首先通过`cdll.LoadLibrary()`函数加载SDK的动态链接库。然后创建一个`NET_DVR_USER_LOGIN_INFO`结构体,并设置登录参数,包括IP地址、端口号、用户名和密码。接着调用`NET_DVR_Login_V40()`函数进行登录,并获取登录ID。如果登录成功,则可以进行相关操作,如实时预览或录像等。最后,调用`NET_DVR_Logout_V30()`函数登出摄像头,并使用`NET_DVR_Cleanup()`函数释放资源。 需要注意的是,具体的操作和功能需根据海康威视网络摄像头SDK的文档进行相关配置和调用
评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵侠客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值