资源描述:
《windows平台上实现多媒体信息实时捕获的几种主要技术研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5期唐朝京等:Windows平台上实现多媒体信息实时捕获的几种主要技术研究·37· Windows平台上实现多媒体信息实时捕获的几种主要技术研究唐朝京,鲜 明,肖顺平,张义荣,赵志超,李华胜(国防科学技术大学电子科学与工程学院,湖南长沙410073)摘 要:针对实时视频捕获,讲述了在Windows环境下利用VideoforWindows库函数和DirectShow技术实现实时视频采集的关键技术,给出了软件实现视频流捕获的结构流程和相应的编程示例。关键词:视频捕获;VideoforWindows;Dire
2、ctShow中图法分类号:TP393 文献标识码:A 文章编号:100123695(2003)0520037203Real2timeVideoSequenceCapturingSchemeinWindowsTANGZhao2jing,XIANMing,XIAOShun2ping,ZHANGYi2rong,ZHAOZhi2chao,LIHua2sheng(CollegeofElectronicScience&Engineering,NationalUniversityofDefenseTechnolo
3、gy,ChangshaHunan410073,China)Abstract:Forreal2timevideosequencecapturing,thekeytechniquesintherealizationofreal2timevideosequencecapturingusingthe
VideoforWindowslibraryprovidedbyVisualC++inWindowsorDirectShowarediscussed.Thesoftwarerealizationdiagramforre
4、al2timevideosequencecapturingisproposedandcorrespondingprogramexamplesarealsoprovided.Keywords:VideoSequenceCapturing;VideoforWindows;DirectShow1 引言式进行存储、转换的重要手段,它提供的主要功能包括:(1)动态地同视频和音频输入器连接或断开;在信息时代,网络和数字信息化应用日益深入和广泛,多媒体技术处于十分重要的地位。在这方面,Win2dows平台为多媒体信息技术
5、的处理和集成提供了强有力的支持。众所周知,数字音频/视频的捕获是多媒体应用开发中的一个关键前提,Windows为数字音视频信息的实时采集就提供了多种实现技术,这主要有早期的Microsoft多媒体控制接口MCI(MultimediaControlInter2face)这里主要指VideoforWindows(VfW),以及后来的Di2rectShow(ActiveMovie2.0)技术。本文着重介绍如何利用这两种技术来进行多媒体信息的捕获以及其中涉及到的相关概念和处理方法。(2)设置视频捕获速率;(3)提供
6、设置视频源、视频格式以及是否采用视频压缩的对话框;(4)设置视频采集的显示模式为Overlay或者Preview模式;(5)直接访问视频缓冲区,实时获取每一帧数字视频数据;(6)将一视频流和音频流捕获并保存到一个AVI文件中;(7)按用户要求捕获某一帧数字的视频数据,并将单帧图像以DIB格式的文件保存;(8)创建、保存或载入RGB格式下的调色板;2 VideoforWindows技术(9)将捕获图像和相关的调色板拷贝到剪切板;(10)指定捕获数据的文件名,并能够将捕获的内容VideoforWindows函数
7、是Windows环境下实现实时拷贝到另一个文件。视频捕获的重要工具。VisualC++所提供的Videofor利用AVIcap窗口类实现实时视频捕获过程的基本Windows库函数(VfW)是Microsoft于1992年推出的关流程可以用图1表示。于数字视频的软件包,它能够灵活地实现从模拟视频源采集数字视频信号,并将其存储到文件中或者直接对视图1 AVIcap窗口类视频捕获基本流程图频缓存进行处理。VisualC++中将VideoforWindows即首先创建一个捕获窗,所有的捕获操作及其它设函数称为AVI
8、cap窗口类函数。通过使用AVIcap窗口类置都是以它为基础的,它是通过capCreateCaptureWindow函数,可以在应用中方便地集成视频采集功能。AVIcap函数创建的。在系统回调函数中常用的为状态设置、出窗口类完成由视频捕获硬件获取数据,并按照需要的格错处理、流捕获或帧捕获等回调函数,它们的注册是通过相应的宏完成的,如capSetCallbackOnError将系统出错收稿日期:2002206203