Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C

FxEngine Plugin to Stream Video Data from a Webcam

4.44/5 (6 votes)
16 Mar 2009GPL3 1   2.1K  
This tip shows how to build an FxEngine plugin to stream video data from a webcam

Screenshot

Introduction

The purpose of this tip is to help to work on video stream using a simple plugin approach. Instead of using a full DShow architecture, I use the FxEngine Framework from SMProcess.

My approach was the following: create a video source plugin using DShow's components and process video stream with one or several processing plugins using C++.

Background

The plugin is based on the StillCap sample from DShow SDK (SDK\Samples\Multimedia\DirectShow\Editing\StillCap). There is an excellent article by Chesnokov Yuriy about this.

Using the Code

Firstly, I used the Framework to build the plugin (Out pin, plugin's parameter, Win32 dialog and plugin interface). I just read the sample code and the user's guide that comes with the Framework installation.

Secondly, I used DShow programming to get video data.

The video capture is done by:

  • Creating an ISampleGrabber object to receive video data
  • Retrieving the default video capture device using GetDefaultCapDevice() method
  • Initializing video capture device using the InitVideoCapture() method

Using the Plugin

As shown in the screenshot above, I used the plugin in the Framework Editor to stream video data into several RGB splitters.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)