diff --git a/pkg/models/evem.go b/pkg/models/evem.go index c18cb42..af6e6d3 100644 --- a/pkg/models/evem.go +++ b/pkg/models/evem.go @@ -88,3 +88,49 @@ type EventModelGetAlarmingResponse struct { VideoLossAlarmMask uint `json:"VL_AT"` VideoLossStatusMask uint `json:"VL_AS"` } + +// 3.4.1.3 +type EventModelGetAlarmInfoStatusResponse struct { + ErrorCode uint `json:"ERRORCODE"` + ErrorCause string `json:"ERRORCAUSE"` + MotionDetectionAlarm []MotionDetectionAlarmStatus `json:"MD"` + IOAlarm []IOAlarmStatus `json:"IO"` + StorageAlarm []StorageAlarmStatus `json:"ST"` + StorageAlarmParameters []CameraCoveredAlarmStatus `json:"VS"` + VideoLossAlarm []VideoLossAlarmStatus `json:"VL"` +} + +// 3.4.1.4.1 +type MotionDetectionAlarmStatus struct { + Status uint `json:"ISA"` + Mask uint `json:"LCH"` +} + +// 3.4.1.4.2 +type IOAlarmStatus struct { + Status uint `json:"ISA"` + IONumber uint `json:"IONO"` + Mask uint `json:"LCH"` + Name string `json:"NAME"` + NameAbbreviation string `json:"NSER"` +} + +// 3.4.1.4.4 +type CameraCoveredAlarmStatus struct { + ChannelMask uint `json:"CH"` + AlarmMask uint `json:"AT"` + StatusMask uint `json:"AS"` +} + +// 3.4.1.4.4 +type VideoLossAlarmStatus struct { + Status uint `json:"ISA"` + Mask uint `json:"LCH"` +} + +// 3.4.1.4.21 +type StorageAlarmStatus struct { + SID any `json:"SID"` + Type uint `json:"ST"` + Error uint `json:"E"` +} diff --git a/pkg/models/mediastreammodel.go b/pkg/models/mediastreammodel.go index 00cf12e..191c963 100644 --- a/pkg/models/mediastreammodel.go +++ b/pkg/models/mediastreammodel.go @@ -51,110 +51,3 @@ type MediaStreamModelControlStreamRequest struct { AudioValid uint `json:"AUDIOVALID,omitempty"` FrameMode uint `json:"FRAMEMODE,omitempty"` } - -/* -var ip string = os.Getenv("SERVER_IP") - -func (e *Package) MediaRequestDownloadVideo(token int, serial string, session string, camNo int, date string, begin_time string, end_time string, recordID string, serverId int) { - e.Payload = map[string]any{ - "MODULE": "MEDIASTREAMMODEL", - "OPERATION": "REQUESTDOWNLOADVIDEO", - "PARAMETER": map[string]any{ - "PT": 3, - "SSRC": 1, - "STREAMNAME": "DOWNLOAD" + "_" + serial + "_" + fmt.Sprint(camNo) + "_" + fmt.Sprint(serverId), - "STREAMTYPE": 1, // main stream - "RECORDID": recordID, - "CHANNEL": 1 << (camNo - 1), - "STARTTIME": date + begin_time, - "ENDTIME": date + end_time, - "OFFSETFLAG": 1, - "OFFSET": 0, - "IPANDPORT": ip + ":12092", - "SERIAL": token, - "DT": 1, // high speed download - }, - "SESSION": session, - } -} - -// main server util -func (e *Package) MediaRequestAliveVideo(token int, camNo int64, Sid string, serial string, quality int64) { - - channel := 0 - - if camNo == 1 { - channel = 1 - } else { - channel = 1 << (camNo - 1) - } - e.Payload = map[string]any{ - "MODULE": "MEDIASTREAMMODEL", - "OPERATION": "REQUESTALIVEVIDEO", - "PARAMETER": map[string]any{ - "AUDIOVALID": 1, - "CHANNEL": channel, - "FRAMEMODE": 0, - "IPANDPORT": ip + ":12092", - "STREAMNAME": "LIVE" + "_" + serial + "_" + fmt.Sprint(camNo), - "STREAMTYPE": quality, - "SERIAL": token, - }, - "SESSION": Sid, - } -} - -// main server util -func (e *Package) MediaRequestRemotePlayback(token int, serial string, session string, camNo int, date string, begin_time string, end_time string, serverId int) { - if end_time == "" { - e.Payload = map[string]any{ - "MODULE": "MEDIASTREAMMODEL", - "OPERATION": "REQUESTREMOTEPLAYBACK", - "PARAMETER": map[string]any{ - "STREAMNAME": "PLAYBACK" + "_" + fmt.Sprint(serial) + "_" + fmt.Sprint(camNo) + "_" + fmt.Sprint(serverId), - "STREAMTYPE": 1, // main stream - "VIDEOTYPE": 2, // common files - "CHANNEL": 1 << (camNo - 1), - "STARTTIME": date + begin_time, - "IPANDPORT": ip + ":12092", - "SERIAL": token, - "PBST": 0, - }, - "SESSION": session, - } - } else { - e.Payload = map[string]any{ - "MODULE": "MEDIASTREAMMODEL", - "OPERATION": "REQUESTREMOTEPLAYBACK", - "PARAMETER": map[string]any{ - "STREAMNAME": "PLAYBACK" + "_" + fmt.Sprint(serial) + "_" + fmt.Sprint(camNo) + "_" + fmt.Sprint(serverId), - "STREAMTYPE": 1, // main stream - "VIDEOTYPE": 2, // common files - "CHANNEL": 1 << (camNo - 1), - "STARTTIME": date + begin_time, - "ENDTIME": date + end_time, - "IPANDPORT": ip + ":12092", - "SERIAL": token, - "PBST": 0, - }, - "SESSION": session, - } - } -} - -// main server util -func (e *Package) ControlRemotePlayback(token int, serial string, session string, camNo int, date string, begin_time string, end_time string, serverId int) { - e.Payload = map[string]any{ - "MODULE": "MEDIASTREAMMODEL", - "OPERATION": "CONTROLREMOTEPLAYBACK", - "PARAMETER": map[string]any{ - "STREAMNAME": fmt.Sprint(serial) + "_" + fmt.Sprint(camNo) + "_" + fmt.Sprint(serverId), - "SERIAL": token, - "PALYBACKCMD": 5, // main stream - "CHANNEL": 268435455, // common files - }, - "SESSION": session, - } -} - -*/ diff --git a/pkg/parameters/params.go b/pkg/parameters/params.go index 7840d5c..7e0ee8c 100644 --- a/pkg/parameters/params.go +++ b/pkg/parameters/params.go @@ -280,7 +280,7 @@ type REDEV struct { CONTYPE int // ??? SW int // Источник поступаемого сигнала REPORT int // Порт камеры - REIP int // IP камеры + REIP string // IP камеры ID int // Идентификатор камеры RENAME string // Название устройства USER string // Имя пользователя