win11 连接海康摄像头 ONVif协议

news2024/12/24 3:00:52

目录

Win 11 通过脚本打开自带的IE浏览器访问海康摄像头

海康摄像头设置支持onvif协议

安装onvif协议

onvif协议示例代码


Win 11 通过脚本打开自带的IE浏览器访问海康摄像头

第一步、桌面右键新建一个 txt 的文档 

第二步、打开文档并且复制粘贴下面代码

CreateObject("InternetExplorer.Application").Visible=true
 第三步、保存并且关闭,修改文件后缀名为 vbs

第四步、双击打开即可。

对您有帮助给我个点赞关注吧!

原文链接:https://blog.csdn.net/weixin_46091775/article/details/125496631

海康摄像头设置支持onvif协议

2、其次,单击上面菜单上的配置,然后单击网络-高级配置,如下图所示,然后进入下一步。

3、接着,在“集成协议”中选中“启用onivif”,然后单击“添加”,如下图所示,然后进入下一步。

4、然后,在弹出的小窗口中,创建一个帐户名和密码,检查管理员,然后确认,如下图所示,然后进入下一步。 

安装onvif协议

pip install --upgrade onvif_zeep

onvif协议示例代码

import time

import requests
import zeep
from onvif import ONVIFCamera
from requests.auth import HTTPDigestAuth


def zeep_pythonvalue(self, xmlvalue):
    return xmlvalue


class Onvif_hik(object):

    def __init__(self, ip: str, username: str, password: str):
        self.ip = ip
        self.username = username
        self.password = password
        self.save_path = "./{}T{}.jpg".format(self.ip, str(time.time()))  # 截图保存路径
        self.content_cam()

    def content_cam(self):
        """
        链接相机地址
        :return:
        """
        try:
            self.mycam = ONVIFCamera(self.ip, 80, self.username, self.password)
            self.media = self.mycam.create_media_service()  # 创建媒体服务
            # 得到目标概要文件
            zeep.xsd.simple.AnySimpleType.pythonvalue = zeep_pythonvalue
            self.media_profile = self.media.GetProfiles()[0]  # 获取配置信息
            self.ptz = self.mycam.create_ptz_service()  # 创建控制台服务
            return True
        except Exception as e:
            return False

    def Snapshot(self):
        """
        截图
        :return:
        """
        res = self.media.GetSnapshotUri({'ProfileToken': self.media_profile.token})

        response = requests.get(res.Uri, auth=HTTPDigestAuth(self.username, self.password))
        with open(self.save_path, 'wb') as f:  # 保存截图
            f.write(response.content)

    def get_presets(self):
        """
        获取预置点列表
        :return:预置点列表--所有的预置点
        """
        presets = self.ptz.GetPresets({'ProfileToken': self.media_profile.token})  # 获取所有预置点,返回值:list
        return presets

    def goto_preset(self, presets_token: int):
        """
        移动到指定预置点
        :param presets_token: 目的位置的token,获取预置点返回值中
        :return:
        """
        try:
            # self.ptz.GotoPreset(
            #     {'ProfileToken': self.media_profile.token, "PresetToken": presets_token})  # 移动到指定预置点位置
            params = self.ptz.create_type('GotoPreset')
            params.ProfileToken = self.media_profile.token
            params.PresetToken = presets_token
            self.ptz.GotoPreset(params)
        except Exception as e:
            print(e)

    def zoom(self, zoom: str, timeout: int = 1):
        """
        变焦
        :param zoom: 1为拉近或-1为远离 
        :param timeout: 生效时间
        :return:
        """
        request = self.ptz.create_type('ContinuousMove')
        request.ProfileToken = self.media_profile.token
        request.Velocity = {"Zoom": zoom}
        self.ptz.ContinuousMove(request)
        time.sleep(timeout)
        self.ptz.Stop({'ProfileToken': request.ProfileToken})

    def get_status(self):
        """
        获取当前预置点的信息
        :return:
        """
        params = self.ptz.create_type('GetStatus')
        params.ProfileToken = self.media_profile.token
        res = self.ptz.GetStatus(params)
        # print(res)
        return res


if __name__ == '__main__':
    o = Onvif_hik(ip="192.168.0.1", username="admin", password="password")
    o.goto_preset(3)

感谢博主:

实测python-onvif协议控制摄像头_onvif_zeep的绝对目标位置的矢量-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1583534.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

reids-AOF(Append Only File)持久化使用方法

一,什么是AOF(Append Only File) 将我们所有的命令都记录下来,history,恢复的时候就把这个文件全部再执行一遍 以日志的形式来记录每个写的操作,将Redis执行过的所有指令记录下来(读操作不记录&…

vue项目node版本问题

1. 启动项目报错 2. 解决 (1)更新依赖 npm install --legacy-peer-deps (2)如果不行就重装node node版本为14.15.1 sass版本为 node-sass": "^6.0.1" "sass-loader": "^6.0.…

Go语言实现Redis分布式锁2

项目地址: https://github.com/liwook/Redislock 1.支持阻塞式等待获取锁 之前的是只尝试获取一次锁,要是获取失败就不再尝试了。现在修改为支持阻塞式等待获取锁。 添加LockOptions结构体 添加option.go文件。 在LockOptions中 isBlock表示是否是阻塞模式blo…

Mysql底层原理六:InnoDB 数据页结构

1.行格式 1.1 Compact行格式 1.1.1 示意图 1.1.2 准备一下 1)建表 mysql> CREATE TABLE record_format_demo (-> c1 VARCHAR(10),-> c2 VARCHAR(10) NOT NULL,-> c3 CHAR(10),-> c4 VARCHAR(10)-> ) CHARSETascii ROW_FORMATCOM…

