1. A video surveillance system module for use in a distributed and extensible video surveillance system, the video surveillance system module comprising: a video surveillance camera, wherein the video surveillance camera is remotely programmable; at least one memory comprising computer readable instructions, and at least one processor configured by execution of the computer readable instructions to cause the module to perform the following: create a video encoder configured to encode video gathered by the video surveillance camera and to transmit the encoded video to an electronic database system; and create a video analysis engine coupled to the video surveillance camera to analyze video gathered by the video surveillance camera, wherein the video analysis engine is configured to be programmable to permit a user to specify video analysis criteria; to perform activity analysis of the video in accordance with the user-specified video analysis criteria; to detect and classify objects and object activity observed by the video surveillance camera; to generate data classifying objects and object activity for use by an entity performing surveillance, the data comprising track information comprising at least a pointer providing access to a segment of video satisfying the user-specified video analysis criteria; and to transmit the track information, including the pointer providing access to the segment of video satisfying the user-specified video analysis criteria, to the electronic database system.