MASU软件详细设计方案.docx
- 文档编号:25218407
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:29
- 大小:275.14KB
MASU软件详细设计方案.docx
《MASU软件详细设计方案.docx》由会员分享,可在线阅读,更多相关《MASU软件详细设计方案.docx(29页珍藏版)》请在冰豆网上搜索。
MASU软件详细设计方案
MASU软件详细设计方案
1.1.读者对象
1.2.参考文献
1.3.术语与缩写解释
缩写、术语
解释
MASU
媒体接入服务单元
AAASU
权限认证管理服务单元
CMSU
中心配置管理服务单元
CCMG
中心控制媒体网关
MDSU
媒体分发管理服务单元
MSSU
媒体存储管理服务单元
DBSU
数据库服务单元
PEPW
个人工作站/平台客户端
2.模块综述
下图为平台系统架构图,MASU作为媒体接入服务单元在整个系统中完成图像和录像音视频数据的转发功能,以及对前台设备的控制功能。
MASU模块主要包括MASP和DVRLINK两个部分,其中MASP负责网络连接,与CCMG进行连接,与MDSU进行连接,然后向CCMG发送协议信息(包括静态、动态、告警信息,通过HTTP+XML协议);向MDSU发送音视频数据信息(通过SIP+XML协议)。
如下图所示:
3.连接CCMG模块
连接CCMG模块主要完成与CCMG连接并交互信息。
该模块需要获取DVR的相关信息,向CCMG发送。
该模块需要处理CCMG下发过来的命令,然后把命令解析后发给对应的DVR。
该模块需要考虑到断开重连的机制。
3.1.功能
1、向CCMG注册。
2、发送MASU基本信息。
3、发送通道信息。
4、发送告警输出。
5、发送告警状态信息。
6、维持心跳
7、CCMG对MASU校时
8、发送通道状态更新信息
9、控制命令(包括云台控制及开关量控制)
10、设置视频参数命令
3.2.性能
需要能够及时准确地向CCMG发送信息;响应来自CCMG的命令,解析后向DVR发送响应的命令。
3.3.输入项
xml配置文件。
用户从该文件中读取相关的配置信息。
主要是连接CCMG所需要的信息,以及各个DVR信息。
如:
。
。
。
。
。
。
3.4.输出项
无
3.5.设计方法(算法)
3.6.流程逻辑
3.7.接口
本模块和DVRLINK一起构成MASU,完成媒体接入的功能,向终端提供实时图像和录像。
因此,和DVRLINK间需要有接口。
图像部分可以由MASP提供回调函数,在DVRLINK一方注册。
3.8.存储分配
需要分配一定的内存空间,来保存配置信息、状态信息、告警信息等,以及一定的缓冲区存储图像数据。
3.9.注释设计
3.10.限制条件
3.11.单元测试计划
3.12.尚未解决的问题
3.13.公共数据结构
3.14.典型调用方法
3.15.函数ReadConfigFile()
读取配置文件。
3.15.1.输入
MASU.xml
DVRconfig.xml,dvr0.xml,dvr1.xml,……
3.15.2.算法
使用已有方法读取每一项,保存在内存中。
3.15.3.输出
各项配置信息保存在内存中。
MASU信息
struct_CCMGPoint
{
std:
:
stringCCMG_ip;
unsignedintCCMG_port;
unsignedintmasu_ID;
boolbIsWorking;
}
DVR信息
struct_DVRCONFIGINFO
{
public:
boolbUseFlag;
intiChannelNum;
BYTEszDvrIp[64];
DWORDdwDvrIp;
intiDvrPort;
BYTEszUserName[64];
BYTEszPassword[64];
LONGm_lUserId;
//NET_DVR_DEVICEINFOm_DeviceCfg;
//NET_DEVICEINFOm_Dahua_DeviceCfg;
time_tm_tmConnInterval;
time_tm_tmLoginInterval;
LONGm_lVoiceComHandle;
//DVRCHANNELINFO*pChannelInfo;
intm_iHaveRec;
intiRs485Speed;
}DVRCONFIGINFO;
通道信息
typedef_CHANNELINFO
{
/*public:
boolbUseFlag;
intm_iIndex;//此通道索引
boolm_bLoginState;
boolm_bOpenFlag;
LONGm_lFileHandle;
boolm_bGetDsTime;//zxl添加:
是否获取了ds的时间.
intm_iTimeDiff;//zxl添加:
dvrlink与ds之间的时间差.
boolbVideoSignal;
intm_iDVRType;//LY添加DVR类型hik=0dahua=1
boolbSendRecPath;//addbygxt20090624
*/
public:
BYTEBoardId[64];
BYTEszServerIp[64];
DWORDdwServerIp;
intiTcpPort;
intiInterUdpPack;
intiNumTickAckMiss;
intiTickInterval;
intiTramsMode;
intiUdpPackSize;
intiUdpPort;
//intiMotionDected;
//intiRecLostAlarm;
//亮度等参数
public:
intiBitRate;
intiBitRatePercent;
intiResolution;
intiResolutionPercent;
intiFrameRate;
intiFrameRatePercent;
intiBrightness;
intiBrightnessPercent;
intiContrast;
intiContrastPercent;
intiSatu;
intiSatuPercent;
intiHue;
intiHuePercent;
}CHANNELINFO;
3.15.4.返回
成功
Or
失败——如果失败,程序退出
3.15.5.流程(可选)
无
3.15.6.典型调用方式
程序启动时首先调用该函数。
3.16.函数init()
初始化函数,启动线程等工作。
3.16.1.输入
无
3.16.2.算法
启动连接CCMG线程;
classCConnectCSG:
publicThread
{
……
VoidRun();
}
启动连接MDSU线程。
classCConnectMDSU:
publicThread
{
……
VoidRun();
}
3.16.3.输出
无
3.16.4.返回
True:
启动成功,程序运行。
False:
启动失败,MASU程序中止运行,并退出。
3.16.5.流程(可选)
无
3.16.6.典型调用方式
3.17.函数ConnectCCMG()
向CCMG注册连接。
3.17.1.输入
标识
类型
描述
masuIp
char(20)
网络IP地址
masuName
char(64)
MASU名称
3.17.2.算法
向CCMG发送连接注册信息。
3.17.3.输出
3.17.4.返回
True——注册成功
False——注册失败,延时一定时间,然后继续返回注册
3.17.5.流程(可选)
3.17.6.典型调用方式
3.18.函数CheckTime()
校时。
3.18.1.输入
CCMG校时命令。
标识
类型
描述
time
char(64)
源端CCMG当前时间
3.18.2.算法
对自己校时,并向DVR发送校时命令。
3.18.3.输出
无
3.18.4.返回
True——成功
False——失败
3.18.5.流程(可选)
3.18.6.典型调用方式
3.19.SendMasuBasicInfo
发送MASU基本信息。
3.19.1.输入
标识
类型
描述
MasuId
int
masuId
DvrNum
int
masuId
DvrId
int
DvrId
DvrIp
int
DvrId
DvrName
char(64)
Dvr名称
ChannelNum
int
Dvr下面Channel数量
DvrType
int
Dvr类型
ChannelId
int
ChannelId
ChannelName
char(64)
通道名称
这些数据均由函数ReadConfigFile()读取,在登陆上CCMG后立即向CCMG发送。
3.19.2.算法
无
3.19.3.输出
无
3.19.4.返回
True——成功
False——失败
3.19.5.流程(可选)
3.19.6.典型调用方式
3.20.函数SendChannalInfo()
发送通道信息。
3.20.1.输入
struct_ChannalInfo
{
boolisOnlie;//是否在线
charOptions][32];//是否含有云台、球机、音频等
}ChannalInfo;
3.20.2.算法
isOnline是判断能否与DVR相连,如果能够连接上则表示在线,
Options从配置文件中获取。
3.20.3.输出
无
3.20.4.返回
True——成功
False——失败
3.20.5.流程(可选)
3.20.6.典型调用方式
3.21.函数SendAlarmOut
发送告警输出信息,告诉CCMG和PEPW该通道上有几个报警
3.21.1.输入
struct_AlarmOut
{
intorder;
charalarmType[64];
charalarmName[64];
}AlarmOut;
3.21.2.算法
获得MASU的告警输出信息,向CCMG发送。
3.21.3.输出
无
3.21.4.返回
无
3.21.5.流程(可选)
无
3.21.6.典型调用方式
3.22.SendAlarmStatus
MASU向CCMG发送告警状态信息。
3.22.1.输入
struct_AlarmStatus
{
intorderId;
intalarmType;
charalarmDesc[64];
}AlarmStatus;
3.22.2.算法
通过回调函数获得DVR的告警状态信息,向CCMG发送。
3.22.3.输出
无
3.22.4.返回
True——成功
False——失败
3.22.5.流程(可选)
3.22.6.典型调用方式
3.23.SendChannalStatusUpdate
MASU向CCMG发送通道状态更新信息。
3.23.1.输入
struct_ChannelStatusUpdateInfo
{
charChangeTime[20];
intChangeType;
charNowStatus[32];
charChangeDesc[64];
}ChannelStatusUpdateInfo;
changeType主要包括以下:
1、布防2、设备告警3、运动侦测4、用户告警5、锁定6、视频丢失7、在线8、录像状态
3.23.2.算法
MASU获得通道的状态更新信息后,发给CCMG,再由CCMG发送给PEPW。
3.23.3.输出
True——成功
False——失败
3.23.4.返回
无
3.23.5.流程(可选)
3.23.6.典型调用方式
3.24.控制输出ControlOutput并返回
CCMG向MASU发送控制输出信息,MASU向DVR下发,并把DVR执行的结果上传给CCMG。
3.24.1.输入
struct_ControlOutput
{
intorder;
charoutputName[64];
intoutputCommand;
}ControlOutput;
3.24.2.算法
3.24.3.输出
无
3.24.4.返回
True——成功
False——失败
3.24.5.流程(可选)
无
3.24.6.典型调用方式
3.25.云台控制ControlPtz
与控制输出不同点是:
控制输出可只需要控制其关闭或打开。
而云台控制的参数较多,如上下控制,速度控制。
MASU向CCMG发送云台控制命令。
3.25.1.输入
struct_ControlPtz
{
charControluser[64];
intcontrolType;
intcontrolParam;
}ControlPtz;
3.25.2.算法
PEPW通过CCMG向CCMG发送云台控制命令,MASU把命令发给对应的DVR。
3.25.3.输出
无
3.25.4.返回
True——成功
False——失败
3.25.5.流程(可选)
3.25.6.典型调用方式
3.26.设置视频参数SetChannelPara
MASU接收CCMG发送的设置视频参数命令,然后转发给。
3.26.1.输入
struct_SetChannelPara
{
intframRate;
intbitCode;
intbright;
intcontrast;
intcolor_u;
intcolor_v;
inthue;
intSaturation;
intvideo_size;
}SetChannelPara;
3.26.2.算法
PEPW通过CCMG向CCMG发送控制设置视频参数命令,MASU把命令发给对应的DVR。
3.26.3.输出
无
3.26.4.返回
True——成功
False——失败
3.26.5.流程(可选)
3.26.6.典型调用方式
4.连接MDSU
该模块主要连接MDSU,并向MDSU发送实时和录像的音视频信息。
4.1.功能
主要包括连接MDSU,发送实时图像数据,发送录像数据。
4.2.性能
能够流畅的发送码流,不出现停顿现象,延时较小。
4.3.输入项
来自DVR的实时和录像的音视频数据。
4.4.输出项
4.5.设计方法(算法)
4.6.流程逻辑
4.7.接口
4.8.存储分配
4.9.注释设计
4.10.限制条件
4.11.单元测试计划
4.12.尚未解决的问题
4.13.公共数据结构
4.14.典型调用方法
4.15.SendVideo(stringrouteIP,intport)
接收DVR发送过来的图像数据,并向MDSU发送。
4.15.1.输入
routeIP——路由的IP
port——路由的port
4.15.2.算法
MASU接收到命令后,通知DVR打开图像,然后DVR把图像返回到缓冲区中,MASP从缓冲区中获取图像,发送给MDSU。
4.15.3.输出
4.15.4.返回
4.15.5.流程(可选)
4.15.6.典型调用方式
无
4.16.SendAudio(stringrouteIP,intport)
接收DVR发送过来的图像数据,并向MDSU发送。
4.16.1.输入
routeIP——路由的IP
port——路由的port
4.16.2.算法
MASU接收到命令后,通知DVR打开图像,然后DVR把音频返回到缓冲区中,MASP从缓冲区中获取音频数据,发送给MDSU。
4.16.3.输出
4.16.4.返回
4.16.5.流程(可选)
4.16.6.典型调用方式
无。
4.17.SendRecVideo(stringrouteIP,intport)
4.17.1.输入
routeIP——路由的IP
port——路由的port
4.17.2.算法
MASU接收到打开录像命令后,通知DVR打开录像,然后DVR把录像返回到缓冲区中,MASP从缓冲区中获取录像,发送给MDSU。
4.17.3.输出
4.17.4.返回
4.17.5.流程(可选)
4.17.6.典型调用方式
4.18.SendRecAudio(stringrouteIP,intport)
发送录像音频
4.18.1.输入
routeIP——路由的IP
port——路由的port
4.18.2.算法
MASU接收到打开录像命令后,通知DVR打开录像,然后DVR把录像音频数据返回到缓冲区中,MASP从缓冲区中获取录像音频,发送给MDSU。
4.18.3.输出
4.18.4.返回
4.18.5.流程(可选)
4.18.6.典型调用方式
5.评审报告
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MASU 软件 详细 设计方案