欢迎来到天天文库
浏览记录
ID:34540214
大小:446.11 KB
页数:9页
时间:2019-03-07
《基于directshow的多媒体流系统设计与应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第28卷第10期计算机工程与设计2007年5月V01.28No.10ComputerEngineeringandDesignMay2007基于DirectShow的多媒体流系统设计与应用李艳辉,李军(暨南大学珠海学院计算机系。广东珠海519070)摘要:阐述了DirectShow的基本原理,给出了基于DirectShow的应用系统开发的基本思想.基本方法。通过实例讨论了多媒体流的捕获和播放技术以及DirectShow过滤器和过滤器图管理器的构建和管理;讨论了利用VisualC++实现基于Direct-Show的多媒体流系统开发的关键技术,并对多媒体系统实现的开发方法和编程过程做
2、出说明,并给出核心代码。结果表明,在此基础上实现的多媒体应用系统,具有更好的可重用性和可扩展性,缩短了开发周期。关键词:过滤器图管理器;多媒体流;接口方法;视频点播;多媒体开发中图法分类号:TP311文献标识码:A文章编号:1000—7024(2007)10-2379—02DesigningandapplicationofmultimediastreamsystembasedonDirectShowLIYah-hui,LIJun(DepartmentofComputer,ZhuhaiSchool,JinanUniversity,Zhuhai519070,China)Abstract:T
3、hemainprincipleofDirectShowisintroduced,anditisproposedhowtodevelopamultimediaapplicationsystemwithDi—rectShow,includingitsideaandmethod.Severalkeytechnology,suchascreatingandmanagingfilterandfiltergraphofcapturingandplayingstreamingmedia,aledemonstratedbyanexample,andthekeytechniqueusingVisualC
4、++forDirectShowalediscussedandthedevelopmentmethodandthecoreofsourcecodealepresentedf.orthemultimediasystem.TheresultsshowthatmediastreamsystembasedonDirectShowhasbetterreusabilityandextensibility,andthedevelopingcycleCanbeshoaer.Keywords:filtergraphmanger;multimediastream;interfacemethod;videoO
5、ildemand;multimediadevelopmentO引言随着计算机网络和多媒体技术的发展,多媒体已经广泛地应用于在线电视、视频点播、远程教育、在线影院,视频和音频捕获成为多媒体应用中的关键环节和重要前提。DirectShow提供高质量的多媒体数据流的捕获和回放功能,广泛支持多种媒体格式,包括ASF、MPEG、AvI、DV、MP3和WAV等,同时DirectShow对vFW具有良好的兼容性,并具有其无法比拟的优势,包括支持大量多媒体数据捕获的同时可通过网络传播和播放,支持视频与音频在捕获和播放中的完全同步,支持来自不同媒体源数据捕获的合成等。DirectShow的出现简化了多媒
6、体的应用开发,使我们从复杂的数据传输、硬件差异、流同步等工作中解放出来o“。1DirectShow的基本原理在多媒体应用技术中,对多媒体大量的数据传输、快速的数据处理要求、音视频流的同步、媒体流的格式转换等一直是需要解决的主要问题。DirectShowSDK是微软公司提供的一套在Windows平台上进行媒体处理的开发包,它为多媒体流的捕捉和回放提供了强有力的支持。运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理,如将数据存储到文件中或者通过网络发送。DirectShow广泛地支持各种媒体格式,包括asf.mpeg、avi、rap3
7、、wave等,使得多媒体数据的回放变得简单。参与多媒体数据处理的各功能模块叫做过滤器,每个过滤器除了接收流输入和产生流输出外,一般仅对所经过的流执行一个简单任务,如编码、解码等。按照功能,主要将过滤器分为3类:源过滤器、变换过滤器和提交过滤器,其中SourceFilter负责从数据源获取数据,这些数据可以来自本地文件、网络或者采集卡等;TransformFilter负责从获得数据,并负责对数据的处理和传输;RenderingFilter贝U负责
此文档下载收益归作者所有