onvif摄像机的python客户端

onvif-zeep的Python项目详细描述


python onvif zeep
==


>python中的onvif客户端实现


依赖项
----
`zeep<;http://docs.python zeep.org>;``uugt;=3.0.0

您可以从onvif import onvifcamera


























<












mycam=onvifcamera('192.168.0.0.0.2','192.168.0.0.2','192.168.0.2.0.2',





现在,onvifcamera实例可用。默认情况下,如果一切正常,也可以使用devicemgmt服务。wsdl文档中定义的所有操作:

/etc/onvif/wsdl/devicemgmt.wsdl



主机名:'+str(resp.name)

摄像机
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

要配置摄像机,有两种方法可以将参数传递给服务方法。

**dict**


如果设置的参数无效(或不存在),则类型实例将引发
异常。

::


params=mycam.devicemgmt.create_type('set hostname')
params.hostname='newhostname'
mycam.devicemgmt.sethostname(params)

time撸=mycam.devicemgmt.create_type('setSystemDateAndTime')
时间参数.dateTimeType='手动'
时间参数.daylightSavings=true
时间参数.timeZone.tz='cst-8:00:00'
时间参数.utcdateTime.Date.Year=2014
时间参数.utcdateTime.Date.Month=12
time_params.utcdatetime.date.day=3
time_params.utcdatetime.time.hour=9
time_params.utcdatetime.time.minute=36
time_params.utcdatetime.time.second=11
mycam.devicemgmt.setsystemdateandtime(time_params)

服务
~~~~~~~~~~~~~~~~~~~~~~~~~~
onvif协议定义了许多服务。
您可以在这里找到所有服务和操作<;http://www.onvif.org/onvif/ver20/util/operationindex.html>;`.onvifcamera有创建新服务的支持方法:

一个非官方的服务:

xaddr='http://192.168.0.3:8888/onvif/yourservice'
yourservice=mycam.create\onvif庠service('service.wsdl',xaddr,"yourservice")
yourservice.someoperation()
示例
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

$onvif cli devicegmt gethostname--用户"admin"--密码"12345"--主机"192.168.0.112"--端口80
true:{fromdhcp':true,"name":hision}
$onvif cli devicegmt sethostname{'name':'newerhostname'}--用户"admin"--密码"12345"--主机"192.168.0.112"--端口80
真值:{}


交互模式
~~~~~~~~~~~~~~~~~



$onvif cli-u‘admin’-a‘12345’--host‘192.168.0.112’--port 80--wsdl/etc/onvif/wsdl/
onvif>;>cmd
analytics devicemgmt events imaging media ptz
onvif>;>cmd devicemgmt getwsdlurl
true:http://www.onvif.org/
onvif>;>cmd devicemgmt sethostname{'name':'newhostname'}
onvif>;>cmd devicemgmt gethostname
true:{'name':'newhostname'}
onvif>;>cmd devicemgmt someoperation
false:无操作:someoperation

注意:交互模式支持制表符完成。


批处理模式
~~~~~~~~




$vim batchcmds
$cat batchcmds
cmd devicemgmt getwsdlurl
cmd devicemgmtsethostname{'name':'newhostname','fromdhcp':true}
cmd devicemgmt gethostname
$onvif cli--host 192.168.0.112-u admin-a 12345-w/etc/onvif/wsdl/<;batchcmds
onvif>;>;true:http://www.onvif.org/
onvif>;>;true:{}
onvif>;>;true:{'fromdhcp':false,'name':newhostname}


http://www.onvif.org/specs/docmap-2.4.2.html>;`

*`foscam python lib<;http://github.com/quatanium/foscam python lib>;。`_

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException