网络数字视频监控系统客户端核心模块的设计与实现.pdf
《网络数字视频监控系统客户端核心模块的设计与实现.pdf》由会员分享,可在线阅读,更多相关《网络数字视频监控系统客户端核心模块的设计与实现.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1 0 卷2 0 1 0 龟第1 0 期1 0 月中国水运C hin aW a t e rT r a n s p o r tV o I 1 0O c t o b e rN o 1 02 0 1 0网络数字视频监控系统客户端核心模块的设计与实现王维平1,陈(1 杭州电子科技大学电子信息学院,浙江杭州3 1 0 0 1 8;李22 杭州超距科技有限公司,浙江杭州3 1 0 0 1 2)摘要:随着T C P I P 的发展,网络数字视频监控系统的发展也越来越受到人们的关注。文中提出了一种嵌入式网络视频监控系统客户端的设计与实现方案。简要介绍了客户端的系统架构和各模块的功能,重点介绍了核心功能模块的
2、设计思想。关键词:网络数字视频监控系统;控制连接;媒体连接中图分类号:T P 2 7 7文献标识码:A文章编号:1 0 0 6 7 9 7 3(2 0 1 0)1 0-0 1 0 7 0 3一、网络数字监控网络数字监控就是将传统的模拟视频信号转换成数字信号,通过计算机网络来传输,通过智能化的计算机软件来处理【l I。系统将传统的视频、音频及控制信号数字化,以I P 包的形式在网络上传输,实现了视频音频的数字化、系统的网络化、应用的多媒体化以及管理的智能化。二、网络视频监控客户端构成和工作原理1 系统构成本系统主要是针对家庭信息终端中的视频监控模块而设计的,通过机顶盒来访问视频监控服务器进行视频
3、监控。整个系统具有监控源视频数据播放功能、排程录影功能、事件触发录影功能。视频监控客户端的软件结构图如图1 所示:广数磊主羔6 卜专盏篓裂胬1 f 砷时t一l lJ lI 监a n z e 控源r a s o 设I u r。:C a m 录影e r a 控制r e。oa 监控m e r a 源播pa 放y e r 名F f pI a y一上一,一f|le。I图1 系统架构图视频监控客户端的软件结构主要由四个部分组成,它们分别是监控源设置部分、监控源播放部分、录影界面部分以及录影控制部分。录影界面部分负责接收用户对各监控源录影信息的设置,该系统支持的录影类型有事件触发录影和排程录影,用户可以设置
4、在某一天的某个时段开始对某个频道进行录影,并将这些录影信息存入数据库;录影控制进程从数据库中读取录影信息并在录影条件满足的时候通知相应的监控源开始录影;监控源设置界面负责接收用户对监控源信息的管理,可以添加、删除、修改监控源信息,并将这些信息存入数据库和配置文件;监控源播放进程是监控源播放的界面,它是整个视频监控客户端的核心,它负责和相应的监控源通过x m l 消息进行通信,和监控源建立连接、登陆,同时还要完成与播放器的信息交互,在获得了监控源的身份认证后启动播放器接收、解码、播放来自监控源的视频数据。2 基本工作原理录影界面模块和录影控制模块共同实现系统的录影设置功能,但它们并不进行实际的录
5、影工作,它们的功能仅仅是通知监控源播放模块哪些频道要在何时进行录影;而监控源设置模块实现对监控源信息的设置,从而让监控源设置模块知道应该以何种方式连接并播放哪些频道;因此,整个客户端系统的核心就落在了监控源播放模块,系统设计的重点和难点也就在于监控源播放模块的设计与实现。三、监控源播放模块的设计与实现1 监控源播放模块基本功能设计监控源播放模块是视频监控客户端的核心模块,因此它应具备如下的功能:与监控源建立控制连接,并获取相关参数;与媒体播放器播放器进行通信,控制播放器接收解码并播放音视频数据以及编码、发送音频数据;远程控制摄像头;接收并响应用户的界面操作;以多播方式自动寻找同网段的媒体服务器
6、以及以广播方式向中继服务器询问所有被中继的媒体服务器信息;远程设置监控源的视频信息;监控源播放模块包含状态管理子模块s t a t eh a n d l e r、s t a t em o n i t o r 子模块、f i f o 子模块、G U I 子模块和t i m e r子模块。其中,状态管理模块是监控源播放模块的核心和基础,它就像一个处理器一样接收来自各个模块的请求,为了增强系统的扩展性,模块之间的接口必须尽量简单而且统一。状态管理模块采用单线程的事件处理机制,因此它与其他模块的接口就是一个消息(事件)队列。采用这种机制也可以在很大程度上避免多线程同步带来的问题。根据消息(事件)的来源
7、可以将它分为如下几大类:用收稿日期:2 0 1 0 0 7 3 0作者简介:王维平(1 9 6 0),男,浙江温州人,杭州电子科技大学电子信息学院工程师,研究方向为电子与自动化。基金项目:浙江省科技专项重点项目(2 0 0 8 C 111 0 4 2)资助万方数据1 0 8中国水运第1 0 卷户操作事件,客户请求响应事件服务器端通知事件,定时器事件,播放器事件和异常状态事件。状态处理模块与其他模块之间的接口如图2 所示:图2 状态处理模块与其他模块的接口监控源播放模块的大致流程如图3 所示,该进程启动后,首先会进行一些初始化工作,主要是读配置文件和数据库进行频道列表的初始化;然后构造监控源播放
8、界面;接着就会启动x m l、F I F O、s t a t eh a n d l e r、s t a t em o n i t o r 以及t i n l e r 线程,最后就会调用S t a r t M e d i a C o n n 函数来连接播放监控源。图3o a m e r a pJa y e r 模块主流程2 状态管理模块一个完整的监控连接状态包括控制连接的状态和媒体连接的状态。以下是一个完整的监控连接过程:I N I T:控制连接初始化C O N N E C T:控制连接建立L o G I N:登陆成功R E S E T:服务器编码重启S R E C E I V I N G:播放
9、器缓冲数据S D E C o D l N 融播放器解码数据S D I S P“m N G:播放器显示数据状态管理模块在完成了控制连接后要发送三个消息才能完成媒体数据的播放,它们分别是S T A R T _ F F P L A Y、S T A R TD E C O D E 和S T A R T _ D I S P L A Y,媒体播放器f f p l a y会依次返回S T A R T _ F F P 帆o K、S T A R T _ D E C O D E _ O K和S T A R T _ D I S P L A Y _ O K 消息给状态管理模块。该模块将频道状态分为三种,分别是G A N
10、 E R A、T D E C O D I N G 和T D I S P L A Y I N G,G A N E R A L 频道一般并不建立媒体连接,而是只维持控制连接,G A N E R A L 频道只有需要录影时才会建立媒体连接;T D E C O D I N G 频道建立了控制连接和媒体连接,并且会对媒体数据进行解码,但是解码后的视频并不播放出来,这种频道是为了实现在自动播放模式下频道的无缝切换,这种频道向f f p l a y 发送了S T A R T _ F F P L A Y和S T A R T _ D E C O D E消息;T D I S P L A Y I N G 频道建立了
11、控制连接和媒体连接,并且对接收到的数据进行解码和播放,它向f f p l a y 发送了S T A R T _ F F P L A Y、S T A R T _ D E C O D E 和S T A R T _ D I S P L A Y消息。这三种频道拥有不同的状态机。状态管理模块的核心任务就是维护这三种频道各自的状态机以及它们之间的相互转换。一般频道的状态转换如图4 所示:囝四连嗽功 _ C O N N E C T 重启消息L 0 6 盯1 接收数据和录影重启完成消童1 一。停止或异常r I 遗s E f l重启消息一f 吾i 豇趸菹I v I N d 图4 一般频道的状态转换缓冲并解码频道
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 数字视频 监控 系统 客户端 核心 模块 设计 实现
限制150内