Programmatic Control of Surveillance Cameras

I’ve become interested in the idea of generating a film programmatically using pan/tilt/zoom surveillance cameras. To that end I’ve started putting together some processing code that can read a live camera stream and is programmed with a variety of shots (as of now, a zoom, blur, and quick pan). The application can decide what shots to take, and when to make recordings – thereby automating the editing and the shooting process. The code is here on github.

I have two experiments so far. The first finds faces, zooms in, and then makes a recording between 3 and 5 seconds. You can view it here.

The second experiment pans to coordinates based on Perlin noise and then holds a shot based on a sine wave function. In this first video my subjects don’t realize they’re being filmed. In the second video you can see their reactions as I tell them what’s been happening.