Onyx Virtual Studio is a multi channel video mixing engine based on 3D graphics rendering engine. This software tool can be used to mix video streams in real-time and send over the Internet for viewing. The input streams can come from various off-line and real-time sources. This includes network video streams such as from Skype, web cam or IP Cameras and off line local streams such as wmv and mp4 files. Onyx provides 3D graphics based mixing environment where the streams are positioned in a 3D scene. The 3D scene can be navigated at runtime mimicking the motion of a video camera. This allows capturing of any portion of the scene such as focusing on presenter or a participant, zooming to the details of a presentation slide. This gives a virtual studio environment where focus can be changed to different objects quickly with smooth panning and zooming.

The Onyx Virtual Studio application consists of following components: 1) A rendering window that shows the current capture view port and accepts keyboard commands to navigate the scene to change the capture view port.. 2) A configuration application that contains (a) UI for selection of streams being composited, (b) UI for configuring Skype video call and (c) UI for recording operation.

The rendering window shows the view being captured from the composited scene. The scene consists of 3D graphic objects and video streams coming from various sources mapped to the video plane objects. The main purpose of the 3D objects is to provide place holders for video streams. However these graphic elements also serve to create a pleasing surrounding and also augment the presentation material.

The GUI panel named as Onyx Control Panel acts like a remote controller to the Virtual Studio Application. The UI elements are organized into various dialog boxes. The main UI is organized in the form of tabbed dialog box application. The tab control on the left side of the panel allows navigation to the main dialog boxes of the application. Within each dialog box, the selection of certain options may modify the dialog box on the fly to reveal more details or may pop-up a new dialog box prompting the user for the input. Details of these user interface can be found in the following topics of this document.