views:

497

answers:

2

Which is the best API to use when accessing a WebCam in .Net? (I know they can be webcam specific, I am willing to buy a new webcam if it means better results).

I want to write a desktop application that will take video from a webcam and store it in MPEG4 formats (DivX, Xvid, etc...). I would also like to access bitmap stills from the device so I can do image comparison between frames.

I have tried various libraries, and none have really been a great fit (some have performance issues (very inconsistent framerates), some have image quality limitations, some just crash out for seemingly no reason. I want to get high quality video (as high as I can get) and a decent framerate.

My webcam is more than up to the job and I was hoping that there would be a nice Managed .Net library around that would help my cause.

Are webcam APIs all just incredibly bad?

Thanks,

Docta

+1  A: 

You never said which ones you have already used but I recommend you might want to try out DirectShow.NET for capturing the device and FFMPEG for your video conversions. You will find both these libraries on SourceForge.

Perpetualcoder
A: 

Use OpenCV. It is a computer vision library that can receive input from webcams, images and videos, and output videos and images. It also comes with a lot of image manipulation functions so it would probably be ideal for what you are wanting.

rogercamel