Fine folks at Rewindrecently asked me to develop an automated capture pipeline for an interactive installation. The concept was to position a stand fitted with giant screens and a kinect 3 system at various racing events around the world. The initial deployment was set for the Grand Prix in Monaco 2014.
The experience allows for up to three visitors a time to assemble in front of a ‘magic mirror’ screen. They are each given a giant champagne bottle and can proceed to spray each other or the camera with streams of virtual champagne tracked to each bottles position. This was developed in unity by the very talented Russ at the Rewind studio.
The experience needed to be operated with a single button press. Once the participants have entered their details, the backend database would give viewers a link to a copy of their video experience for download or for sharing on social networks. Although the experience needed to be captured from the moment of the button press the video had to have a responsible drinking title inserted at the beginning along with the Mumm champagne ident at each end. We decided against having a separate capture and wrapping process for the other elements so we developed a pipeline to assemble this dynamically on-the-fly.
I chose TouchDesigner (my new favourite tool) for the task. We fitted a machine with a Blackmagic Intensity card for the HDMI feed to be captured. A push button was wired to a board that distributed a key press to both the unity application and Touch Designer. I integrated a 5 second cache buffer to allow for the video line to be delayed allowing the title card to be written to the video file first, which brought the content back in line. A series of triggers drove a crossfader to allow for smooth transitioning of video layers and cueing of indents. A thumbnail image was also snapped during the recording to match with the database video. Finally I also pulled in an additional audio file that was also mixed on top. Quite a few elements were involved to pull it all together, but luckily TD seems to take all of this in its stride.
The backend database system which would host the videos required a specific 7 digit numbering system, this was achieved using a failsafe value which was read on each capture, incremented & written to an external file in case of project corruption or resetting. The neat integration of python scripting inside TD makes it a very versatile tool for this realtime video pipeline. The python side was a real learning curve for me but with a little help for some of the guys at the studio it proved very rewarding.