DirectShow 过滤器图构建与应用指南
1. 从头构建过滤器图
1.1 初始设置
要从头构建一个用于渲染 AVI 电影的过滤器图,首先从文件菜单中选择“新建”,这将清除现有的过滤器图。接着,需要一个指向 AVI 文件的源过滤器。从 DirectShow 过滤器列表中,选择“文件源(异步)”,然后点击“插入过滤器”按钮。此时会弹出文件选择对话框,提示“为该过滤器选择一个输入文件”,从光盘中选择“Sunset.avi”文件,之后在 GraphEdit 中就能看到该过滤器。
1.2 拆分 AVI 文件流
AVI 文件需要拆分为视频流和音频流,可使用 DirectShow 转换过滤器“AVI 拆分器”来完成此操作,将其插入到过滤器图中。然后连接源过滤器和转换过滤器,具体操作是点击源过滤器的输出引脚,将鼠标指针拖到转换过滤器的输入引脚上,再释放鼠标按钮。GraphEdit 会自动调整过滤器的位置,使其布局更合理。
1.3 音频流渲染
AVI 拆分器会产生两个流,输出引脚“Stream 00”是视频流,“Stream 01”是音频流。要渲染音频流,从“插入过滤器”对话框的“音频渲染器”列表中插入“默认 DirectSound 设备”渲染器过滤器,并将“Stream 01”引脚连接到该渲染器过滤器的“音频输入”引脚。
1.4 视频流渲染
视频渲染分两步进行。由于 AVI 文件包含数字视频(DV)和音频数据,需要添加“DV 视频解码器”转换过滤器到过滤器图中,并将 AVI 拆分器的“Stream 00”引脚连接到该解码器的“XForm In”引脚。最后,从 DirectSho