Web前端—属性描述符

属性描述符 假设有一个对象obj var obj {a:1 }观察这个对象,我们如何来描述属性a: 值为1可以重写可以遍历 我们可以通过Object.getOwnPropertyDescriptor得到它的属性描述符 var desc Object.getOwnPropertyDescriptor(obj, a); console.log(desc);我…

AD转换(模数转换)

一、AD的基本概念 AD转换是将时间连续和幅值连续的模拟量转换为时间离散、幅值也离散的数字量。使输出的数字量与输入的模拟量成正比。 AD转换的过程有四个阶段,即采样、保持、量化和编码。 采样是将连续时间信号变成离散时间信号的过程。经过采样,时间…

基于 SSM 医院病历管理系统的设计与实现

摘 要 病历管理系统是医院管理系统的重要组成,在计算机技术快速发展之前,病人或者医生如果想记录并查看自己的健康信息是非常麻烦的,因为在以往病人的健康信息通常只保存在自己的病历卡或者就诊报告中,如果在就诊时想进行查看只能通过观看…

文件处理的神器,一键上传签署,安全又高效!

客户介绍 某技术股份有限公司是一家在高科技领域深耕多年的知名企业,专注于技术创新与产品研发,致力于为客户提供前沿、高效的解决方案。在业务范围方面,该公司涵盖了多个领域,包括智能制造、新能源、信息技术等。公司凭借卓越的…

VBA_NZ系列工具NZ04:VBA网络连接测试使用说明

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…

Qt Creator 新建项目

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、使用 Qt Creator 新建项目 1、新建项目 2、选择项目模板 3、选择项目路径 4、选择构建系统 5…

linux大文件IO

在Linux中处理大文件(通常指大小超过2GB的文件)时,需要使用特定的系统调用和标志,以确保程序能够正确地处理大文件的读写。这主要是因为在32位系统上,传统的文件偏移量和文件大小使用off_t类型表示,它通常是…

115.不同的子序列

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 7 取模。 示例 1: 输入:s "rabbbit", t "rabbit" 输出:3 解释: 如下所示, 有 3 种可以从 s 中…

基于RBF的时间序列预测模型matlab代码

整理了基于RBF的时间序列预测模型matlab代码, 包含数据集。采用了四个评价指标R2、MAE、MBE、MAPE对模型的进行评价。RBF模型在数据集上表现非常好。 训练集数据的R2为:0.99463 测试集数据的R2为:0.96973 训练集数据的MAE为:0.…

本地linux怎样先亚马逊云服务器上传文件

使用亚马逊云服务器的密钥&#xff0c;并通过srp命令&#xff0c; 连接上传&#xff1a; scp -i <密钥文件路径> <本地文件路径> <远程主机用户名><远程主机地址>:<目标路径> scp -i assig2.pem data.txt ubuntuec2-xx-xxx-xx-xx1.compute-x.…

hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

分析&#xff1a; 在启动hadoop服务的时候&#xff0c;遇到了这个问题&#xff1a; hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 这个一看就是&#xff0c;密钥问题 于是ssh 主机名就行测试 需要输入密码&#xff0c;就说明这里有问…

Prometheus+grafana监控nacos和spring-boot服务(增加自定义指标)(七)

前面记录了项目中常用的各种中间件的指标采集器的用法及搭建方式 &#xff0c; 由于所有组件写一篇幅过长&#xff0c;所以每个组件分一篇方便查看&#xff0c;前六篇链接如下 Prometheusgrafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客 Prometheusgrafana…

[lesson16]类的真正形态

类的真正形态 类的关键字 struct在C语言中以及有了自己的含义&#xff0c;必须继续兼容 在C中提供了新的关键字class用于类的定义 class和struct的用法是完全相同的 在用struct定义类时&#xff0c;所有成员的默认访问级别为public 在用class定义类时&#xff0c;所有成员…

奇怪的电梯

题目描述&#xff1a; 思路&#xff1a; 见代码注释 AC代码&#xff1a; #include <bits/stdc.h> using namespace std; int n, A, B; int t[250]; //记录到达每层所用的最短时间 int a[250]; void dfs(int lou, int sum) {//lou是当前的楼层数&#xff0c;sum为当前按…

finalshell连接VM虚拟机报错,java,net.ConnectException: Connection timed out: connect

适用于&#xff0c;所有第三方连接虚拟机报错。 java,net.ConnectException: Connection timed out: connect Xshell啊什么的。 解决方法&#xff1a; 首先&#xff0c;我想确认一下是否已经安装了finalshell软件并且要连接的CentOS 7服务器已经设置好了。连接不上的问题有很…

nodejs实现TCP端口转发并截包的小工具

近期我正致力于开发一个基于 Go-CQHTTP 的 QQ 机器人应用程序项目&#xff0c;该项目现已成功实现了 Go-CQHTTP 的容器化部署&#xff0c;利用 Docker 技术确保其运行环境的一致性与便捷性。随着项目推进&#xff0c;接下来的工作重心转向部署配套的签名服务器&#xff08;qsig…