海康威视摄像机补光灯程序,gpt写的用不了,怎么弄呢,我想要批量控制海康威视摄像机自带的补光灯的亮度
import requests
# 构造请求头部信息
headers = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'Cookie': 'language=zh; WebSession_0bd9cea766=572d734f81d3a512b7c3e044b54651003c15f9574343e12115f5064cb15cc45c; _wnd_size_mode=4; sdMarkTab_1_0=0%3AsettingBasic; sdMarkTab_2_0=0%3AbasicTcpIp; sdMarkTab_2_1=2%3AadvancedPlatform; sdMarkTab_3=0%3Avideo; sdMarkMenu=4%3Aimage; szLastPageName=image; sdMarkTab_4=0%3Adisplay',
'Host': '192.168.0.203',
'If-Modified-Since': '0',
'Pragma': 'no-cache',
'Referer': 'http://192.168.0.203/doc/page/config.asp',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'
}
# 构造补光灯亮度设置的XML数据
xml_data = """
<?xml version="1.0" encoding="UTF-8"?>
<ImageChannel version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<SupplementLight>
<whiteLightBrightness>50</whiteLightBrightness>
</SupplementLight>
</ImageChannel>
"""
# 发送POST请求
url = 'http://192.168.0.203/ISAPI/Image/channels/1' # 替换为实际的API接口地址
response = requests.post(url, headers=headers, data=xml_data)
# 输出响应结果
print(response.status_code)
print(response.text)
import os
import ctypes
hc_netsdk_path = r"C:\Program Files\HCNetSDK\HCNetSDK.dll"
hc_netsdk = ctypes.WinDLL(hc_netsdk_path)
# 初始化 SDK
hc_netsdk.NET_DVR_Init()
# 登录摄像机
device_info = hc_netsdk.NET_DVR_DEVICEINFO_V30()
user_id = hc_netsdk.NET_DVR_Login_V30("192.168.1.100", 8000, "admin", "password", device_info)
# 设置补光灯参数
light_param = hc_netsdk.NET_DVR_LIGHT_PARAM()
light_param.dwSize = ctypes.sizeof(light_param)
light_param.byLightBrightness = 80 # 设置补光灯亮度(范围:0-100)
light_param.byLightMode = 1 # 设置补光灯模式(0:自动模式,1:手动模式)
light_param.byLightStatus = 1 # 设置补光灯状态(0:关闭,1:打开)
hc_netsdk.NET_DVR_SetLightParam(user_id, 1, ctypes.byref(light_param))
# 登出摄像机
hc_netsdk.NET_DVR_Logout(user_id)
# 释放 SDK 资源
hc_netsdk.NET_DVR_Cleanup()