《DirectShow开发指南》学习笔记_1

本文介绍了DirectShow系统,它使用Filter Graph管理数据流处理,Filter分为Source、Transform和Rendering三类。以播放AVI文件为例,详细阐述了File Source、AVI Splitter、AVI Decompressor、Video Renderer和Default DirectSound Device在播放过程中的作用,并推荐使用GraphEdit工具观察和播放Filter Graph。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DirectShow系统

      DirectShow系统位于应用层中,它是用一种叫Filter Graph的模型来管理整个数据流的处理过程;参与数据处理的各个功能模块叫做Filter;各个Filter在Filter Graph中按一定的顺序连接成一条“流水线”协同工作。

       按照功能来分,Filter大致分为3类:Source Filters、Transform Filters和Rendering Filters。Source Filters主要负责获取数据,数据源可以是文件、因特网计算机里的采集卡(WDM驱动或VFW驱动的)数字摄像机等,然后将数据往下传输;Transform Filters主要负责数据格式转换,例如数据流分离/合成、解码/编码等,然后将数据继续往下传输;Rendering Filters主要负责数据的最终去向——将数据送给显卡、声卡进行多媒体的演示,或者输出到文件进行存储。

播放第一个媒体文件

       DirectShow提供了大量的Filter用以支持最基本的应用。根据实际需要,也可以定制自己的Filter。它的最基本的应用莫过于回放一个媒体文件。如图所示是一条典型的AVI文件回放的链路。

        其中,箭头方向即是数据的流向,File Source(Async)属于Source Filters,它用于管理硬盘上指定的播放文件,并根据AVI Splitter的要求提供数据。AVI Splitter和AVI Decompressor属于Transform Filters,其中AVI Splitter负责向File Source(Async)索取数据,并将取得数据的音频和视频进行分离,然后分别从各自的输出Pin输出;AVI Decompress

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值