DirectShow应用程序设计介绍
2005-04-12 14:50
267 查看
这篇文章包含两方面内容:Filter Graphs , 写一个DShow应用程序
一、 Filter Graphs
DShow的基本软构件块是一种叫做filter的组件。A Filter一般只执行基于多媒体数据上的单一的操作。例如,有一些DShow Filter有如下功能:
1、 读文件
2、 从视频采集卡上获取视频
3、 为某一种流格式的数据解码,比如 MPEG—1
4、 传送数据到 the graphics(屏幕的画面) 或声卡
Filters接收输入(多媒体数据),生成输出(多媒体数据)。例,假如a filter解码MPEG-1视频数据,则输入就是MPEG编码流,输出就是解码后的RGB视频流(原始视频流)。
为了执行给定的任务,应用程序往往需要连接多个filters。一系列连接的filters叫做a filter graph。图1—1显示了播放一个AVI文件的a filter graph。 图1—1在a filter graph里,你的应用程序不需要管理单独的filters。取而代之的是,DShow提供了一个叫the Filter Graph Manager的上层组件(简化了filters的管理)。The Filter Graph Manager控制了通过the graph的数据流动。
另外,the Filter Graph Manager简化了a filter graph的创建过程。例如,你可以指定一个文件名,然后the Filter Graph Manager将会生成a graph去播放文件。
二、写一个DShow应用程序
一个典型的DShow应用程序会执行如图2—1所示三个基本步骤。
图2—11、 创建the Filter Graph Manager的一个实例。使用CoCreateInstance函数。2、 用the Filter Graph Manager生成a filter graph。(当然可以用其他组件)3、 操作the filter graph和响应事件。
一、 Filter Graphs
DShow的基本软构件块是一种叫做filter的组件。A Filter一般只执行基于多媒体数据上的单一的操作。例如,有一些DShow Filter有如下功能:
1、 读文件
2、 从视频采集卡上获取视频
3、 为某一种流格式的数据解码,比如 MPEG—1
4、 传送数据到 the graphics(屏幕的画面) 或声卡
Filters接收输入(多媒体数据),生成输出(多媒体数据)。例,假如a filter解码MPEG-1视频数据,则输入就是MPEG编码流,输出就是解码后的RGB视频流(原始视频流)。
为了执行给定的任务,应用程序往往需要连接多个filters。一系列连接的filters叫做a filter graph。图1—1显示了播放一个AVI文件的a filter graph。 图1—1在a filter graph里,你的应用程序不需要管理单独的filters。取而代之的是,DShow提供了一个叫the Filter Graph Manager的上层组件(简化了filters的管理)。The Filter Graph Manager控制了通过the graph的数据流动。
另外,the Filter Graph Manager简化了a filter graph的创建过程。例如,你可以指定一个文件名,然后the Filter Graph Manager将会生成a graph去播放文件。
二、写一个DShow应用程序
一个典型的DShow应用程序会执行如图2—1所示三个基本步骤。
图2—11、 创建the Filter Graph Manager的一个实例。使用CoCreateInstance函数。2、 用the Filter Graph Manager生成a filter graph。(当然可以用其他组件)3、 操作the filter graph和响应事件。
相关文章推荐
- WinForm应用程序框架设计之WinAction(介绍)
- jphone项目设计介绍(一个基于C++的应用程序框架以及软电话和日志服务器应用)
- Android应用程序窗体设计框架介绍
- Android应用程序窗口设计框架介绍
- DirectShow应用程序编程介绍
- WinForm应用程序框架设计之WinAction(介绍)
- Android应用程序窗口设计框架介绍
- 怎样写一个GPS应用程序——介绍
- 关系数据库的几种设计范式介绍
- Android应用程序开发以及背后的设计思想深度剖析(5)
- Altium Designer 10 介绍、原理图及其模板常规设计
- 牛逼的Android UI--第17章 用户界面设计模式介绍
- 10个给力的在线Web设计开发工具介绍
- 设计模式简单介绍
- 使用ADO.NET设计数据库应用程序
- 设计应用程序时避免阻塞的八个准则
- 【c++应用程序设计】第1章 数据类型和运算符简介
- Windows应用程序设计的特点
- 7-设计模式介绍
- IOS 程序框架原理介绍(iphone应用程序架构和程序组成、调用等)