This project is read-only.


This is a simple video surveillance system that makes use of webcams as recording devices. It provide basic functionalities such as motion detection and alarm, and is designed to be extensible: developers can develop their own sensors and plug into program. The ability to create source filters create some interesting effects: the program can be transform completely into a remote desktop viewer!

Program composes of three components:
  • Recorder: recording video and stream to server
  • Server: dispatch video streams to remote clients
  • Client: connect to server to view video

  • Recorder uses DirectShow source filter to communicate with webcams. You can create your own source filter for different purposes. Many free source filters are available on the Internet. Consult Directshow documentation for more details on how to create a source filter.
  • Recorder comes with a default sensor with basic motion detection functionality. You can create custom sensors to match your need. To create custom sensors, implement interface ISensor. All sensors are stored in Sensors folder and loaded dynamically at runtime. Just copy your custom sensor to that folder and it will appear on the sensor list when the program runs.


- To run the program, you will need:
  • .NET Framework 4

- To build the projects, you will need these things in addition:
  • Visual Studio 2010
  • AForge.NET Framework (download at
  • Windows SDK v7.1
  • DirectShow.NET (
  • Fluent Ribbon v1.3

This program was tested on Windows XP SP3 and Windows 7 32 bit. It may run on other platform as well.

Known issues:

Due to the complexity of multi-threaded programming and relatively short development time, this program may still contains a lot of bugs. Client may disconnect mysteriously after about 10 minutes. I haven't found out the reason and currently don't have the time to fix it. Hope it would be much better on the next release (if any)!!!

Last edited Oct 26, 2010 at 4:42 PM by wormdotNET, version 1


No comments yet.