vfw视频采集过程与数据分析


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
……
根据此值确定数据格式,以便进一步对数据进行处理(编码压缩、编辑等)。





猜你喜欢

转载自blog.csdn.net/mike_modern/article/details/79874241