📄 subject_28604.htm
字号:
<p>
序号:28604 发表者:YoungSnake 发表日期:2003-01-22 17:21:15
<br>主题:谢谢 王周冰 的回答 但 能讲细一些么!!
<br>内容:direct show 是什么<BR><BR><BR>能解决何将程序与采集卡连起来的问题么<BR><BR>介绍几本书吧 谢谢了!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:bird 回复日期:2003-01-22 18:16:07
<br>内容:vchelp上的高手文章:<BR> DirectShow系列讲座之一——DirectShow系统概述 作者 陆其明<BR><BR><BR>流媒体的处理,以其复杂性和技术性,一向广受工业界的关注。特别伴随着因特网的普及,流媒体在网络上的广泛应用,怎样使流媒体的处理变得简单而富有成效逐渐成为了焦点问题。选择一种合适的应用方案,事半功倍。此时,微软的DirectShow,给了我们一个不错的选择。<BR>DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。目前,DirectX最新版本为8.1。<BR>那么,DirectShow能够做些什么呢?且看,DirectShow为多媒体流的捕捉和回放提供了强有力的支持。运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。它广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举。另外,DirectShow还集成了DirectX其它部分(比如DirectDraw、DirectSound)的技术,直接支持DVD的播放,视频的非线性编辑,以及与数字摄像机的数据交换。更值得一提的是,DirectShow提供的是一种开放式的开发环境,我们可以根据自己的需要定制自己的组件。<BR>接下去,我们需要对DirectShow系统有个整体的印象。参见以下DirectShow的系统示意图:<BR>图中央最大的一块即是DirectShow系统。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程;参与数据处理的各个功能模块叫做Filter;各个Filter在Filter Graph中按一定的顺序连接成一条“流水线”协同工作。大家可以看到,按照功能来分,Filter大致分为三类:Source Filters、Transform Filters和Rendering Filters。Source Filters主要负责取得数据,数据源可以是文件、因特网、或者计算机里的采集卡、数字摄像机等,然后将数据往下传输;Transform Fitlers主要负责数据的格式转换、传输;Rendering Filtes主要负责数据的最终去向,我们可以将数据送给声卡、显卡进行多媒体的演示,也可以输出到文件进行存储。值得注意的是,三个部分并不是都只有一个Filter去完成功能。恰恰相反,每个部分往往是有几个Fitler协同工作的。比如,Transform Filters可能包含了一个Mpeg的解码Filter、以及视频色彩空间的转换Filter、音频采样频率转换Filter等等。除了系统提供的大量Filter外,我们可以定制自己的Filter,以完成我们需要的功能。下图是一条典型的Avi文件回放Filter Graph链路:<BR><BR>在DirectShow系统之上,我们看到的,即是我们的应用程序(Application)。应用程序要按照一定的意图建立起相应的Filter Graph,然后通过Filter Graph Manager来控制整个的数据处理过程。DirectShow能在Filter Graph运行的时候接收到各种事件,并通过消息的方式发送到我们的应用程序。这样,就实现了应用程序与DirectShow系统之间的交互。下图给出了DirectShow应用程序开发的一般过程:<BR><BR><BR>以上简单介绍了DirectShow的系统结构,希望大家对这个强劲的应用框架已经有了大概的认识。如果你有兴趣,可以详细研究DirectX的帮助文档。DirectShow是一个强大的开发包;另外,它是基于COM的,因此要求程序员具有COM编程的一些基本知识。关于如何深入学习DirectShow应用结构以及开发自己的Filter,请参阅笔者的后续文章。笔者将从编程的角度,详细讲述来源于实际工作中的经验之谈。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:bird 回复日期:2003-01-22 18:17:23
<br>内容:网上的一个小例子,拿去看看吧!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bird 回复日期:2003-01-22 18:19:15
<br>内容:DirectShow系列讲座之一——DirectShow系统概述 作者 陆其明<BR><BR>你可以找找,还有后面的!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:YoungSnake 回复日期:2003-01-22 22:44:54
<br>内容:太谢谢了<BR><BR>我已经找5 天了终于找到了 太感谢了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -