Click here to Skip to main content
Click here to Skip to main content

FxEngine Plugin to Stream Video Data from a Webcam

By , 16 Mar 2009
 
Screenshot

Introduction

The purpose of this article 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 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)

About the Author

m_sylvain
Engineer
France France
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionHelp compilig in VS2010memberogrydc14 Sep '11 - 14:06 
I get errors that said that some libs are missing...
 
qedit.h
mtype.h
AnswerRe: Help compilig in VS2010memberm_sylvain29 Feb '12 - 9:26 
Hello,
 
Sorry for this late. Both files are included in the Microsoft DirectX SDK.
Let me know if it works well.
Regards,
Sylvain
GeneralYour Source Code is IncompletememberGUI Developer27 Sep '08 - 19:44 
Hi,
 
I didn't see any .fxe file or smproject file? How do you open the source you have in their editor?
 
Could you add more explaination of how to use the editor with a sample .Fxe file?
 
Thanks!
 
GUI Guy

GeneralRe: Your Source Code is Incompletememberm_sylvain29 Sep '08 - 22:06 
Hi,
 
Yes, you're right, there is no '.fxe' file in this project.
 
To use this plugin:
1) Download and install the FxEngine Framework on smprocess.
2) Download and compile the plugin source on this page. You could refer to the framework guide and directshow sdk to compile it if needed.
3) Using the FxEngine Editor, create new FxEngine layout (File menu + new FxEngine).
4) You can add and link any FxEngine Plugin (called Fx) in the layout including the FxVideoCaptureSrc compiled in step 2 (Insert menu + Insert Fx).
 
In the codeproject screenshot, I have added in the layout:
- FxVideoCaptureSrc to capture video from a webcam and to stream RGB data
- FxRGBrlSplitter to split RGB data
- FxRGBRnd to show RGB data in a window.
 
You can after that, save your layout in the '.fxe' file and reload it when you want.
 
I hope this lines will help you.
 
Regards,
 
S

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130523.1 | Last Updated 16 Mar 2009
Article Copyright 2008 by m_sylvain
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid