视频播放与图像捕捉

视频播放与图像捕捉

ID:38186207

大小:148.50 KB

页数:6页

时间:2019-05-25

视频播放与图像捕捉_第1页
视频播放与图像捕捉_第2页
视频播放与图像捕捉_第3页
视频播放与图像捕捉_第4页
视频播放与图像捕捉_第5页
资源描述:

《视频播放与图像捕捉》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、视频播放与图像捕捉1、DirectShow技术DirectX是美国微软公司为软件开发者提供的多媒体开发平台,它包括DirectShow,DirectDraw,Direct3D和DirectMusic等。借助于DirectX所提供的应用程序编程接口(API),软件开发者不用编写与硬件相关的代码,就可以开发出高性能的多媒体应用程序。DirectShow是为播放各种类型的视频数据、音频数据或其他多媒体数据而设计的。DirectShow支持MPEG(包括MP3),AVI,MOV,WAV,DVD等格式。软件开发者也可以拓展DirectShow,使

2、其支持自定义的格式。借助于DirectShow,我们可以很容易地实现多种格式的多媒体数据的回放、传输和捕获。DirectShow取代了早期的Windows多媒体服务、媒体控制接口(MCI),SDK等。1.1DirectShow系统如图3.1DirectShow系统DirectShow系统位于应用层中。它使用一种叫FilterGraph的模型来管理整个数据流的处理过程;参与数据处理的各个功能模块叫做Filter;各个Filter在FilterGraph中按一定的顺序连接成一条“流水线”协同工作。按照功能来分,Filter大致分为三类:So

3、urceFilters、TransformFilters和RenderingFilters。SourceFilters主要负责取得数据,数据源可以是文件、因特网、或者计算机里的采集卡(WDM驱动或VFW驱动的)、数字摄像机等,然后将数据往下传输;TransformFitlers主要负责数据的格式转换比如数据流分离/合成、解码/编码等,以及继续往下传输;RenderingFilter主要负责数据的最终去向——将数据送给显卡、声卡进行多媒体的演示,或者输出到文件进行存储。1.2DirectShow体系结构DirectShow是一个基于COM

4、(组件对象模型)的系统,由许多模块化的软件组件组成。在这个系统中,最基本的构造模块是称为过滤器(Filter)的软件组件。DirectShow将多媒体数据的处理过程分为若干步骤,每一步由一个过滤器来完成,对多媒体数据流执行一个简单的操作。过滤器有输入和输出,它接受输入并产生输出。例如,对于一个解码过滤器,它的输入是按某种格式经过编码的多媒体数据流,它输出的是经过过滤器解码的数据流。在应用程序中,为了完成对多媒体数据的处理,需要将若干过滤器连接起来,一个的输出作为另一个的输入,这样连接在一起的一组过滤器称为过滤器流水线(FilterGra

5、ph)。过滤器流水线也掌握着每一步该使用哪一个过滤器及这些过滤器之间是如何连接的。这样,多媒体数据流就在过滤器流水线上,从源过滤器经由中间过滤器移动到播放过滤器,从而得到播放。在这个过程中完成了数据的读取、解码、将数据输出到相应的设备、播放等操作。过滤器之间数据传输的细节由插头(Pin)来处理。插头实际上是一个COM对象,分为输入插头和输出插头,一个过滤器包含一个输入插头和一个输出插头,或者包含其中的一个。插头相当于过滤器之间的连结点,位于上游的过滤器的输出插头和位于下游的过滤器的输入插头连结在一起。过滤器及过滤器流水线的管理,是由一个

6、更高一级组件来完成的,即过滤器流水线管理器(FilterGraphManager),它提供对经过流水线的数据流的高级控制。通常,它会自动地为你处理数据流。应用程序一般不用直接操作过滤器,只需要执行一些较高级的调用,如运行(Run)、停止(Stop)等。1.3DirectShow的基本接口DirectShow中包含了众多的软件组件,这些组件提供了各种COM接口。有的接口提供对过滤器流水线的高级控制,有的提供低级控制,以满足不同层次的应用程序开发的需要。应用程序经常用到几个基本接口如下:(1)IGraphBuilder接口应用程序通过此接口

7、建立过滤器流水线。主要方法为:RenderFile,自动识别多媒体文件的类型、格式,建立适用于该格式的过滤器流水线。(2)IMediaEventEx接口应用程序通过此接口获得播放过程中发生的事件,如EC_COMPLETE(播放完毕)等。主要方法为:SetNotifyWindow,指定处理事件通知的窗口;GetEvent,获得事件。(3)IVideoWindow接口控制视频窗口的属性。主要方法为:put_Owner指定视频窗口的父窗口;put_FullScreenMode,指定全屏播放模式;SetWindowPosition,指定视频窗口

8、的位置;put_MessageDrain,指定一个窗口,用于接收视频窗口发出的鼠标等消息。(4)IMediaContro1接口控制过滤器流水线的运行。主要方法为:Run,开始运行;Pause,暂停运行;St

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。