首页 基于DirectShow的MPEG_4监控系统的设计与实现

基于DirectShow的MPEG_4监控系统的设计与实现

举报
开通vip

基于DirectShow的MPEG_4监控系统的设计与实现 - 26 - 2007 3 DirectX软件开发包是微软公司提供的一套在 Windows操作平台上开发高性能图形、声音、输入、输 出和网络游戏的编程接口。DirectX是众多技术的集 合,其中的DirectShow技术为在Windows平台上处理各 种格式的媒体文件的回放、音视频采集等高性能的多 媒体应用,提供完整的解决方案 。 如图1所示,DirectShow系统位于应用层,使用一 种过滤器图表的模型来管理整个数据流的处理过程; 参与数据处理的各个功能模块称为过滤器,各个过滤 器在过滤器图表中按...

基于DirectShow的MPEG_4监控系统的设计与实现
- 26 - 2007 3 DirectX软件开发包是微软公司提供的一套在 Windows操作平台上开发高性能图形、声音、输入、输 出和网络游戏的编程接口。DirectX是众多技术的集 合,其中的DirectShow技术为在Windows平台上处理各 种格式的媒体文件的回放、音视频采集等高性能的多 媒体应用,提供完整的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 如图1所示,DirectShow系统位于应用层,使用一 种过滤器图表的模型来管理整个数据流的处理过程; 参与数据处理的各个功能模块称为过滤器,各个过滤 器在过滤器图表中按一定的顺序连接成一条“流水 线”协同工作,内置的过滤器图表管理器负责过滤器 智能连接。 按功能来划分,过滤器分为三类:(1)源过滤器 负责获取数据,数据源可以是文件、网络计算机的采 集卡等,然后将数据往下传输;(2)变换过滤器负责数 据处理,如数据流分离、合成、解码、编码等,然后 将数据流继续往下传输;(3)提交过滤器负责将数据送 给显卡、声卡进行多媒体演示,或者转到文件存储。 监控系统采用客户端/服务器端模式。在监控现 场,多个摄像头采集的图像直接送入服务器,服务器 将获得的模拟信号转化为数字信号,实现本地回放。 同时,编码器将数字信号编码成MPEG-4数据用于网络 传送。客户端通过网络接收MPEG-4数据流进行解码, 解码后的多媒体流在指定目标回放,同时客户端可以 对远端现场实时监控。整个监控流程如图2所示。 DirectShow模块完成了客户端的主要功能,并为解码模 块、网络模块、回放模块提供接口。 (1)选择合适的父类 开发过滤器,选择合适的父类十分重要。CBase Filter是过滤器最上层的基类,DirectShow的软件开发包 根据不同的应用,从CBaseFilter派生了许多子类。根据 实际需要,在这些子类中选择一个做为父类就可以开 [1-6] 一、DirectShow体系结构 二、DirectShow技术的应用 1、基于MPEG-4的远程视频监控系统 2、DirectShow模块构建命令 基于DirectShow的MPEG-4 监控系统的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 与实现 钟礼秋 马 争 (电子科技大学通信与信息工程学院,成都,610054) 【摘 要】 【关键词】 介绍了DirectShow技术,并用该技术实现了一个基于MPEG-4的网络视 频监控系统,包括多媒体数据的捕捉、解码、回放、定位等功能。基于DirectShow框 架的构建方式极大地简化了复杂的多媒体程序的开发,同时实现了视频监控系统对实 时性和清晰度可调的要求,为MPEG-4应用提供了一套完整的解决方案。 DirectShow技术 MPEG-4 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 视频监控 COM技术 应用程序 事件 命令 过滤器图表 过滤器图表管理器 源媒体流 源过虑器 交换过虑器 提交过虑器 目标媒体流 图1 DirecShow的体系结构 图2 监控系统的流程图 服务器端 客户端 视频回放 网络接受 DirectShow 网络 视频采集 视频压缩 云台控制 网络发送 本地视频回放 控制命令接受 产品设计与实现 - 27 - 2007 3 发出满足要求的过滤器;有些子类本身就满足要求, 只需加入过滤器图表中,极大简化了过滤器的开发。 MPEG-1标准作为VCD工业标准的核心,其编解码 组件已经标准化,标准过滤器图表如图3所示。 目前,MPEG-4还没有标准组件,必须根据实际需 求开发相应的过滤器。参考MPEG-1过滤图表,按以下 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 设计MPEG-4的相关过滤器,如图4所示。图中各 项分别表示为:(1) 过滤器:将MPEG-1源过滤器作为 父类,从文件读取数据修改为从网络读取;(2)码过滤 器:MPEG-4的解码过滤器和MPEG-1的对应部分派生 于相同父类;(3) 提交过滤器:直接利用MPEG-1的提 交过滤器;(4)字符叠加过滤器:完全重新开发;(5)从 网络获得的MPEG-4数据不含音频部分,直接去掉 MPEG-1的相应部分。 (2)过滤器开发 本文实现了各个过滤器的代码开发,如图4所示。 DirectShow是一套完全基于COM的应用系统,过滤器本 身就是一种COM组件,所以开发过滤器就是开发一种 特殊的COM组件。 1)MPEG-4网络读取过滤器开发 参照MPEG-1文件读取过滤器,MPEG-4网络读取 过滤器由以下方面构成:(1)syncRequest:表示一个输 入和输出的请求;(2)AsyncIo:实现数据输入和输出控 制,包括同步模式和异步模式;(3)CMemStream:指定 数据源来自一块内存区域;(4) CAsyncOutputPin:实现 了一个输出针;(5) CAsynReader:实现了一个源过滤 器。 如图5所示,在源过滤器中,上层应用程序传来的 “请求”放入了数据请求队列,CAsyncIo控制该队 列。CMemStream类收到“请求”后,开始读取指定缓 冲区的数据,然后CAsyncOutputPin将数据传到下游过 滤器。 2)模式变换过滤器开发 MPEG-4 网络读取过滤器是拉模式,MPEG-4解 码过滤器是推模式;设计模式变换过滤器,输入针是 拉模式,输出针是推模式,保证过滤器图表连通。该 过滤器包括:(1)NullSp:实现了一个变换过滤器,由 CTransInPlaceFilter 派生;(2) TransInPlaceFilter:是一 个“就地”处理的变换过滤器,由DirectShow的软件开 发包提供。CTransInPlaceFilter包括一个输入针CTransIn PlaceInputPin和一个输出针CTransInPlaceOutputPin;(3) CNullSpInputPin:实现CNullSp类的输入针,由CTransIn PlaceInputPin派生,在CPullPin类辅助下实现了对上级 过滤器的“拉”功能;(4) CPullPin:CPullPin不能作为 独立的针使用,但内部有一个独立的线程CAMThread, 可以辅助输入针去“拉”数据。 3)MPEG-4解码过滤器开 MPEG-4解码器目前还没有统一的标准组件,比较 实用的有两种: 一种是微软公司的MicrosoftMPEG-4 CodecV/V/V;另一种是业界公认的性能和质量优秀 的XvidCodec,解码器源代码开放。经测试,在本系统 中使用Xvid Codec图像效果更好,所以选用Xvid Codec作为MPEG-4的核心解码库。 该过滤器仅设计了一个CXvidDecoder类,由 CVideoTransformFilter派生,实现变换过滤器框架。 CXvidDecoder类也同时继承了Cvideo TransformFilter类 的一个输入针和一个输出针。CXvidDecoder类包含了 Xvid核心解码库。 解码过滤器收到数据包以后,先检查Xvid解码器 是否激活,然后检查是否指定了输出媒体类型。如果 是,则根据指定的媒体类型调用相应的色彩空间转化 表,设置解码后媒体类型;否则解码成默认类型。解 码时,先获得输入视频数据包的指针和长度,将其拷 1 2 3 输出 输出 输出 F:\caml.mpg 输入 输入 输入 MPEG-1流分离 MPEG-1视频 MPEG-1 视频 视频 提交 提交 音频 音频音频 解码 解码 图3 MPEG-1过滤器图表 输出 输出 输出 输出输入 输入 输入 输入 MPEG-4网络 MPEG-4解码 读取过滤器 过滤器 过滤器 过滤器 过滤器 模式变换 字符叠加 视频提交 图4 MPEG-4过滤器图表 CasyncReaer CasyncRequest CAsyncIo CMemSueam CAsyncOutputPin 信息流 数据流 请求 请求数据请求队列 数据空闲队列 缓存中的数据 下游过滤器 图5 源过滤器功能关系图 产品设计与实现 - 28 - 2007 3 贝到MPEG-4解码器的缓存中。由于MPEG-4采用面向 对象的编码,其数据包的长度可变。当现场变化平缓 时,数据量较小,反之数据量明显增加。MPEG-4解码 器能自动识别每一帧图像的数据量;缓冲区中多余数 据量将作为下次解码的开始数据,如果缓冲区不够一 帧图像解码数据,返回等待下一个数据包读入后再解 码。将解码的数据打上时间戳,按顺序进行回放。解 码器接口若有XVID_DEC_CREATE,则生成一个新的 解码器;XVID_DEC_DECODE , 则解码一帧图像; XVID_DEC_DESTROY,则关闭一个解码器。 4)字符叠加过滤器 在视频流的一个时间段内实时叠加一段字符,可 以指定字符的内容、字体类型、大小、颜色、叠加位 置、存在时间。为了完成这些功能,本文设计了两个 类:CFilterOverlay类构建过滤器框架,CoverlayContro ller类完成叠加功能。 5)网络接口 当DirectShow模块内部各个功能过滤器完成后,还 必须开发该模块的外部接口,使DirectShow模块和其他 模块配合工作。外部接口主要包括网络接口、应用程 序接口和解码器接口。 网络传输中存在许多不确定因素,为了在客户端 得到实时稳定的监控图像,避免网络抖动对视频播放 的影响,本文设计的监控系统在网络接收模块和 DirectShow模块的源过滤器之间采用双缓冲技术,即建 立两个队列:(1) 空闲缓冲区队列,用于接受数据;(2) 尚未处理的数据缓冲区队列,等待源过滤器读取。双 缓冲技术将网络抖动带来的影响减小到最低。 6)应用程序接口 DirectShow模块是应用程序的直接下层模块,监控 系统客户端软件具备功能强大、操作简单、界面漂亮 等特点,DirectShow提供了相应的接口,能很好地满足 了以上要求: (1)GraphBulder接口:建立过滤器图表; (2)MediaEventEx接口:获得播放过程中发生的事 件,如播放完毕等。主要方法有SetNotifyWindow,指定 处理事件的窗口;GetEvent,获得事件; (3)IVideoWindow接口:控制视频窗口属性。主要 方法有put_Owner,指定视频窗口的父窗口;put_Full ScreenMode,指定全屏播放模式;put_MessageDrain,指 定一个窗口,用于接收视频窗口发出的鼠标消息等; (4)IMediaControl接口:控制过滤器图表的运行。 主要方法有Run,开始运行;Pause,暂停运行;Stop, 停止运行。 基于COM组件的DirectShow技术使多媒体应用开发 模块化,并且DirectShow提供的一系列功能强大的基类 极大地简化了开发过程,同时画面的质量和实时性也 得到了保证,取得了满意的视觉效果,为MPEG-4的类 似应用提供了一个完整的方案。本文设计的监控系统 在主动丢包测试时,当丢包率达到10%,画面会出现 少量的马赛克,播放依然保持流畅,完全满足远程视 频监控的要求。 三、结束语 【参考文献】 [1] 钟玉琢. 基于对象的多媒体数据压缩编码国际 标准MPEG-4及其校验模型[M]. 北京: 科学出版社, 2000. [2] COMER D E. 用TCP/IP进行网际互联[M].林 瑶,蒋慧译.北京:电子工业出版社,2003. [3]路其明. DirectShow开发 指南 验证指南下载验证指南下载验证指南下载星度指南下载审查指南PDF [M]. 北京: 清华大 学出版社,2003. [4] Audio- Video Transport Working Group, RFC1889-RTP: Atransport protocol for real-time application[S].1996. [5] Microsoft Corporation. DirectShow online document ation[DB/OL]. http://www. msdn.microsoft.com/directx/.,2005-03-25. [6] 吴 萍, 傅 彦. MPEG-4编码和流式数据传输[J]. 实验科学与技术,2003,1(3):79-92. 本文转自《电子科技大学学报》2007.02 【参考文献】 [1]谢子青 《光电隔离抗干扰技术及应用》 《现代电子技术》2003年第1卷第13期 [2]王辛之、王雷、翟成、王闪 《单片机应 用系统抗干扰技术》北京航空航天大学出版社 2001 (上接第 页)20 产品设计与实现
本文档为【基于DirectShow的MPEG_4监控系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_812312
暂无简介~
格式:pdf
大小:639KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2011-04-04
浏览量:16