DirectShow开发应用.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
DirectShow开发应用 DirectShow是Microsoft推出的一个流媒体处理架构,它集成了DirectDraw、DirectSound和Direct3D等技术,提供了一个开放的架构,允许开发者自己编写Filter组件。下面是DirectShow的基本概念和组件: 1. Filter:Filter是一个COM组件,负责流媒体的采集、处理和回放。它由输入、处理和输出三部分组成,输入和输出是PIN,PIN也是一个COM组件,实现了IPin接口。在Filter的实现中,PIN是一个数据成员。 Filter可以分为三类:Source Filter(源过滤器)、Transform Filter(转换过滤器)和Render Filter(渲染过滤器)。Source Filter负责音、视频数据的采集和读取,Transform Filter负责音、视频数据的压缩、解压、编码和解码,Render Filter负责音、视频流的渲染和输出。 2. Filter Graph:Filter Graph是DirectShow的一个基本概念,它是一个有向图形,描述了 Filter 之间的连接关系。开发一个DirectShow应用,构造一个Filter Graph是最重要的一步。Filter Graph Manager是DirectShow的控制中心,它控制Filter的运行,协调各个Filter的状态,提供一个参考时间,用于同步音频流和视频流。 3. MediaType:MediaType是DirectShow的一个基本概念,描述了两个Filter之间传输数据(Sample)的格式。两个Filter在连接之前,必须就所采用的MediaType进行协商。MediaType使用AM_MEDIA_TYPE结构体来表示,结构体中有几个域是比较重要的,如majortype、subtype、formattype等。 4. Sample:Sample是DirectShow中的基本单位,数据将分成一个一个的Sample进行传输。在Filter Graph中,数据从上游的Filter传到下游的Filter,Sample是数据的基本单位。 5. Filter Graph Manager:Filter Graph Manager是一个COM组件,是DirectShow的控制中心。它控制Filter的运行,协调各个Filter的状态,提供一个参考时间,用于同步音频流和视频流,并与应用程序进行交互,通知应用程序Filter Graph内部发生的事件。 DirectShow是一个复杂的流媒体处理架构,需要开发者对其各个组件和概念有深入的了解,以便更好地应用于实际开发中。
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- shell脚本入门-变量、字符串, Shell脚本中变量与字符串的基础操作教程
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码