Compare commits
	
		
			1 Commits
		
	
	
		
			v2.1.2-alp
			...
			v2.1.3-alp
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						6012bccf64
	
				 | 
					
					
						
@@ -88,3 +88,49 @@ type EventModelGetAlarmingResponse struct {
 | 
				
			|||||||
	VideoLossAlarmMask   uint `json:"VL_AT"`
 | 
						VideoLossAlarmMask   uint `json:"VL_AT"`
 | 
				
			||||||
	VideoLossStatusMask  uint `json:"VL_AS"`
 | 
						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"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,110 +51,3 @@ type MediaStreamModelControlStreamRequest struct {
 | 
				
			|||||||
	AudioValid uint       `json:"AUDIOVALID,omitempty"`
 | 
						AudioValid uint       `json:"AUDIOVALID,omitempty"`
 | 
				
			||||||
	FrameMode  uint       `json:"FRAMEMODE,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,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -280,7 +280,7 @@ type REDEV struct {
 | 
				
			|||||||
	CONTYPE int    // ???
 | 
						CONTYPE int    // ???
 | 
				
			||||||
	SW      int    // Источник поступаемого сигнала
 | 
						SW      int    // Источник поступаемого сигнала
 | 
				
			||||||
	REPORT  int    // Порт камеры
 | 
						REPORT  int    // Порт камеры
 | 
				
			||||||
	REIP    int    // IP камеры
 | 
						REIP    string // IP камеры
 | 
				
			||||||
	ID      int    // Идентификатор камеры
 | 
						ID      int    // Идентификатор камеры
 | 
				
			||||||
	RENAME  string // Название устройства
 | 
						RENAME  string // Название устройства
 | 
				
			||||||
	USER    string // Имя пользователя
 | 
						USER    string // Имя пользователя
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user