‘Madcam‘ is an open frameworks based project for mixing USB Web Cameras in realtime. Why this is awesome? Its usually hard and expensive to mix many USB video signals in realtime and display them side by side. We found a way to make it cheap, quick and reliable!
The goal is set up an VJ setup which is based on live webcam material.
So far we use ten web cams, but the amount can be extended. The webcam content is mixed onto one screen, in different tilings and with Video-FX, all in realtime. Tiling and FX can be controlled by Midi and OSC. The system uses Open Frameworks (C++). The allover costs were under 400€ (500$), with the main part being the computer.
The installation Glitchrobot features many detailed mechanic sound actors which are used to make electronic music – with robots! As the actors are quiet small we needed a way to magnify them for a bigger audience. We wanted a bunch of video cams that can be placed anywhere and are displayed on a big projection screen.
We did a lot of research, but mixing and displaying more then two video sources on the cheap is uncommon.
Our first experiments included: use of a professional hardware video switch (expensive, poor features), combine stream data from Raspberry Pi Cams via Ethernet (high latency), try to do everything analog (bad quality and poor features) and some more.
The setup we found working uses the cheap PS3 Eye Cams which have a reasonably high frame rate (>30FPS) and are connected via USB. Iiiks! Can you connect 10 Webcams to one computer and use them ant once? Yes you can:
The main problem is to get a constant stream of video data into the computer. The bottleneck here is the USB Host controller. One USB Host can theoretically take up to 127 client, but we found out only 1-2 Cameras per host controller (PCI / PICe card) work without glitches and missing frames.
In the current setup, one host controller can take data from 2 Webcams running at 480×600 resolution at 30FPS. PCI can process less data then PCIExpress, so it is best to build your system on PCIe cards.
Custom Made Case for the VJ-Computer