WEB开发网
开发学院软件开发VC VC++实现视频捕获编程 阅读

VC++实现视频捕获编程

 2010-07-20 20:45:00 来源:WEB开发网   
核心提示:登记的回调函数一起使用可使应用程序直接使用视频和音频数据,在视频会议的应用程序中可利用这一点来获得视频帧,VC++实现视频捕获编程(3),回调函数将捕获的图像传到远端的计算机,应用程序可用捕获窗来登记回调函数(由用户编写,如有无视频叠加能力、有无控制视频源、视频格式的对话框等;(3)CAPTUREPARMS:包含控制视

登记的回调函数一起使用可使应用程序直接使用视频和音频数据,在视频会议的应用程序中可利用这一点来获得视频帧,回调函数将捕获的图像传到远端的计算机。应用程序可用捕获窗来登记回调函数(由用户编写,而由系统调用),以便在发生下列情况时它能通知应用程序作出相应的反应:

(1)捕获窗状态改变;

(2)出错;

(3)视频帧和音频缓存可以使用;

(4)在捕获过程中,其它应用程序处于让步(Yield)地位。

与普通SDK编程一样,视频捕获编程也要用到涉及视频捕获的结构、宏、消息和函数。让编程人员感到轻松的是,发送AVICap窗口消息所能完成的功能都能调用相应的宏来完成。例如,SendMessage(hWndCap,WM_CAP_DRIVER_CONNECT,0,0L)与capDriverConnect(hWndCap,0)的作用相同,都是将创建的捕获窗同视频输入器件连接起来。

在利用AVICap编程时,应该熟悉与视频捕获相关的结构,下面对常用的四个结构作一简要介绍,对于前三个结构都有对应的函数来设置和获得结构包含的信息:

(1)CAPSTATUS:定义了捕获窗口的当前状态,如图像的宽、高等;

(2)CAPDRIVERCAPS:定义了捕获驱动器的能力,如有无视频叠加能力、有无控制视频源、视频格式的对话框等;

(3)CAPTUREPARMS:包含控制视频流捕获过程的参数,如捕获帧频、指定键盘或鼠标键以终止捕获、捕获时间限制等;

(4)VIDEOHDR:定义了视频数据块的头信息,在编写回调函数时常用到其数据成员lpData(指向数据缓存的指针)和dwBufferLength(数据缓存的大小)。

上一页  1 2 3 4 5  下一页

Tags:VC 实现 视频

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接