




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VMS 2.0 视频告警模块详细设计文档VMS 2.0视频告警模块详细设计说明书文件状态: 草稿 正式发布 正在修改文件标识:当前版本:1.0所属产品VMS 2.0作 者:赵云完成日期:修订历史记录版本日期操作修订者说明1.007/12/2011A赵云初稿2.009/27/2011M蒋兴杰补充(A-添加,M-修改,D-删除)目 录1.引言41.1目的41.2背景41.3范围42.使用说明52.1需求概述52.2目标读者53.功能说明53.1 videomon模块示意图53.2功能概述63.3告警等级划分63.4告警策略63.5主线程流程图74.数据结构74.1全局变量75.接口说明95.1 告警接口95.2 视频质量接口95.3 Mdi接口105.4 Tr101290接口115.5 内容层接口111. 引言1.1目的该模块主要接收VQMon Service(分析视频质量模块)和CAnalyze Servie(内容层分析模块)发过来的视频质量参数,从而判断是否有视频流告警事件发生,如果有,则根据告警策略处理告警事件。1.2背景 IPTV 使用MPEG TS 传输码流在IP 网络上承载和传送视频基本流(ES),TS 码流中包含了各种用于视频流解码所必须的信息内容。由于MPEG TS流的损伤会直接影响机顶盒的正常解码和视频质量,因此TS流的健康状况监测对保障IPTV用户体验质量十分重要。MDI(df和mlr)、TR101290、静帧、彩条、马赛克等都是对视频流质量的监控. 本模块通过对告警划分等级,优先级高的告警抑制优先级低的告警,同时为了减少告警的频繁上报,采用了计数和抑制时间方法。1.3范围该文档对VMS 2.0视频告警模块的内容功能、数据结构和接口方面进行了详细描述,供后继开发维护人员使用。2. 使用说明2.1需求概述IPTV视频分析设备IPTV质量保障系统技术建议书2.2目标读者公司内部后继开发维护人员。3. 功能说明3.1 videomon模块示意图Videomon模块是一个独立进程,里面包含很多服务模块。Video Service:负责视频流的转发和http通信。Alarm Service:负责接收视频质量参数,判断告警和视频录制功能。VQMon Service:负责接收视频流,产生视频质量参数。CAnalyze Service:负责接收Video Service转发的视频流,并产生内容层视频质量参数。DAccess Service:负责和QCS进行通信,还有下发配置信息,比如频道信息。3.2功能概述本模块运行于VSM2.0 里面的(VideoMon)模块中,VideoMon是一个独立的进程,当VideoMon启动时,会自动加载Alarm Servie模块。Alarm Service模块初始化的时候,会注册两个线程,一个是视频质量接收线程,一个是检测断流线程(每隔5s检测一次)。 视频质量接收线程,主要负责接收其它服务模块发过来的视频质量参数,然后对这些数据进行处理,比如(达标率统计,滑动窗口处理),判断是否有告警事件发生,如果有,则根据告警类型,获得相应的告警策略,处理告警事件。 检测断流线程,主要定时检测(每隔5s检测一次)是否有频道断流事件,判断断流的方法是(当前时间 上次窗口时间 3个滑动窗口时间),如果有断流时间发生,就发送断流告警给DAccess Service模块。3.3告警类型 传输层告警:DF 、MLR、传输质量、编码质量 内容层告警:静帧、黑屏、彩条、BLOCKNESS、语法错误、LOSS_CHROMA、LUMI、RGB、马赛克 TR101290告警 断流告警以下是具体告警类型,红色为1级告警,紫色为2级告警,蓝色为3级告警,其它待定 CHANNEL_ALARM_TYPE_UNKNOW = 0,CHANNEL_ALARM_TYPE_NOSTREAM = 0x00000001,CHANNEL_ALARM_TYPE_RECUR_STREAM = 0x00000002,CHANNEL_ALARM_TYPE_TRANS_ERR = 0x00000004,CHANNEL_ALARM_TYPE_MEDIARATE_ASTATICISM = 0x00000008,CHANNEL_ALARM_TYPE_PAT_ERR = 0x00000010,CHANNEL_ALARM_TYPE_CONT_ERR = 0x00000020,CHANNEL_ALARM_TYPE_PMT_ERR = 0x00000040,CHANNEL_ALARM_TYPE_PID_ERR = 0x00000080,CHANNEL_ALARM_TYPE_CRC_ERR = 0x00000100,CHANNEL_ALARM_TYPE_PCR_ERR = 0x00000200,CHANNEL_ALARM_TYPE_PTS_ERR = 0x00000400,CHANNEL_ALARM_TYPE_CAT_ERR = 0x00000800,CHANNEL_ALARM_TYPE_MDIDF_ERR = 0x00001000, CHANNEL_ALARM_TYPE_MDIMLR_ERR = 0x00002000, CHANNEL_ALARM_TYPE_FROZEN_FRAME = 0x00004000, CHANNEL_ALARM_TYPE_BLACK_SCREEN = 0x00008000, CHANNEL_ALARM_TYPE_COLOR_BAR = 0x00010000, CHANNEL_ALARM_TYPE_BLOCKNESS = 0x00020000,CHANNEL_ALARM_TYPE_UNICAST_START= 0x00040000,CHANNEL_ALARM_TYPE_UNICAST_END= 0x00080000,CHANNEL_ALARM_TYPE_SYNTAX_ERROR = 0x00100000, CHANNEL_ALARM_TYPE_LOSS_CHROMA = 0x00200000, CHANNEL_ALARM_TYPE_LUMI_ERROR = 0x00400000, CHANNEL_ALARM_TYPE_RGB_ERROR = 0x00800000, CHANNEL_ALARM_TYPE_MOSAIC_ERROR = 0x01000000, CHANNEL_ALARM_TYPE_OTHER_CODEC_ERR = 0x10000000,CHANNEL_ALARM_TYPE_LAST = 0x80000000,CHANNEL_ALARM_TYPE_DEFAULT = 0xffffffff3.4告警策略告警主要采用以下几个策略:1:一种或者几种告警类型,可以配置成一种告警策略,告警策略里面可以配置告警否录制,录制时长,告警抑制时间,告警抑制计数。2:不包含在告警策略里面的告警,组成一个默认告警策略3:告警恢复,也是单独一种告警策略,用来恢复告警4:所有告警策略组成一个告警列表,某种告警通过告警列表,处理告警。 3.5流程图3.5.1 MSG_NOTIFY_EXTERN消息流程图 初始 i = 0 ; MSG_NOTIFY_EXTERN消息里面会判断视频是否已经衰减和在衰减时间内,如果在,就衰减视频质量的mos和codecQuant,否则就恢复ca_flag衰减标志和衰减时间。 3.5.1 MSG_NOTIFY_EXTERN消息流程图3.5.2 MSG_NOTIFY_TR101290消息流程图3.5.2 MSG_NOTIFY_TR101290消息流程图3.5.3 MSG_NOTIFY_CA_QUAL消息流程图 Ca_flag:视频质量衰减标志 false:没有衰减 true:已经衰减 3.5.3 MSG_NOTIFY_CA_QUAL消息流程图备注:MSG_NOTIFY_EXTERN消息里面会判断视频是否已经衰减和在衰减时间内,如果在,就衰减视频质量的mos和codecQuant,否则就恢复ca_flag衰减标志和衰减时间。3.5.4告警策略流程图 告警策略流程图4. 数据结构4.1全局变量#define MAX_VIDEO_RECORD_BUF_LEN 2*1024*1024 / 2Mtypedef struct bool isalarm; ACE_UINT32 alarm_level; ACE_UINT32 count; time_t time; time_t lasttime;VQMonAlarm;typedef struct ACE_Thread_Mutex mylock_; NotifSlideWindowCell notifSWListSLIDE_WINDOW_SIZE; ACE_UINT32 sWCurPointer ; ACE_UINT32 sWUseNum ; time_t lastMetricsGetTime; time_t stattime; ACE_UINT32 exist; /stream flag VideoQualityNotifnotifVal; VQMonStatistic statInfo; double lastMediaRate2; Tr101290 tr; bool isTRInit; ACE_INET_Addr src_addr_; ACE_INET_Addr dst_addr_; VQMonAlarm alarmVQMON_ALARM_SIZE; / alarm array / List list; ACE_HANDLE hfile; void *deliver; bool record_flag_; ACE_UINT32 bind_count; /绑定计数 time_t recode_start_time; /视频录制开始时间 ACE_TCHAR record_file_name_MAX_FILENAME_LEN+1; /视频录制文件名称 ACE_UINT32 position; /视频录制缓冲区位置 ACE_TCHAR record_bufMAX_VIDEO_RECORD_BUF_LEN+1; /视频录制缓冲区StreamNode;#define ALARM_LEVEL1 1#define ALARM_LEVEL2 2#define ALARM_LEVEL3 3#define ALARM_TYPE1 (CHANNEL_ALARM_TYPE_MDIDF_ERR | CHANNEL_ALARM_TYPE_MDIMLR_ERR | CHANNEL_ALARM_TYPE_NOSTREAM)#define ALARM_TYPE2 (CHANNEL_ALARM_TYPE_FROZEN_FRAME| CHANNEL_ALARM_TYPE_BLACK_SCREEN| CHANNEL_ALARM_TYPE_COLOR_BAR| CHANNEL_ALARM_TYPE_BLOCKNESS| CHANNEL_ALARM_TYPE_SYNTAX_ERROR| CHANNEL_ALARM_TYPE_LOSS_CHROMA| CHANNEL_ALARM_TYPE_LUMI_ERROR| CHANNEL_ALARM_TYPE_RGB_ERROR) #define ALARM_TYPE3 (CHANNEL_ALARM_TYPE_PAT_ERR | CHANNEL_ALARM_TYPE_PCR_ERR | CHANNEL_ALARM_TYPE_PID_ERR | CHANNEL_ALARM_TYPE_PMT_ERR | CHANNEL_ALARM_TYPE_PTS_ERR | CHANNEL_ALARM_TYPE_CRC_ERR | CHANNEL_ALARM_TYPE_CONT_ERR | CHANNEL_ALARM_TYPE_CAT_ERR | CHANNEL_ALARM_TYPE_TRANS_ERR | CHANNEL_ALARM_TYPE_OTHER_CODEC_ERR)5. 接口说明5.1 告警接口class VM_Message_Alarm_Notify : public VM_Message_Notifypublic: VM_Message_Alarm_Notify(int type = VM_Message_Notify:MSG_NOTIFY_ALARM); ACE_UINT32 alarm_type_; ACE_UINT16 is_alarm_; ACE_UINT16 alarm_level_; ACE_TCHAR alarm_time_MAX_TIME_FORMAT_LEN; ALARM_DESC alarm_desc_; bool record_flag_; ACE_TCHAR record_file_name_MAX_FILENAME_LEN;5.2 视频质量接口class VM_Message_Extern_Notify : public VM_Message_Notifypublic: VM_Message_Extern_Notify(int type = VM_Message_Notify:MSG_NOTIFY_EXTERN); / External quality. ACE_INT32 mos_; ACE_UINT32 vstq_; ACE_UINT32 codec_; float loss_rate_; float mdi_df_; float mdi_mlr_; float media_rate_;5.3 Mdi接口class VM_Message_Mdi_Notify : public VM_Message_Notify public: struct Mdi_Qual float df_; float mlr_; ACE_UINT32 mr_; / media rate ; VM_Message_Mdi_Notify(int type = VM_Message_Notify:MSG_NOTIFY_MDI); / Mdi quality. ACE_UINT32 qual_sec_num_; Mdi_Qual qual_; Mdi_Qual qual_sec_2 * CONFIG_QUALITY_CALCULATE_INTERVAL; ACE_UINT32 mlt15_; ACE_UINT32 mlt24_; ACE_UINT32 pkts_recv_; ACE_UINT32 pkts_lost_; ACE_UINT32 pkts_ooseq_;5.4 Tr101290接口class VM_Message_TR101290_Notify : public VM_Message_Notifypublic: VM_Message_TR101290_Notify(int type = VM_Message_Notify:MSG_NOTIFY_TR101290); / Video/Audio TR101290. vqmon_streammetrics_mp2tstr101290P1_t mp2ts_tr101290p1_; vqmon_streammetrics_mp2tstr101290P2_t mp2ts_tr101290p2_;5.5 内容层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房东授权开酒店合同范本
- 学校购买服务合同协议书
- 团委合作共建协议书范本
- 学校后勤用工合同协议书
- 如何写协议不在场协议书
- 委托演出机构合同协议书
- 平面广告形象大使协议书
- 如何写合同投资合同范本
- 装修外包施工安全协议书
- 未完工船舶转让合同范本
- 国家安全知识题库
- T/CCMA 0095-2020非公路自卸车操作使用规程
- JJF(京) 122-2024 测量仪器与智能传感科技成果概念验证实施规范
- 合资公司经营协议书
- 湘科版 五年级科学上册 全册教案
- 《智能设备故障诊断》课件
- 高中生德育教育主题班会
- 租赁冷库协议书范本
- 一线班组质量奖申报材料
- 消毒供应质量控制指标(2024年版)
- 中国帕金森病步态障碍管理专家共识(2025年)解读课件
评论
0/150
提交评论