CaptureByInput
支持的硬件设备:Pro系列采集卡
例子展示的内容:
- 根据输入信号的格式采集视频数据;
- 保存最后一帧的视频数据为.bmp图片;
- 如果存在多个设备,可以通过命令参数选择采集通道。
调用逻辑:
- 获取版本信息,初始化和枚举设备:MWGetVersion、MWCaptureInitInstance、MWRefreshDevice、MWGetChannelCount;
- 根据设备信息和接口信息筛选支持的设备:MWGetChannelInfoByIndex;
- 打开设备:
- 打开命令参数指定的设备:MWOpenChannel;
- 当命令参数没有指定设备时,默认打开首个可用通道:MWGetDevicePath,MWOpenChannelByPath;
- 获取视频信号状态:MWGetVideoSignalStatus
- 开始采集视频:MMWStartVideoCapture;
- 创建Event:MWCreateEvent;
- 注册消息通知:MWRegisterNotify MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED(常规模式)、MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING(低延迟模式);
- 等待Event:MWTryWaitEvent、MWWaitEvent;
- 采集视频数据:MWCaptureVideoFrameToVirtualAddressEx MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED(常规模式)、MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERING(低延迟模式);
- 获取当前的采集状态,并释放采集卡资源:MWGetVideoCaptureStatus;
- 重复8、9、10,直到最后一帧;
- 保存文件;
- 注销消息通知:MWUnregisterNotify;
- 关闭Event:MWCloseEvent;
- 停止采集:MWStopVideoCapture;
- 释放资源和内存:MWCloseChannel,MWCaptureExitInstance。
结果展示:

流程图:
