MASU软件详细设计方案.doc_第1页
MASU软件详细设计方案.doc_第2页
MASU软件详细设计方案.doc_第3页
MASU软件详细设计方案.doc_第4页
MASU软件详细设计方案.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MASU软件详细设计方案0.1. 读者对象0.2. 参考文献0.3. 术语与缩写解释缩写、术语解释MASU媒体接入服务单元AAASU权限认证管理服务单元CMSU中心配置管理服务单元CCMG中心控制媒体网关MDSU媒体分发管理服务单元MSSU媒体存储管理服务单元DBSU数据库服务单元PEPW个人工作站/平台客户端1. 模块综述下图为平台系统架构图,MASU作为媒体接入服务单元在整个系统中完成图像和录像音视频数据的转发功能,以及对前台设备的控制功能。MASU模块主要包括MASP和DVRLINK两个部分,其中MASP负责网络连接,与CCMG进行连接,与MDSU进行连接,然后向CCMG发送协议信息(包括静态、动态、告警信息,通过HTTP+XML协议);向MDSU发送音视频数据信息(通过SIP+XML协议)。如下图所示:2. 连接CCMG模块连接CCMG模块主要完成与CCMG连接并交互信息。该模块需要获取DVR的相关信息,向CCMG发送。该模块需要处理CCMG下发过来的命令,然后把命令解析后发给对应的DVR。该模块需要考虑到断开重连的机制。2.1. 功能1、 向CCMG注册。2、 发送MASU基本信息。3、 发送通道信息。4、 发送告警输出。5、 发送告警状态信息。6、 维持心跳7、 CCMG对MASU校时8、 发送通道状态更新信息9、 控制命令(包括云台控制及开关量控制)10、 设置视频参数命令2.2. 性能需要能够及时准确地向CCMG发送信息;响应来自CCMG的命令,解析后向DVR发送响应的命令。2.3. 输入项xml配置文件。用户从该文件中读取相关的配置信息。主要是连接CCMG所需要的信息,以及各个DVR信息。如: 4567 。2.4. 输出项无2.5. 设计方法(算法)2.6. 流程逻辑2.7. 接口本模块和DVRLINK一起构成MASU,完成媒体接入的功能,向终端提供实时图像和录像。因此,和DVRLINK间需要有接口。图像部分可以由MASP提供回调函数,在DVRLINK一方注册。2.8. 存储分配需要分配一定的内存空间,来保存配置信息、状态信息、告警信息等,以及一定的缓冲区存储图像数据。2.9. 注释设计2.10. 限制条件2.11. 单元测试计划2.12. 尚未解决的问题2.13. 公共数据结构2.14. 典型调用方法2.15. 函数ReadConfigFile()读取配置文件。2.15.1. 输入MASU.xmlDVRconfig.xml, dvr0.xml, dvr1.xml,2.15.2. 算法使用已有方法读取每一项,保存在内存中。2.15.3. 输出各项配置信息保存在内存中。MASU信息struct _CCMGPointstd:string CCMG_ip;unsigned int CCMG_port;unsigned int masu_ID;bool bIsWorking;DVR信息struct _DVRCONFIGINFOpublic:boolbUseFlag;intiChannelNum;BYTEszDvrIp64;DWORDdwDvrIp;intiDvrPort;BYTEszUserName64;BYTEszPassword64;LONGm_lUserId;/NET_DVR_DEVICEINFOm_DeviceCfg;/NET_DEVICEINFO m_Dahua_DeviceCfg;time_tm_tmConnInterval;time_tm_tmLoginInterval;LONGm_lVoiceComHandle;/DVRCHANNELINFO*pChannelInfo;int m_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=0 dahua=1boolbSendRecPath;/add by gxt20090624*/public:BYTEBoardId64;BYTEszServerIp64;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;2.15.4. 返回成功Or失败如果失败,程序退出2.15.5. 流程(可选)无2.15.6. 典型调用方式程序启动时首先调用该函数。2.16. 函数init()初始化函数,启动线程等工作。2.16.1. 输入无2.16.2. 算法启动连接CCMG线程;class CConnectCSG:public Thread Void Run();启动连接MDSU线程。class CConnectMDSU:public Thread Void Run();2.16.3. 输出无2.16.4. 返回True:启动成功,程序运行。False:启动失败,MASU程序中止运行,并退出。2.16.5. 流程(可选)无2.16.6. 典型调用方式2.17. 函数ConnectCCMG()向CCMG注册连接。2.17.1. 输入标识类型描述masuIpchar(20)网络IP地址masuNamechar(64)MASU名称2.17.2. 算法向CCMG发送连接注册信息。2.17.3. 输出2.17.4. 返回True注册成功False注册失败,延时一定时间,然后继续返回注册2.17.5. 流程(可选)2.17.6. 典型调用方式2.18. 函数CheckTime()校时。2.18.1. 输入CCMG校时命令。标识类型描述timechar(64)源端CCMG当前时间2.18.2. 算法对自己校时,并向DVR发送校时命令。2.18.3. 输出无2.18.4. 返回True成功False失败2.18.5. 流程(可选)2.18.6. 典型调用方式2.19. SendMasuBasicInfo发送MASU基本信息。2.19.1. 输入标识类型描述MasuIdintmasuIdDvrNumintmasuIdDvrIdintDvrId DvrIpintDvrId DvrNamechar(64)Dvr名称 ChannelNumintDvr下面Channel数量DvrTypeintDvr类型ChannelIdintChannelId ChannelNamechar(64)通道名称这些数据均由函数ReadConfigFile()读取,在登陆上CCMG后立即向CCMG发送。2.19.2. 算法无2.19.3. 输出无2.19.4. 返回True成功False失败2.19.5. 流程(可选)2.19.6. 典型调用方式2.20. 函数SendChannalInfo()发送通道信息。2.20.1. 输入struct _ChannalInfoboolisOnlie;/是否在线charOptions32;/是否含有云台、球机、音频等ChannalInfo;2.20.2. 算法isOnline 是判断能否与DVR相连,如果能够连接上则表示在线,Options 从配置文件中获取。2.20.3. 输出无2.20.4. 返回True成功False失败2.20.5. 流程(可选)2.20.6. 典型调用方式2.21. 函数SendAlarmOut发送告警输出信息,告诉CCMG和PEPW该通道上有几个报警2.21.1. 输入struct _AlarmOutintorder;charalarmType64;charalarmName64;AlarmOut;2.21.2. 算法获得MASU的告警输出信息,向CCMG发送。2.21.3. 输出无2.21.4. 返回无2.21.5. 流程(可选)无2.21.6. 典型调用方式2.22. SendAlarmStatusMASU向CCMG发送告警状态信息。2.22.1. 输入struct _AlarmStatusintorderId;intalarmType;charalarmDesc64;AlarmStatus;2.22.2. 算法通过回调函数获得DVR的告警状态信息,向CCMG发送。2.22.3. 输出无2.22.4. 返回True成功False失败2.22.5. 流程(可选)2.22.6. 典型调用方式2.23. SendChannalStatusUpdateMASU向CCMG发送通道状态更新信息。2.23.1. 输入struct _ChannelStatusUpdateInfocharChangeTime20;intChangeType;charNowStatus32;charChangeDesc64;ChannelStatusUpdateInfo;changeType 主要包括以下: 1、布防 2、设备告警 3、运动侦测 4、用户告警 5、锁定 6、视频丢失 7、在线 8、录像状态2.23.2. 算法MASU获得通道的状态更新信息后,发给CCMG,再由CCMG发送给PEPW。2.23.3. 输出True成功False失败2.23.4. 返回无2.23.5. 流程(可选)2.23.6. 典型调用方式2.24. 控制输出ControlOutput并返回CCMG向MASU发送控制输出信息,MASU向DVR下发,并把DVR执行的结果上传给CCMG。2.24.1. 输入struct _ControlOutputintorder;charoutputName64;intoutputCommand;ControlOutput;2.24.2. 算法2.24.3. 输出无2.24.4. 返回True成功False失败2.24.5. 流程(可选) 无2.24.6. 典型调用方式2.25. 云台控制ControlPtz与控制输出不同点是:控制输出可只需要控制其关闭或打开。而云台控制的参数较多,如上下控制,速度控制。MASU向CCMG发送云台控制命令。2.25.1. 输入struct _ControlPtz charControluser64;int controlType;intcontrolParam;ControlPtz;2.25.2. 算法PEPW通过CCMG向CCMG发送云台控制命令,MASU把命令发给对应的DVR。2.25.3. 输出无2.25.4. 返回True成功False失败2.25.5. 流程(可选)2.25.6. 典型调用方式2.26. 设置视频参数SetChannelParaMASU接收CCMG发送的设置视频参数命令,然后转发给。2.26.1. 输入struct _SetChannelParaintframRate;int bitCode;int bright;int contrast;int color_u;intcolor_v;int hue;int Saturation;int video_size;SetChannelPara;2.26.2. 算法PEPW通过CCMG向CCMG发送控制设置视频参数命令,MASU把命令发给对应的DVR。2.26.3. 输出无2.26.4. 返回True成功False失败2.26.5. 流程(可选)2.26.6. 典型调用方式3. 连接MDSU该模块主要连接MDSU,并向MDSU发送实时和录像的音视频信息。3.1. 功能主要包括连接MDSU,发送实时图像数据,发送录像数据。3.2. 性能能够流畅的发送码流,不出现停顿现象,延时较小。3.3. 输入项来自DVR的实时和录像的音视频数据。3.4. 输出项3.5. 设计方法(算法)3.6. 流程逻辑3.7. 接口3.8. 存储分配3.9. 注释设计3.10. 限制条件3.11. 单元测试计划3.12. 尚未解决的问题3.13. 公共数据结构3.14. 典型调用方法3.15. SendVideo(string routeIP,int port)接收DVR发送过来的图像数据,并向MDSU发送。3.15.1. 输入routeIP 路由的IPport 路由的port3.15.2. 算法MASU接收到命令后,通知DVR打开图像,然后DVR把图像返回到缓冲区中,MASP从缓冲区中获取图像,发送给MDSU。3.15.3. 输出3.15.4. 返回3.15.5. 流程(可选)3.15.6. 典型调用方式无3.16. SendA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论