- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本实验用ⅦW技术进行视频采集。VFW给程序员提供VBX.doc
本实验用 Ⅶ W 技术进行视频采集。VFW 给 程序员提供 VBX和 AV1Cap窗 口类的高级编程工 具,使程序员能通过发送消息或设置属性来捕获、播 放和编辑视频剪辑。Visual C++在支持 VFW 方 面提供有 vfw32.1ib、msacm32.1ib、winnlm.1ib等类 似的库。它提供了类似于 MCIWnd的窗口类 AVI— Cap。AVICap为应用程序提供了一个简单的、基于
消息的接口,使之能访问视频和波形音频硬件,并能
视频捕获的主要流程为:① 采用 AVICap组件函数 capCreateCaptureWindow()和 capCapture—GetSetup建立和初始化视频捕获窗口。② 登记回 调 函数。③ 采用 capDriveConnect(hWndCap,O)连接捕获窗口与视频捕获设备。④ 调用 capCapture—Sequence(hWnd)捕获图像到缓存或文件并作相应处理。⑤ 使用 VFw 提供的 MCIWnd窗口类实现采集的视频播放。
一种实现视频捕捉的简单方法
沈旭
(湛江师范学院 信息科学与技术学院,广东? 湛江? 524048)
?
??? 摘 要? 当前,随着视频监控、可视电话、电视会议等多媒体应用技术的迅速发展,对数字视频捕获技术的要求越来越高。实现视频捕获的方法有很多,本文主要介绍了微软公司VFW(Video for Windows)软件包中的AVICap窗口类的成员函数和一些关键宏,以及与编写视频捕捉程序紧密相关的几个结构体。最后,通过一个视频捕捉应用程序,展示了如何具体实现视频捕捉,以及要注意的相关问题。
??? 关键词 VFW;AVICap窗口类;视频捕捉;捕捉窗口;视频对话框
?
0? 引言
?
??? 随着数字视频监控、可视电话、电视会议等多媒体技术应用的迅速兴起,越来越多的场合需要对数字视频信号进行捕捉。通常来说,捕捉实时数字视频信号是一个比较复杂的过程,但是,微软公司开发的Video for Windows SDK软件包中AVICap窗口类提供了一条捷径,借助于该窗口类,能够很方便地将视频捕捉的各种功能组合到应用程序中去。
1? AVICap窗口类简介
??? ACICap支持实时的视频流捕捉和视频单帧捕捉。使用ACICap窗口类可创建具有一些基本功能的窗口,例如视频图像的预览、设置捕捉参数的对话框、音频、视频捕捉的独立控制等。ACICap中的回调函数可使应用程序向用户提供有关捕捉的状态,包括进行的过程指示,以及任何可能产生的错误。开发人员可以设置一个标志用来指示在什么时候采集到音频,什么时候采集到视频。这样,应用程序可以直接使用数据而无需写入AVI文件中。
??? AVICap窗口类提供了以下功能:
??? ◆? 单独控制音频、视频的采集;
??? ◆? 采用overlay(实时叠加)或preview(预览)方式显示视频图像;
??? ◆? 与ICM和ACM同时工作,将音频和视频数据直接压缩到应用程序中;
??? ◆? 将音频、视频流直接压缩入AVI文件而不需要开发人员详细了解AVI文件格式的细节;
??? ◆? 动态了解视频和音频的输入设备;
??? ◆? 创建、保存和载入调色板;
??? ◆? 将图像调色板拷贝到剪切板上;
??? ◆? 控制MCI设备;
??? ◆? 捕捉单帧图像并以DIB格式保存。
2? AVICap窗口类的主要函数、宏简介
??? AVICap提供给开发人员一整套函数,用这些函数可以实现许多视频捕捉程序所需的窗口管理;同时,在整个捕捉过程中仍然保留全部的控制。这些函数形式简单,采用基于消息的接口来获取硬件里的音频和视频信号,同时控制着视频流采集到磁盘的过程。
??? ACICap的函数能够使开发人员以很少的投入来创建具有基本捕捉功能的采集程序,这些函数是高级的、经过优化的、为开发人员创建具有自己特性的应用程序留有很大的灵活性。?
??? 下面是ACICap提供给开发人员编写捕捉程序的几个重要函数和宏。
??? ◆ 创建捕捉窗口
HWND VFWAPI capCreateCaptureWindow(
????? LPCSTR lpszWindowName,// 捕捉窗口名字
????? DWORD dwStyle,// 捕捉窗口的风格
????? int x,// 窗口左上角x轴坐标
????? int y,// 窗口左上角y轴坐标
????? int nWidth,// 窗口的宽度
????? int nHeight,// 窗口的高度
???? ?HWND HWnd,// 父窗口句柄
????? Int nID// 捕捉窗口的ID号
);
??? 如果该函数调用成功 则函数返回窗口的句柄 否则函数返回NULL。
??? ◆ 捕捉窗
文档评论(0)