I've been using VisionGS from an independent German programmer for nearly a decade. It supports nearly any video source. How I currently use it:
An old XP Pro based notebook with minimal resources running unattended 24X7
3 IP based cameras (each a different brand and I started out with a USB camera)
VisionGS uploads one frame from each camera to a web site every 5 minutes. One of the cameras has an elaborate overlay including a logo and is a prominent public link on the site.
Each camera has its own customized mask and only motion within that masked area of the frame is detected. Motion outside the mask is ignored. (e.g. people on a public sidewalk are ignored, but a person at the door is not)
Detected motion triggers a 30 second (customizable) recorded video stored locally and a single frame sent via email.
and there are many more options which I am not using.
Keep Up with TechRepublic