2024年5月1日发(作者:)

WDM 视频捕获介绍

孙 涛

摘要:该文主要提供一些在Win98,win2K及以上操作系统中,进行Windows

Driver Model(WDM)视频捕获的相关知识介绍。如果你对WDM视频捕获感兴

趣,可以来看看这些东西。欢迎到我的博客/suntaoznz看其他文章!

目 录

Windos下视频捕获简史 .............................................................................................. 1

WDM和视频捕获 .................................................................................................. 1

VfWWDM Mapper .................................................................................................. 2

WDM 视频捕获结构 ................................................................................................... 2

DirectShow应用程序 ............................................................................................. 3

DirectShow Filter Graph .......................................................................................... 3

WDM数据流 .......................................................................................................... 4

视频捕获 Minidrivers ............................................................................................... 4

Pins, Streams, Formats ............................................................................................. 4

视频流命名约定............................................................................................................ 5

DirectShow 视频捕获的接口和属性 .......................................................................... 5

捕获数据流类型............................................................................................................ 6

流输出数据格式......................................................................................................... 6

结束语

Windos下视频捕获简史

VFW(Video For Windows)1.0版本在1992年11月发布,它是为在

Windows3.1下将电影最优化地捕获到磁盘上而发布的。从那以后,视频捕获技

术就越来越受到关注了。

VFW技术同样受到了很多批评,它捕获的数据保存到磁盘上会占用大量磁盘

空间,每秒数据量超过20M,同时需要大量的客户端支撑软件,VFW体系架构

上的不足在视频会议应用上和PC/TV应用上被暴露无遗,这样就要求一种新的

视频捕获技术来弥补这些不足。

VFW的体系结构缺乏为视频会议,电视浏览,视频区域捕获和VBI(Vertical

Blanking Interval)数据流提供强而有效的支持。一些视频卡等设备开发商在设计

自己的产品时,针对这些缺陷,对VFW进行了功能扩展。由于没有统一的标准,

我们的应用程序在使用这些扩充的功能时,就必须要写一些基于特定硬件的代

码。这就意味着当要改变捕获驱动程序时,就必须要对显卡的驱动程序进行修改。

WDM和视频捕获

WDM 视频捕获设计就是为了来解决VFW体系结构中存在的这些问题。

WDM视频捕获主要的好处体现在:

可以为设备(如基于USB,IEEE 1394通讯方式的摄像头 )提供32位的

驱动程序。

允许DirectShow 和 WDM 流协同工作。

可以在视频捕获设备和DVD/MPEG设备间,为硬件(如video ports 和

chip sets)共享一个分类的驱动程序结构()。

支持多个数据流。

允许电视信号调频和输入选择。

支持视频区域捕获,区域显示和VBI。

允许使用DirectDraw® VPE (Video Port Extensions)管理视频输入。

在一个单独设备上可能会有多个组件共存的情况,这些组件包括DVD解码

器,MPEG解码器,视频解码器,调谐器,音频解码器。WDM数据流就是用于

解决这种情况而创建的。它是个统一的驱动模型,可以支持所有的这些设备和去

处理它们的资源分配。

WDM数据流为标准数据类型和用户自定义数据类型提供了统一的数据模

型,同样,它定义了大部分的标准设备的属性,并且根据需要可以很容易地实现

扩充。因为按WDM数据流的协议,它支持在设备内核间进行数据传输,而不需

要在用户模式下进行数据转换。这样可以获得较高的效率,减少不必要的工作。

操作系统仍然支持VfW驱动程序,但是依赖于VFW的开发将逐渐减少,

这是因为下面三个原因:

WDM数据流为基于电视浏览和视频会议的捕获设备提供了优化支持。

DirectShow提供了更强的功能。

Microsoft 将不会对VFW进行持续开发。

VfWWDM Mapper

VfWWDM mapper是Windows 98 和 Windows 2000 操作系统的一部分。它

提供了WDM 驱动程序到基于VfW程序的向后兼容。对于Windows 98, 有一个

驱动程序文件和一个动态链接库 和 。Windows 2000

只要求一个DLL文件。典型的 mapper应用于显示视频捕获设备对话框、视频

源选择对话框、摄像头控制面板和视频格式设置。

VfWWDM mapper 不是全面兼容并且不支持旧VFW的所有功能。例如不支

持视频覆盖,也不支持视频端口implementations 。

WDM 视频捕获结构

WDM 视频捕获结构图如下: