100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 海康威视SDK动态库python调用实现告警布防

海康威视SDK动态库python调用实现告警布防

时间:2021-10-02 12:40:05

相关推荐

海康威视SDK动态库python调用实现告警布防

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from ctypes import *

import sys

from ctypes.wintypes import DWORD

from ctypes.wintypes import WORD

from ctypes.wintypes import LONG

from ctypes.wintypes import BYTE

# 报警信息列表,报一次在回调中加1次记录

alarm_info = []

fun_ctype = WINFUNCTYPE # 指针函数类型

if linux in sys.platform:

fun_ctype = CFUNCTYPE

class NET_DVR_DEVICEINFO_V30(Structure):

pass

NET_DVR_DEVICEINFO_V30._fields_ = [

(sSerialNumber, BYTE * 48), # 序列号

(yAlarmInPortNum, BYTE), # 报警输入个数

(yAlarmOutPortNum, BYTE), # 报警输出个数

(yDiskNum, BYTE), # 硬盘个数

(yDVRType, BYTE), # 设备类型, 1:DVR 2:ATM DVR 3:DVS

(yChanNum, BYTE), # 模拟通道个数

(yStartChan, BYTE), # 起始通道号,例如DVS-1,DVR - 1

(yAudioChanNum, BYTE), # 语音通道数

(yIPChanNum, BYTE), # 最大数字通道个数,低位

(yZeroChanNum, BYTE), # 零通道编码个数 //-01-16

(yMainProto, BYTE), # 主码流传输协议类型 0-private, 1-rtsp,2-同时支持private和rtsp

(ySubProto, BYTE), # 子码流传输协议类型0-private, 1-rtsp,2-同时支持private和rtsp

(ySupport, BYTE), # 能力,位与结果为0表示不支持,1表示支持

(ySupport1, BYTE), # 能力集扩充,位与结果为0表示不支持,1表示支持

(ySupport2, BYTE), # 能力,位与结果为0表示不支持,非0表示支持

(wDevType, WORD), # 设备型号

(ySupport3, BYTE), # 能力集扩展,位与结果为0表示不支持,1表示支持

(yMultiStreamProto, BYTE), # 是否支持多码流,按位表示,0-不支持,1-支持,bit1-码流3,bit2-码流4,bit7-主码流,bit-8子码流

(yStartDChan, BYTE), # 起始数字通道号,0表示无效

(yStartDTalkChan, BYTE), # 起始数字对讲通道号,区别于模拟对讲通道号,0表示无效

(yHighDChanNum, BYTE), # 数字通道个数,高位

(ySupport4, BYTE), # 能力集扩展,位与结果为0表示不支持,1表示支持

(yLanguageType, BYTE), # 支持语种能力,按位表示,每一位0-不支持,1-支持

(yVoiceInChanNum, BYTE), # 音频输入通道数

(yStartVoiceInChanNo, BYTE), # 音频输入起始通道号 0表示无效

(ySupport5, BYTE), # 按位表示,0-不支持,1-支持,bit0-支持多码流

(ySupport6, BYTE), # 能力,按位表示,0-不支持,1-支持

(yMirrorChanNum, BYTE), # 镜像通道个数,<录播主机中用于表示导播通道

(wStartMirrorChanNo, WORD), # 起始镜像通道号

(ySupport7, BYTE), # 能力,按位表示,0-不支持,1-支持

(yRes2, BYTE),

]

LPNET_DVR_DEVICEINFO_V30 = POINTER(NET_DVR_DEVICEINFO_V30)

class tagNET_DVR_DEVICEINFO_V40(Structure):

pass

tagNET_DVR_DEVICEINFO_V40._fields_ = [

(struDeviceV30, NET_DVR_DEVICEINFO_V30), # 设备信息结构体

(ySupportLock, BYTE), # 设备支持锁定功能,该字段由SDK根据设备返回值来赋值的

(yRetryLoginTime, BYTE), # 剩余可尝试登陆的次数,用户名,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。