使用DirectShow捕获视频,并截图保存

dshow已经是比较古老的技术,很多项目还在使用。

obs-studio 在 windows 上面获取视频信息使用了 libdshowcapture 开源库。
libdshowcapture使用direct show技术。这部分代码中没有提过摄像头或者视频流截图功能

网上搜索关于dshow视频截图的技术,大多提到使用 ISampleGrabber 接口,或者 ISampleGrabberCB接口。
但都没有提供接口头文件。微软官网找了一下,微软已经不推荐使用dshow。在官方sdk中也找不到ISampleGrabber接口涉及到的qedit.h头文件。

在网上找了很久,终于找到一个可用的demo工程。整理后,稍微修改了下,加入各个vs版本的工程文件,并且支持x64位编译。
上传到github上,希望后来者少走些弯路。

github地址: https://github.com/5455945/VideoCapture

git clone https://github.com/5455945/VideoCapture.git

只要你安装了vs对应版本的sdk,下载下来代码,用vs打开对应工程,直接可以编译调试。

效果如图:
使用DirectShow捕获视频,并截图保存_第1张图片

你可能感兴趣的:(c++)