通过ISAPI进行的Hikvision Camera配置
#教程 #python #computervision

Hikvision Company为其软件制作了很好的相机和可怕的文档。
如果您最终到达这里,那么您可能会尝试通过其“ ISAPI.pdf”文件进行挖掘,但在那里没有太多帮助。

首先,我建议您通过Web界面设置相机。接下来,以XML格式获取设置的参考模板。通过在您的浏览器中打开:

,如果您有不同的摄像机型号,则可能需要从所有摄像机中获取这些模板,比较并找到共同的基础。

将此配置部署到相机,只需使用同一URL!

示例Python代码:

import requests
from requests.auth import HTTPDigestAuth

username, password = ('admin', 'camera_password')
stream_xml = """
<StreamingChannel version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
    <id>1</id>
blah blah blah
"""
url = "http://192.168.1.64/ISAPI/Streaming/channels/1"
response = requests.put(url, data=stream_xml, auth=HTTPDigestAuth(username, password))
print(response.text)
assert response.status_code == 200

image_xml = """
<ImageChannel xmlns="http://www.hikvision.com/ver20/XMLSchema" version="2.0">
    <id>1</id>
    <enabled>true</enabled>
    <videoInputID>1</videoInputID>
"""
url = "http://192.168.1.64/ISAPI/Image/channels/1"
response = requests.put(url, data=image_xml, auth=HTTPDigestAuth(username, password))
print(response.text)
assert response.status_code == 200

您应该得到:

<?xml version="1.0" encoding="UTF-8"?>
<ResponseStatus version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<requestURL></requestURL>
<statusCode>1</statusCode>
<statusString>OK</statusString>
<subStatusCode>ok</subStatusCode>
</ResponseStatus>

在更复杂的情况下,当您需要每个相机型号的不同配置时,请使用:http://192.168.1.64/ISAPI/System/deviceInfo查找相机型号。