Im currently working on an implementation of Blackmagic Atem switchers into #Unity. This is a nice way to have from 4 up to 16 cameras connected to Unity, and being able to switch live feeds based on scenes, to use a switcher control surface to switch virtual cameras and sync virtual cameras with real camera angles. It will also support Timecode in two directions, so that you can use unity to preview scenes, record switching, and have multiple video streams synced together for a later compositing. Who is working with live cameras in Unity/Unreal, probably knows that having more than one or two require a lot of horse power, and multiple capture cards, and can be pretty intensive for processing. By using a switcher, I have to deal only with a single video feed, but I can still support some pretty complex multicamera use cases. One of the main problems was dealing with a slight latency between physical switching and video feed latency that would result in virtual camera switching before a real camera. I have solved this issue by implementing a scene change detection protocol: when a switcher receives a physical command from a console button, a script checks contento of the image, and waits for it to change on an actual video feed. In this way I can sync virtual and real camera cuts perfectly on a frame basis, avoiding any problems with motion-to-photon latency. Hacky way, but it works really well and is accurate. It is also a perfect way to calculate latency of a video feed (that can be used for syncing other tools like camera trackers). A good thing is also that it can work with any Atem switcher, from a cheap ones like atem Mini, to broadcast ones. So it can be a cheap way to support multicamera setups for live virtual production and eventually been extended to big live event shows. (having an ability to use low cost switchers in a phase of home testing, and then bring a same code to a live event and use a broadcast hardware is a big plus in a covid times). A good news is that I plan to release this package for free, and include it also in my Deckard Chromakeyer package with a tight integration for VP.

ATEM for UNITY can be downloaded here for free:
https://www.dropbox.com/s/pcy4mm0mxbxzfxf/ATEM%20to%20Unity.unitypackage?dl=0

Leave a comment