Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DirectShow - Getting video frames

I'm creating a Windows video capture application and am using DirectShow for capture. As each frame comes in, I want to grab it as a raw RGB bitmap into a buffer, at which point my code will do whatever processing I need.

I've been searching for samples similar to what I want to do, and everywhere I look online, people recommend using either the IMediaDet and/or the ISampleGrabber interface to do frame-by-frame capture. Unfortunately, both are deprecated and aren't even in the newest version of the Windows SDK.

What is the best (modern) way to do frame-by-frame capture in DirectShow? If there is none, is there a different library I should use that will give me frame-by-frame capture?

like image 440
Matt Kline Avatar asked Nov 07 '11 16:11

Matt Kline


1 Answers

Sample Grabber was deprecated a few years ago, which was a few years after DirectShow development actually stopped. That is, use Sample Grabber as you read as suggested method and it is going to work great for you.

The only thing you will additionally need is to copy definitions int your source code, see details:

  • Alternative for ISampleGrabber
  • Sample Grabber replacement
  • ISampleGrabber deprecated: where can I find alternatives?
like image 74
Roman R. Avatar answered Sep 29 '22 12:09

Roman R.