⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nettrans.h

📁 MPEG4网络视频服务器客户端图象监控软件
💻 H
字号:
/********************************************************************
	created:	2002/07/28
	created:	28:7:2002   22:59
	filename: 	E:\WORK\0730\DvsServer\NetTrans.h
	file path:	E:\WORK\0730\DvsServer
	file base:	NetTrans
	file ext:	h
	author:		Sun_J
	
	purpose:	net ~~~
*********************************************************************/

#define		IP2SERVER		0x7FFFFFFF	//是上传数据	
#define		SERVER2IP		0x80000000	//是下传数据
#define		SERVER2CLIENT	0x7FFFFFFF	//-->
#define		CLIENT2SERVER	0x80000000	//<--

/*编码卡复位   + DWORD(0:default reset dsp;1:reset whole card)*/
#define		SYSRESET		0x11000001	//编码卡复位   + NULL

#define		SYSINIT			0x11000002	//编码卡初始化 + INITINFO 数据结构
//编码卡收到SYSINIT信息后,予留10s,不处理其他命令,但是要处理HEARTBEAT信号

#define		VIDEOSTART		0x11000003	//开始视频传输 + AVINFO 数据结构
//发送此命令需要确认数据通道已经连接

#define		VIDEOSTOP		0x11000004	//结束视频传输 + AVINFO 数据结构
//不发送数据,不关闭数据通道连接

#define		DEVICECTRL		0x11000005	//云台控制	   + DEVICEINFO 数据结构	
//ACK_CTRL

#define		SPCONFIG		0x11000006	//配置云台串口 + INITINFO()
//
#define		LAMPCTRL		0x11000007	//打开灯光		+ ALERTINFO

#define		VIDEORATE		0x11000008	//编码器的数据量 + INITINFO()
//分为0~5 六个档 ,0为默认为最高

#define		ALERTSIGNAL		0x22000001	//报警信号	   + ALERTINFO 数据结构	
//PC端处理

#define		INITREADY		0x22000002	//初始化成功   + NULL
//表示可以处理其他命令, 如果失败就不发送任何消息,用超时判断

#define		HEARTBEAT		0x33000001	//心跳信号	   + DWORD()	
//此信号每10s发送一次,如果超时则认为编码卡出问题,回复也用此命令字

#define		ACKNOWLEDGE		0x44000001	/*确认消息  + DWORD(命令代码)	*/	
//

#define		VIDEOSWITCH		0x55000007	//切换视频传输
#define		QUERY_SWITCH	0x55001007	//子命令	   + SWITCHINFO 数据结构
#define		CAN_SWITCH		0x55002007	//sub cmd	   + SWITCHINFO 数据结构
#define		NOT_SWITCH		0x55003007	//sub cmd	   + SWITCHINFO 数据结构
//此命令PC ~ PC 使用; 对编码卡翻译成VIDEOSTART命令	

#define		VIDEOSOURCE		0x66000001	//发送版卡信息
//发送板卡信息

#define		PCMESSAGE		0x77000001	//PC之间的消息通信	
//发送PC消息

#define		PLACEDEFEAT		0x88000001	//布防处理(?? :))  + NULL
//dwSubCmd = TRUE, 允许报警;	dwSubCmd = FALSE, 不处理报警

#define		RECYCLEVIEW		0x99000001	//循环显示		+ RECYCLEINFO 数据结构
#define		RECYCLEMESSAGE	0x99000002	//循环消息		+ ALERTINFO	数据结构	

/*控制信号*/
typedef struct tagCmdSignal
{
	DWORD	dwFlag;						//标志,= 0x7FFFFFF or 0x80000000
	DWORD	dwMainCmd;					//主要命令
	DWORD	dwSubCmd;					//附加命令
	DWORD	dwLength;					//结构长度
}CMD_SIGNAL;


/*视频数据*/
#define		DATA_HEADER		0x00000000	//一帧数据的开头
#define		DATA_BODY		0x00000001	//一帧数据的中间
#define		DATA_TAIL		0x00000002	//一帧数据的结尾
#define		DATA_FULL		0x00000003	//包含整个一帧图象数据	

typedef struct tagVideoData
{
	DWORD	dwFlag;						/* = 0x7FFF FFFF*/
	DWORD	dwIsKeyFrame;				//是否关键帧, 在数据的第一包加上
	DWORD	dwDataType;					//数据类型
	DWORD	dwDataLen;					//数据包的有效长度
}VIDEO_DATA;


/*压缩后图象结构*/
typedef struct tagBlockInfo
{
	DWORD	dwLength;			//长度。
	DWORD	iCameraID	: 1;	//摄像机的编号。
	DWORD	iColor		: 1;	//是否彩色	0:	彩色	1: 黑白。
	DWORD	iBmpSize	: 2;	//图像尺寸	0:	352X288 1: 704x576 2: 176X144。
	DWORD	iReserve1	: 4;	//保留数据1。
	DWORD	iVersion	: 4;	//版本号。
	DWORD	iUnUse		: 20;	//无用数据。
	DWORD	bKeyFrame	;		//小帧号,0:静态,1:动态。
//	DWORD	wReserve2	: 31;	//保留数据2。
}BLOCKINFO;


/*编码卡信息*/
#define		CARD_NOTINIT	0x00000000	//编码卡未被初始化
#define		CARD_INIT		0x00000001	//编码卡初始化但未连接
#define		CARD_READY		0x00000002	//编码卡准备连接
#define		CARD_START		0x00000003	//编码卡正在传输数据
#define		CARD_ERROR		0x00000004	//错误
#define		CARD_ALERT		0x00000005	//编码卡报警
#define		CARD_RECYCLE	0x00000006	//循环显示

