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打开对应工程,直接可以编译调试。