我有大约 200 台安讯士品牌摄像机,我必须将它们转移到 Avigilon 系统。这些摄像机都还没有设置 ONVIF 配置文件,以及打开麦克风等一些东西。我正在尝试创建一个 python 脚本,在运行时通过 IP 地址将模板应用到每个摄像机,所以我不必手动配置每个摄像头。除了基本登录之外,我无法使用任何 SOAP 命令来运行,之后我要么发送了错误的命令来创建 ONVIF 配置文件,要么超时。
当前代码:
import requests
from requests.auth import HTTPDigestAuth
# Axis camera WebUI credentials
username = 'root' # Replace with your WebUI username
password = 'tent' # Replace with your WebUI password
# Axis camera IP address and VAPIX endpoint for adding a user
camera_ip = '10.5.66.10'
url = f'http://{camera_ip}/axis-cgi/pwdgrp.cgi?action=add'
# Data for the new user (ensure valid username and password)
new_user_data = {
'user': 'onvifuser', # Ensure a valid username
'pwd': 'onvifpassword', # Password for the ONVIF account
'grp': 'admin' # Assign the group to 'admin'
}
# Send the request
try:
response = requests.post(url, auth=HTTPDigestAuth(username, password), data=new_user_data)
# Check if the request was successful
if response.status_code == 200:
print("ONVIF user created successfully.")
else:
print(f"Failed to create user. Status code: {response.status_code}")
print(f"Response content: {response.text}")
except requests.exceptions.RequestException as e:
print(f"An error occurred: {e}")
运行当前代码的输出:
ONVIF user created successfully.
它返回成功的请求,但未创建 ONVIF 帐户。我真的不知道是否可以通过使用 VAPIX 或默认的 WebUI 登录来创建 ONVIF 用户,但我真的希望它能够工作,这样我就不必在每个摄像机上手动设置配置文件。这是我第一次尝试做这样的事情,所以到目前为止我真的只尝试了几个小时。
谢谢!
您无法使用vapix创建onvif用户!您应该使用 onvif CreateUsers 界面来制作一个。
<Envelope
xmlns="http://www.w3.org/2003/05/soap-envelope">
<Header/>
<Body>
<CreateUsers
xmlns="http://www.onvif.org/ver10/device/wsdl"
xmlns:tt="http://www.onvif.org/ver10/schema">
<User>
<tt:Username>
test
</tt:Username>
<tt:Password>
test
</tt:Password>
<tt:UserLevel>
User
</tt:UserLevel>
</User>
</CreateUsers>
</Body>
</Envelope>