【编程分析】 微软为软件开发人员提供了一个专门用于视频捕获的VFW (Video for Window s) SDK,她为在Window s 系统中实现视频捕获提供了标准的接口,从而大大降低了程序的开发难度
一、VFW 简介 VFW 是微软公司推出的关于数字视频的一个软件包,它能使应用程序通过数字化设备从传统的模拟视频源得到数字化的视频剪辑
VFW 的一个关键思想是播放时不需要专用硬件,为了解决数字视频数据量大的问题,需要对数据进行压缩
它引进了一种叫 AVI 的文件标准,该标准未规定如何对视频进行捕获、压缩及播放,仅规定视频和音频该如何存储在硬盘上,以及在AVI 文件中交替存储视频帧和与之相匹配的音频数据
VFW 使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑
VFW 主要由以下 6 个模块组成: 1、AVICAP32
DLL:包含执行视频捕获的函数,它给 AVI 文件的I/O 处理和视频、音频设备驱动程序提供一个高级接口; 2、MSVIDEO
DLL:包含一套特殊的Draw Dib 函数,用来处理屏幕上的视频操作; 3、MCIAVI
DRV:包括对 VFW 的MCI 命令解释器的驱动程序; 4、AVIFILE
DLL:包含由标准多媒体 I/O(mmio)函数提供的更高的命令,用来访问
AVI文件; 5、压缩管理器(ICM):用于管理的视频压缩/解压缩的编译码器(Codec); 6、音频压缩管理器 ACM:提供与 ICM 相似的服务,适用于波形音频
本程序将使用第一个模块 AVICAP32
DLL,她是 Window s API 应用程序接口相关模块,用于对摄像头和其它视频硬件进行 AVI 电影和视频的截取
她的AVICap 窗口类支持实时的视频流捕获和单帧捕获,并提供对视频源的控制,而且能直接访问视频缓冲区,不需要生成中间文件,实时性很强,效率很高,同时