video capture in Visual C# .NET

G

Guest

Hi,
Im trying to develop a Visual C# .NET app. that uses DirectShow filters to capture video from camera source. However, after going through a series of articles, I've seen that DirectShow is not directly supported in Visual C#.NET.

Im wondering if there's any way to use the video-capture filters of DirectShow in Visual C#.

Otherwise, would it be possible to create a Visual C++ DLL that uses DirectShow filters to capture video from a WDM camera source, and use it in Visual C# .NET program.

Please suggest.
 
J

John Young

Try this

http://www.codeproject.com/dotnet/wiascriptingdotnet.asp

I worked for me, although make sure you read the comments at the bottom of
the page, because there was a bug in the source code. I've put the post
about the bug here to save you the trouble....

HTH, John

Correction to sample code DavidDavison 4:20 2 Nov '03

I suggest a correction to the NetMaster's code.

foreach( object wiaObj in wiaDevs )
{
devInfo = (DeviceInfoClass)
Marshal.CreateWrapperOfType( wiaObj, typeof(DeviceInfoClass) );

//Marshal.ReleaseComObject( wiaObj ); <- MOVE THIS

if( devInfo.Type.IndexOf( "Video" ) > 0 )
{
foundID = devInfo.Id;
foundCount++;
}

Marshal.ReleaseComObject( wiaObj ); // <- TO HERE

Marshal.ReleaseComObject( devInfo ); devInfo = null;
}

I have found that the devInfo you have just
marshalled is released before you can use it to check the type.

Other than that, Nice one NetMaster!
 
G

Guest

Thank you John. That link is quite useful. Thanks a lot for suggesting the correction to that code too..
 
G

Guest

Hey John,
I was trying to use the WIA Device class for video capture, and the correction that you've suggested saved me time. Thank you.

However, the program is not able to detect my Creative Lab webcam and one other USB 2.0 webcam as WIA devices. Its able to detec a hp scanner as a source for images, but, not the webcams.

Is this a limitation of the WIA script, or am I doing something wrong here?

Thanks in advance.
Ravi.
 
J

John Young

I honestly could not say because I am a complete beginner to WIA as well.
I do remember somewhere that some camera drivers dont seem to work with WIA.
The only other way would be to use TWAIN, which is on the CodeProject site
as well. Although I haven't tried TWAIN yet.

Good luck, and let the group know how you get on...

HTH

John
 
G

Guest

John,

I was wondering if you tried to use this code in a batch program? The
supplied code requires a user to be present to click the capture button, I
want to put something on a schedule and run unattended.

Thanks
 
G

Guest

your on the right track. directshownet works well, but you may want to try
the
directx.capture from the same site, it's an update from someone else.
but it can give you more control.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top