是否可以使用 SOAP API 命令通过 python 脚本批量配置安讯士相机?

问题描述 投票:0回答:1

我有大约 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 用户,但我真的希望它能够工作,这样我就不必在每个摄像机上手动设置配置文件。这是我第一次尝试做这样的事情,所以到目前为止我真的只尝试了几个小时。

谢谢!

camera onvif vapix
1个回答
0
投票

您无法使用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>
© www.soinside.com 2019 - 2024. All rights reserved.