Video source for local video capture device (for example USB webcam).

Namespace:  AForge.Video.DirectShow
Assembly:  AForge.Video.DirectShow (in AForge.Video.DirectShow.dll) Version: (


public class VideoCaptureDevice : IVideoSource


This video source class captures video data from local video capture device, like USB web camera (or internal), frame grabber, capture board - anything which supports DirectShow interface. For devices which has a shutter button or support external software triggering, the class also allows to do snapshots. Both video size and snapshot size can be configured.

Sample usage:

// enumerate video devices
videoDevices = new FilterInfoCollection( FilterCategory.VideoInputDevice );
// create video source
VideoCaptureDevice videoSource = new VideoCaptureDevice( videoDevices[0].MonikerString );
// set NewFrame event handler
videoSource.NewFrame += new NewFrameEventHandler( video_NewFrame );
// start the video source
videoSource.Start( );
// ...
// signal to stop when you no longer need capturing
videoSource.SignalToStop( );
// ...
private void video_NewFrame( object sender, NewFrameEventArgs eventArgs )
    // get new frame
    Bitmap bitmap = eventArgs.Frame;
    // process the frame

Inheritance Hierarchy


See Also