python 基于onvif协议 修改摄像头分辨率亮度等操作(window版本
如题
在网上根本没发现这样的资料,硬啃官方文档完成的,弄了整整一天遇到了很多坑。
环境说明
python 3.7
onvif2-zeep 0.3.3
window 11
大华摄像头
环境说明
python就不说了基本
onvif2-zeep 注意!!它所有方法都基于pip下来的wsdl文件,但是!!python下来的文件有问题,不可以直接用,要调路径,根据报错指定路径就可以了(路径需要Linux格式
正式代码
先甩个demo再讲解
# 修改摄像头分辨率
def configCamVideo(ip):try:mycam = ONVIFCamera(ip, 80, 'admin', 'admin123')media2_service = mycam.create_media2_service()configurations = media2_service.GetVideoEncoderConfigurations()for configuration in configurations:if configuration['Name']=='VideoEncoder001':if configuration['Encoding'].lower() == 'h264' or configuration['Encoding'].lower() == 'h265':width = configuration['Resolution']['Width']height = configuration['Resolution']['Height']configuration['Resolution']['Width']=704configuration['Resolution']['Height']=576configuration['RateControl']['FrameRateLimit']=1configuration['RateControl']['BitrateLimit']=448configuration['GovLength']=1print(configuration)response=media2_service.SetVideoEncoderConfiguration(configuration)return Trueexcept Exception as e:print(e)return False
这个demo基本上可以拿过来直接用,但是需要注意一点
路径:C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\wsdl
正确pip下来的应该有两个版本库,对应的方法为create_media_service和create_media2_service,这两个使用的库是不一样的!!!
更多具体请看官方文档:python-onvif api接口
该接口返回摄像头 亮度-对比度等信息,返回值如下:
文档中可以看出来,input即输入的地方需要一个VideoSourceToken参数!!但是翻了三遍文档和api都没找到,最后发现在
接口的token里面,即需要先请求这个token才能查询和设置亮度
修改亮度和其他显示属性demo:
mycam = ONVIFCamera("192.168.1.109", 80, 'admin', 'admin123')
media2_service = mycam.create_imaging_service()
mac = mycam.create_media_service()token = mac.GetVideoSources()[0]['token']configurations = media2_service.GetImagingSettings({"VideoSourceToken":token})print(configurations)data ={}
data['VideoSourceToken'] = token
data['ImagingSettings'] = configurations
data['ImagingSettings']['Contrast']=40.0
response = media2_service.SetImagingSettings(data)
以上
后话:这整个网络上的论坛是不是copy怪有点多?想找到一个有用的信息太麻烦了,以及完全没有说明其他办法怎么解决
python 基于onvif协议 修改摄像头分辨率亮度等操作(window版本相关推荐
- 基于ONVIF协议的摄像头开发总结
原文:http://www.cnblogs.com/big-devil/p/7625752.html 最近在做onvif协议的相关工作,看到一篇介绍onvif协议很好的文章,遂转载过来,以作记录 在查 ...
- python通过onvif协议搜索局域网所有摄像头ip,并获取摄像头rtsp,mac地址等相关服务
这里用到camera_discovery模块 pip install camera_discovery from camera_discovery import CameraDiscovery cam ...
- 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!
摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...
- SfxMCP基于onvif协议H5无插件直播方案中onvif设备的接入方法 - sfxlab
SfxMCP基于onvif协议H5无插件直播方案中onvif设备的接入方法 - sfxlab SFX流媒体解决方案基于安防行业推出了以媒体汇聚平台(SfxMCP)为主,以媒体分发平台(SfxMDP)和 ...
- python 使用tcp协议实现web服务器(七) epoll版本web服务器
文章目录 摘要 前置知识 运行截图 html,css文件代码 index.html login.html register.html style.css python代码 摘要 使用python 基于 ...
- 从0到1实现python基于RPC协议的接口自动化测试
01.什么是RPC RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议.从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程 ...
- Android 外接基于UVC协议的摄像头并实现预览
先来一段从网上找到的理论知识,对UVC协议有初步的印象 UVC协议:USB Video Class,USB视频类,是一种为USB视频捕获设备定义的协议标准. Android 平台支持使用即插即用的 U ...
- 支持OnVif协议的摄像头直播推流php
视频转流中用到的东西 gitee地址 nginx nginx 已经支持rtmp转流 ffmpeg ffmpeg php对应的引用库 ponvif php的控制器方法 Onvif.php hls播放页面 ...
- python 视频清晰度_python_opencv修改视频分辨率
在测试alphapose时,原始视频的分辨率过高,导致网络难以运行,所以要修改视频的分辨率,代码如下: import cv2 cap= cv2.VideoCapture("videl_1.m ...
- 基于ONVIF协议的(IPC)客户端程序开发-10 设备校时
原文链接:http://blog.csdn.net/benkaoya/article/details/72486511 1 编码流程 ONVIF标准中,有 GetSystemDateAndTime和S ...
最新文章
- 基于Proteus的计算器仿真
- vuepress侧边栏配置_vuepress的侧边栏怎么动态生成
- 安装ugjava安装在哪里_讨论!空调安装安全绳该挂哪里
- ubuntu15.04在安装完vmware11后打开提示 VMware Kernel Module Updater
- 阿里回应“拼多多员工淘宝账号被封”;微信脸书合办新冠病毒黑客马拉松;Kubernetes 1.18发布 | 极客头条...
- OPERA夜审功能和参数调节
- java入门-dos窗口的用法
- 计算机四级网络工程师考试怎样报名,计算机四级网络工程师考试流程
- windows linux jdk8 jdk11下载
- 浩哥的Linux学习笔记之cp命令
- rails respon_to
- 如何在chrome浏览器设置夜间模式
- [转]重装系统时要备份的东西
- LEAD广告联盟,真的能够年入百万吗?
- 审核和发送环节脱离?!看TOP级企业如何解决安全管理问题
- 已知三点求圆心和半径
- 如何将Vufroria 、ARCore和ARkit结合使用
- 使用layui做数据表格使用下拉菜单并实现删除功能和时间选择器
- 分享:笔记本花屏的解决方法
- 汽车美容行业现在还有市场吗?
热门文章
- 3文聚焦:RNA m6A甲基化修饰在不同农作物中的研究进展(马铃薯+水稻+玉米+小麦)|易基因
- 计算机键盘无法使用的原因,电脑键盘失灵的原因及解决方法
- Word文档快速插入分割线(虚线、实线、波浪线)
- 由中秋抢月饼事件想到的
- 【007】Excel宏编程相关封装模块(筛选、复制、黏贴)_001_#VBA
- c# oracle 中文列名,sql中中文列名
- RS485MODBUS转PROFINET网关配置-科隆OPTIFLUX7000MODBUS通信协议电磁流量计接入西门子PLC S7-1500PROFINET以太网通讯网络配置方法
- 贴片电阻分类、阻值、功率、封装、尺寸
- 一个数根号3怎样用计算机计算,手机计算器怎样打出根号3
- 移动磁盘拒绝访问要如何办啊