/*摄象机信息*/
#define		PTZ_WANLI		0x00000000	//使用万力协议
#define		PTZ_NANWANG		0x00000001	//使用难忘协议
#define		PTZ_ALEC		0x00000002	//使用ALEC协议
#define		PTZ_GENERAL		0x00000003	//使用通用云台

/*报警类型信息*/
#define		ALERT_SMOG		0x00000000	//烟雾报警
#define		ALERT_INFRARED	0x00000001	//红外报警
#define		ALERT_OTHER		0x00000002	//其他报警

typedef struct tagBranceInfo
{
	char	szBranceName[60];		//摄象机所对的区域名称
	BOOL	bDevice;				//是否有云台
	BOOL	bLamp;					//是否有灯
	DWORD	dwPtzProtocol;			//云台协议
	DWORD	dwPtzID;				//云台地址
	DWORD	dwAlertType;			//报警类型
	DWORD	dwBaudRate;				//波特率 1200; 2400; 4800; 9600
}BRANCEINFO;

typedef struct tagCardInfo
{
	DWORD	dwCardState;			//编码卡状态
	char	szCardName[64];			//编码卡名称
	char	szCardIP[16];			//IP地址
	UINT	uiCmdPort;				//命令端口
	UINT	uiDataPort;				//数据端口
	DWORD	dwActiveBrance;			//哪一路正在被观看
	DWORD	dwUserPriority;			//用户等级
	DWORD	dwLinkNumber;			//正在连接的路数
	DWORD	dwReserve1;				//
	DWORD	dwReserve2;				//
	BRANCEINFO	Brance[8];			//摄象机信息

}CARDINFO;


/*视频开始和结束*/
typedef struct tagAVInfo
{
	DWORD	dwGUID;					//根据IP地址计算出的GUID,唯一确定编码卡
	DWORD	dwActiveBrance;			//此编码卡的第几路信号
	DWORD	dwUserPriority;			//用户等级
	DWORD	dwReserve;				//
}AVINFO;

/*工作站信息*/
typedef struct tagClientInfo
{
	char	szUserName[60];			//工作站登录用户
	DWORD	dwUserPriority;			//等级
	char	szIPAddr[16];			//工作站IP地址
	UINT	uiCmdPort;				//命令端口
	UINT	uiDataPort;				//工作站数据端口
	
}CLIENTINFO;

/*心跳信号*/
#define		HEART_HEART_BEAT	0x12348765	//?

/*切换信息*/
typedef struct tagSwitchInfo
{
	char	szUserName[60];		//工作站用户
	DWORD	dwGUID;				//需要切换视频的编码卡的GUID
	char	szSourBrance[60];		//支路名称
	char	szDestBrance[60];		//只路名称
	DWORD	dwReserve;			//
}SWITCHINFO;
/////////////////////////////////////////////////////
//QUERYSWITCH:	USER NEED SWITCH IP CARD FROM SOUR TO DEST?
//CANSWITCH:	USER ACCEPT SWITCH IP CARD FROM SOUR TO DEST
//NOTSWITCH:	USER REFUSE	SWTICH IP CARD FROM SOUR TO DEST
/////////////////////////////////////////////////////

/*用户信息*/
typedef struct tagUserInfo
{
	BOOL	bUserState;			//状态	0:删除	1:使用中
	DWORD	dwUserPriority;		//用户等级
	char	szUserName[60];		//用户名称
	char	szPassword[40];		//用户密码

}USERINFO;

/*云台控制信息*/
typedef struct tagDeviceInfo
{
	DWORD	dwCardGUID;			//板卡的GUID
	DWORD	dwActiveBrance;		//需要作的处理
	DWORD   dwCtrlSize;
	char	szCtrlBuf[32];		//控制命令不超过32 BYTE

}DEVICEINFO;

/*报警信息*/
typedef struct tagAlertInfo
{
	char	szCardIP[16];		//编码卡的IP地址
	DWORD	dwActiveBrance;		//报警的支路
	DWORD	dwDealMode;			//编码卡进行何种的报警处理
	DWORD	dwReserve;			//
}ALERTINFO;

/*初始化信息*/
typedef struct tagInitInfo
{
	DWORD	dwBmpSize;			//图象大小	0:	352X288 1: 704x576	2: 176X144。
	DWORD	dwColor;			//是否彩色  0:	彩色	1: 黑白
	DWORD	dwBaudRate;			//波特率	0:	1200	1: 2400		2: 4800	  3:  9600
	DWORD	dwByteSize;			//数据位	8, 9, 10
	DWORD	dwParity;			//奇偶		0:  不校验  1: 奇校验   2: 偶校验 3:   全校验
	DWORD	dwStopBits;			//停止位	0, 1, 2
	DWORD	dwReserve1;			//开始位	0, 1, 2
	DWORD	dwReserve2;			//保留		
}INITINFO;

/*循环显示信息*/
typedef struct tagRecycleInfo
{
	char	szCardIP[16];		//编码卡IP地址
	DWORD	dwOldBrance;		//恢复 :)
	DWORD	dwStartBrance;		//开始的支路
	DWORD	dwStopBrance;		//结束的支路
	DWORD	dwTimeSpace;		//显示一路的时间间隔 s
}RECYCLEINFO;

/*
struct LOGFILE
{
	DWORD	dwLogType;			// 事件类型0 = login; 1 = logout
	char	szUser[40];			// 用户							
	DWORD	dwPriority;			// 用户优先等级					
	char	szHost[40];			// 主机名						
	char	szDate[20];			// 日期							
	char	szTime[20];			// 时间							
};
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -