用VC++ 5.0实现视频捕获编程
2008-11-13 19:31:19 来源:WEB开发网核心提示: (5)设置捕获速率;(6)显示控制视频源、视频格式、视频压缩的对话框;(7)创建、保存或载入调色板;(8)将图像和相关的调色板拷贝到剪贴板;(9)将捕获的一个单帧图像保存为DIB格式的文件,这里需要解释一下AVICap在显示视频时提供的两种模式:(A)预览(Preview)模式:该模式使用
(5)设置捕获速率;
(6)显示控制视频源、视频格式、视频压缩的对话框;
(7)创建、保存或载入调色板;
(8)将图像和相关的调色板拷贝到剪贴板;
(9)将捕获的一个单帧图像保存为DIB格式的文件。
这里需要解释一下AVICap在显示视频时提供的两种模式:
(A)预览(Preview)模式:该模式使用CPU资源,视频帧先从捕获硬件传到
系统内存,接着采用GDI函数在捕获窗中显示。在物理上,这种模式需要通过VGA卡
在监视器上显示。
(B)叠加(Overlay)模式:该模式使用硬件叠加进行视频显示,叠加视频的
显示不经过VGA卡,叠加视频的硬件将VGA的输出信号与其自身的输出信号合并,形
成组合信号显示在计算机的监视器上。只有部分视频捕获卡才具有视频叠加能力。
除了利用捕获窗的九个功能外,灵活编写AVICap提供的回调函数还可满足一些
特殊需求,比如将宏capCaptureSequenceNoFile同用capSetCallbackOnVideoStream
登记的回调函数一起使用可使应用程序直接使用视频和音频数据,在视频会议的应用
程序中可利用这一点来获得视频帧,回调函数将捕获的图像传到远端的计算机。应用
程序可用捕获窗来登记回调函数(由用户编写,而由系统调用),以便在发生下列情
况时它能通知应用程序作出相应的反应:
(1)捕获窗状态改变;
(2)出错;
(3)视频帧和音频缓存可以使用;
(4)在捕获过程中,其它应用程序处于让步(Yield)地位。
与普通SDK编程一样,视频捕获编程也要用到涉及视频捕获的结构、宏、消息
和函数。让编程人员感到轻松的是,发送AVICap窗口消息所能完成的功能都能调用
更多精彩
赞助商链接