A video surveillance system comprising one or more video cameras, a video management system and one or more computer-implemented digital devices remote from the video management system, each of the one or more digital devices being configured to emulate a respective video camera for sending video streams and/or video metadata via a computer network to the video management system, wherein each of the one or more digital devices is configured to emulate a physical video camera by providing one or more interfaces allowing the video management system to communicate with that digital device as if that digital device were a physical camera, wherein the video management system comprises: - a user interface configured to allow a user to control operation of at least one of the one or more video cameras, - an input interface configured to receive one or more video streams from the respective one or more video cameras, - a processing unit configured to receive one or more input video streams from the input interface, each input video stream corresponding to a respective one of the received video streams, and to store the input video streams in a video repository, and - an output interface configured to send, via the computer network, one or more of the input video streams and/or one or more of the stored video streams to one or more of the digital devices, wherein each of the one or more digital devices is configured to: - receive, via the computer network, the one or more of the input video streams and/or the one or more of the stored video streams sent from the video management system, - provide an execution environment for one or more user-installed application programs, the execution environment allowing the one or more user-installed application programs to process at least a part of the received video stream resulting in a processed video stream and/or in video metadata associated with the received video stream, and to - output, via the said one or more interfaces of that digital device and the computer network, the processed video stream and/or the video metadata in return to the video management system. - a user interface configured to allow a user to control operation of at least one of the one or more video cameras, - an input interface configured to receive one or more video streams from the respective one or more video cameras, - a processing unit configured to receive one or more input video streams from the input interface, each input video stream corresponding to a respective one of the received video streams, and to store the input video streams in a video repository, and - an output interface configured to send, via the computer network, one or more of the input video streams and/or one or more of the stored video streams to one or more of the digital devices, - receive, via the computer network, the one or more of the input video streams and/or the one or more of the stored video streams sent from the video management system, - provide an execution environment for one or more user-installed application programs, the execution environment allowing the one or more user-installed application programs to process at least a part of the received video stream resulting in a processed video stream and/or in video metadata associated with the received video stream, and to - output, via the said one or more interfaces of that digital device and the computer network, the processed video stream and/or the video metadata in return to the video management system.