directshow帮助学习笔记(翻译)

directshow帮助学习笔记(翻译)

ID:18809856

大小:2.61 MB

页数:216页

时间:2018-09-25

directshow帮助学习笔记(翻译)_第1页
directshow帮助学习笔记(翻译)_第2页
directshow帮助学习笔记(翻译)_第3页
directshow帮助学习笔记(翻译)_第4页
directshow帮助学习笔记(翻译)_第5页
资源描述:

《directshow帮助学习笔记(翻译)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、智慧的鱼--------DirctShowSDK学习笔记Directshow开发笔记(翻译)个人感觉开发自己的Filter还是要对dshow的基类要熟悉一些。所以才想起了要翻译这些东西,希望在9月底前完成这些东西。我不想它的句子有多么流畅,语法的错误有多少,我只希望能看明白就可以了智慧的鱼(LeeQiang)2004.8.20由于某些原因,SDK中的有些章节我没有翻译,如果哪位兄弟补充以后,可以将补充后的文档发给我,我也学习学习,互相学习的过程就是提高的过程。1智慧的鱼--------DirctShowSDK学习笔记1AboutDirectshow基础1.1设置dsh

2、ow的开发环境如果你用VC开发环境,一定要在Setting里设置下面的东西包含头文件Dshow.h所有的dshow应用必须包含包含动态库Strmiids.lib导出所有接口的CLSID和接口IID定义。必须包含Quartz.lib1智慧的鱼--------DirctShowSDK学习笔记1.2先演示一下dshow使用的一个例子这里暂略。1.3Direcshow概述DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。那么,DirectShow能够做些什么呢?且看,DirectShow为多媒体流的捕捉和回放

3、提供了强有力的支持。运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。它广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举。另外,DirectShow还集成了DirectX其它部分(比如DirectDraw、DirectSound)的技术,直接支持DVD的播放,视频的非线性编辑,以及与数字摄像机的数据交换。更值得一提的是,DirectShow提供的是一种开放式的开发环境,我们可以根据自己的需要定制自己的组件。DirectShow的系统

4、组成应用程序与DirectShow组件以及DirectShow所支持的软硬件之间的关系如图1所示。图1DirectShow系统框图1.4FilterGraph及其组成这篇文档中我想给讲述Directshow的主要组成部分,一个概括性的入门文章,对于应用开发或者directshow的开发者都有所帮助。1DirectShow的Filter1智慧的鱼--------DirctShowSDK学习笔记Directshow是基于模块化,每个功能模块都采取COM组件方式,称为Filter。Directshow提供了一系列的标准的模块可用于应用开发,开发者也可以开发自己的功能Filt

5、er来扩展Directshow的应用。下面我们用一个例子来说明如何采取Filter来播放一个AVI的视频文件。从一个文件读取数据,形成字节流。(这个工作由源Filter完成)检查AVI数据流的头格式,然后通过AVI分割Filter将视频流和音频流分开。解码视频流,根据压缩格式的不同,选取不同的decoderfilters。重画视频图像,通过RendererFilter。将音频流送到声卡进行播放,一般采用缺省的DirectSoundDeviceFilter。流程见下图。从上面的图表看,每一个filter都一个其他的一个或者两个filter相连接,连接点也是com对象,我

6、们称为Pin。Filter通过pin将数据从一个filter传递到另一个filter中,从而可以使数据的filter的链表中流动。图中的箭头表示filter链表中的数据流的方向。在Directshow中,一个filter链表我们称为filterGraph。Filter具有三个状态,运行,停止,暂停。当一个filter运行时,它就处理媒体数据流,当停止时,filter就不在处理数据,暂停状态常用来给运行状态之前curedata。DataFlowintheFilterGraph一章详细描述了这些概念,可以参考。除非特别的例外,所有Filtergraph中的filter的状

7、态的改变都是统一的,也就说,filtegraph中的所有的filter的状态改变是一致协调的。也就是说,我们也可以用filtergraph也可以有运行,停止,暂停三种状态。Filter一般分为下面几种类型。  (1)源过滤器(sourcefilter):源过滤器引入数据到过滤器图表中,数据来源可以是文件、网络、照相机等。不同的源过滤器处理不同类型的数据源。  (2)变换过滤器(transformfilter):变换过滤器的工作是获取输入流,处理数据,并生成输出流。变换过滤器对数据的处理包括编解码、格式转换、压缩解压缩等。  (3)提交过滤器(rend

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

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

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