参考链接:
一、python3控制基于onvif的安防摄像头
使用的是tp-link安防摄像头
安装
在Python3中,是安装pip install onvif-zeep实现控制
二、实现
已经保证了摄像头具有的以下的能力,所以不再对设备是否具有能力进行判断。
实现获取设备、控制设备、获取摄像头视频内容进行分析
需要更改的地方,就是填写自己摄像头的用户名和密码
onvif的默认账户和密码是admin和9999,不写(空字符串)也能运行。。。
class PlcVisionSDK:
def __init__(self, kwargs_dict):
self.name = ' admin' # 自己设备的名称
self.password = '9999 ' # 自己设备的密码
self.mul_ip = "239.255.255.250"
self.mul_port = 3702
self.kwargs_dict = kwargs_dict
def zeep_pythonvalue(self, xmlvalue):
return xmlvalue
1、发现设备
使用udp组播,获取摄像头的IP和PORT
def discovery_dev(self):
local_ip = self.kwargs_dict['local_ip']
xml_str = """
uuid:a8098c1a-f86e-11da-bd1a-00112444be1e'
urn:schemas-xmlsoap-org:ws:2005:04:discovery
http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
dn:NetworkVideoTransmitter
"""
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(