VFW(Video for Windows)是Microsoft推出的关于数字视频的一个软件开发包,VFW的核心是AVI文件标准。AVI(Audio Video Interleave)文件中的音、视频数据帧交错存放。
在这里,我们主要说明API调用问题和采集到的数据格式问题。
1、API调用过程仅强调以下:
//开始捕捉(即便可以预览,但只有capCaptureSequenceNoFile才是真正开始采集数据)
capCaptureSequenceNoFile(m_hWndCapture);
capSetCallbackOnFrame 和 capSetCallbackOnVideoStream 区别:
capSetCallbackOnFrame 只要驱动连接上,就开始调用了,
capSetCallbackOnVideoStream 只有当开始采集时,才调用 。。
使用 capSetCallbackOnFrame 的时候,可以不用 capCaptureSequenceNoFile ,但是视频帧里面没有时间信息
使用 capSetCallbackOnVideoStream 的时候,要用 capCaptureSequenceNoFile
2、采集到的视频数据格式:
通过参数 BITMAPINFOHEADER.bmiHeader.biCompression 可以取得数据格式,
我的笔记本电脑自带的摄像头,取得的该值为:844715353(0x32595559),
经查阅,此值对应的视频数据格式为:YUY2
BITMAPINFOHEADER.bmiHeader.biCompression的可能取值如下:
BI_RGB
BI_RLE8
BI_RLE4
BI_BITFIELDS
BI_RLE8
BI_RLE4
BI_BITFIELDS
……
根据此值确定数据格式,以便进一步对数据进行处理(编码压缩、编辑等)。