Avid® Maestro™ | Virtual Set Setup Guide Version 2020.3 Legal Notices Product specifications are subject to change without notice and do not represent a commitment on the part of Avid Technology, Inc.

This product is subject to the terms and conditions of a software license agreement provided with the software. The product may only be used in accordance with the license agreement.

This product may be protected by one or more U.S. and non-U.S patents. Details are available at www.avid.com/patents.

This document is protected under copyright law. An authorized licensee of may reproduce this publication for the licensee’s own use in learning how to use the software. This document may not be reproduced or distributed, in whole or in part, for commercial purposes, such as selling copies of this document or providing support or educational services to others. This document is supplied as a guide for . Reasonable care has been taken in preparing the information it contains. However, this document may contain omissions, technical inaccuracies, or typographical errors. Avid Technology, Inc. does not accept responsibility of any kind for customers’ losses due to the use of this document. Product specifications are subject to change without notice.

Copyright © 2020 Avid Technology, Inc. and its licensors. All rights reserved.

The following disclaimer is required by Epic Games, Inc.: Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.

Unreal® Engine, Copyright 1998 - 2018 Epic Games, Inc. All rights reserved."

The following disclaimer is required by Apple Computer, Inc.: APPLE COMPUTER, INC. MAKES NO WARRANTIES WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THIS PRODUCT, INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. THE EXCLUSION OF IMPLIED WARRANTIES IS NOT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHTS THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE.

The following disclaimer is required by Sam Leffler and Silicon Graphics, Inc. for the use of their TIFF library: Copyright © 1988–1997 Sam Leffler Copyright © 1991–1997 Silicon Graphics, Inc.

Permission to use, copy, modify, distribute, and sell this software [i.e., the TIFF library] and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.

THE SOFTWARE IS PROVIDED “AS-IS” AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

The following disclaimer is required by the Independent JPEG Group: This software is based in part on the work of the Independent JPEG Group.

This Software may contain components licensed under the following conditions: Copyright (c) 1989 The Regents of the University of California. All rights reserved.

Redistribution and use in and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the University of California, Berkeley. The name of the University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Copyright (C) 1989, 1991 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.

Copyright 1995, Trinity College Computing Center. Written by David Chappell.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.

Copyright 1996 Daniel Dardailler.

Permission to use, copy, modify, distribute, and sell this software for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Daniel Dardailler not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Daniel Dardailler makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

Modifications Copyright 1999 Matt Koss, under the same license as above.

2 Copyright (c) 1991 by AT&T.

Permission to use, copy, modify, and distribute this software for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.

THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.

This product includes software developed by the University of California, Berkeley and its contributors.

The following disclaimer is required by Nexidia Inc.: © 2010 Nexidia Inc. All rights reserved, worldwide. Nexidia and the Nexidia logo are trademarks of Nexidia Inc. All other trademarks are the property of their respective owners. All Nexidia materials regardless of form, including without limitation, software applications, documentation and any other information relating to Nexidia Inc., and its products and services are the exclusive property of Nexidia Inc. or its licensors. The Nexidia products and services described in these materials may be covered by Nexidia's United States patents: 7,231,351; 7,263,484; 7,313,521; 7,324,939; 7,406,415, 7,475,065; 7,487,086 and/or other patents pending and may be manufactured under license from the Georgia Tech Research Corporation USA.

The following disclaimer is required by Paradigm Matrix: Portions of this software licensed from Paradigm Matrix.

The following disclaimer is required by Ray Sauers Associates, Inc.: “Install-It” is licensed from Ray Sauers Associates, Inc. End-User is prohibited from taking any action to derive a source code equivalent of “Install-It,” including by reverse assembly or reverse compilation, Ray Sauers Associates, Inc. shall in no event be liable for any damages resulting from reseller’s failure to perform reseller’s obligation; or any damages arising from use or operation of reseller’s products or the software; or any other damages, including but not limited to, incidental, direct, indirect, special or consequential Damages including lost profits, or damages resulting from loss of use or inability to use reseller’s products or the software for any reason including copyright or patent infringement, or lost data, even if Ray Sauers Associates has been advised, knew or should have known of the possibility of such damages.

The following disclaimer is required by Videomedia, Inc.: “Videomedia, Inc. makes no warranties whatsoever, either express or implied, regarding this product, including warranties with respect to its merchantability or its fitness for any particular purpose.”

“This software contains V-LAN ver. 3.0 Command Protocols which communicate with V-LAN ver. 3.0 products developed by Videomedia, Inc. and V- LAN ver. 3.0 compatible products developed by third parties under license from Videomedia, Inc. Use of this software will allow “frame accurate” editing control of applicable videotape recorder decks, videodisc recorders/players and the like.”

The following disclaimer is required by Altura Software, Inc. for the use of its Mac2Win software and Sample Source Code: ©1993–1998 Altura Software, Inc.

The following disclaimer is required by Ultimatte Corporation: Certain real-time compositing capabilities are provided under a license of such technology from Ultimatte Corporation and are subject to copyright protection.

The following disclaimer is required by 3Prong.com Inc.: Certain waveform and vector monitoring capabilities are provided under a license from 3Prong.com Inc.

The following disclaimer is required by Interplay Entertainment Corp.: The “Interplay” name is used with the permission of Interplay Entertainment Corp., which bears no responsibility for Avid products.

This product includes portions of the Alloy Look & Feel software from Incors GmbH.

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

© DevelopMentor

This product may include the JCifs library, for which the following notice applies: JCifs © Copyright 2004, The JCIFS Project, is licensed under LGPL (http://jcifs.samba.org/). See the LGPL.txt file in the Third Party Software directory on the installation CD.

Avid Interplay contains components licensed from LavanTech. These components may only be used as part of and in connection with Avid Interplay.

This product includes the Warlib library, for which the following notice applies: Copyright Jarle (jgaa) Aase 2000 - 2009

COPYRIGHT file which is included in the distribution:

warlib is copyright Jarle (jgaa) Aase 2000 - 2009

The warlib C++ Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version.

The warlib C++ Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

Portions copyright © 2012 Avid Technology, Inc.

3 Attn. Government User(s). Restricted Rights Legend U.S. GOVERNMENT RESTRICTED RIGHTS. This Software and its documentation are “commercial computer software” or “commercial computer software documentation.” In the event that such Software or documentation is acquired by or on behalf of a unit or agency of the U.S. Government, all rights with respect to this Software and documentation are subject to the terms of the License Agreement, pursuant to FAR §12.212(a) and/or DFARS §227.7202-1(a), as applicable.

Trademarks 003, 192 Digital I/O, 192 I/O, 96 I/O, 96i I/O, Adrenaline, AirSpeed, ALEX, Alienbrain, AME, AniMatte, Archive, Archive II, Assistant Station, AudioPages, AudioStation, AutoLoop, AutoSync, Avid, Avid Active, Avid Advanced Response, Avid DNA, Avid DNxcel, Avid DNxHD, Avid DS Assist Station, Avid , Avid Liquid, Avid Media Engine, Avid Media Processor, Avid MEDIArray, Avid Mojo, Avid Remote Response, Avid , Avid Unity ISIS, Avid VideoRAID, AvidRAID, AvidShare, AVIDstripe, AVX, Beat Detective, Beauty Without The Bandwidth, Beyond Reality, BF Essentials, Bomb Factory, Bruno, C|24, CaptureManager, ChromaCurve, ChromaWheel, Cineractive Engine, Cineractive Player, Cineractive Viewer, Color Conductor, Command|24, Command|8, Control|24, Cosmonaut Voice, CountDown, d2, d3, DAE, D-Command, D-Control, Deko, DekoCast, D- Fi, D-fx, Digi 002, Digi 003, DigiBase, Digidesign, Digidesign Audio Engine, Digidesign Development Partners, Digidesign Intelligent Noise Reduction, Digidesign TDM Bus, DigiLink, DigiMeter, DigiPanner, DigiProNet, DigiRack, DigiSerial, DigiSnake, DigiSystem, Digital Choreography, Digital Nonlinear Accelerator, DigiTest, DigiTranslator, DigiWear, DINR, DNxchange, Do More, DPP-1, D-Show, DSP Manager, DS-StorageCalc, DV Toolkit, DVD Complete, D-Verb, Eleven, EM, Euphonix, EUCON, EveryPhase, Expander, ExpertRender, Fader Pack, Fairchild, FastBreak, Fast Track, Film Cutter, FilmScribe, Flexevent, FluidMotion, Frame Chase, FXDeko, HD Core, HD Process, HDpack, Home-to-Hollywood, HYBRID, HyperSPACE, HyperSPACE HDCAM, iKnowledge, Image Independence, Impact, Improv, iNEWS, iNEWS Assign, iNEWS ControlAir, InGame, Instantwrite, Instinct, Intelligent Content Management, Intelligent Digital Actor Technology, IntelliRender, Intelli-Sat, Intelli-sat Broadcasting Recording Manager, InterFX, Interplay, inTONE, Intraframe, iS Expander, iS9, iS18, iS23, iS36, ISIS, IsoSync, LaunchPad, LeaderPlus, LFX, Lightning, Link & Sync, ListSync, LKT-200, Lo-Fi, MachineControl, Magic Mask, Make Anything Hollywood, make manage move | media, Marquee, MassivePack, Massive Pack Pro, Maxim, Mbox, Media Composer, MediaFlow, MediaLog, MediaMix, Media Reader, Media Recorder, MEDIArray, MediaServer, MediaShare, MetaFuze, MetaSync, MIDI I/O, Mix Rack, Moviestar, MultiShell, NaturalMatch, NewsCutter, NewsView, NewsVision, Nitris, NL3D, NLP, NSDOS, NSWIN, OMF, OMF Interchange, OMM, OnDVD, Open Media Framework, Open Media Management, Painterly Effects, Palladium, Personal , PET, Podcast Factory, PowerSwap, PRE, ProControl, ProEncode, Profiler, Pro Tools, Pro Tools|HD, Pro Tools LE, Pro Tools M-Powered, Pro Transfer, QuickPunch, QuietDrive, Realtime Motion Synthesis, Recti-Fi, Reel Tape Delay, Reel Tape Flanger, Reel Tape Saturation, Reprise, Res Rocket Surfer, Reso, RetroLoop, Reverb One, ReVibe, Revolution, rS9, rS18, RTAS, Salesview, Sci-Fi, Scorch, ScriptSync, SecureProductionEnvironment, Serv|GT, Serv|LT, Shape-to-Shape, ShuttleCase, Sibelius, SimulPlay, SimulRecord, Slightly Rude Compressor, Smack!, Soft SampleCell, Soft-Clip Limiter, SoundReplacer, SPACE, SPACEShift, SpectraGraph, SpectraMatte, SteadyGlide, Streamfactory, Streamgenie, StreamRAID, SubCap, Sundance, Sundance Digital, SurroundScope, Symphony, SYNC HD, SYNC I/O, Synchronic, SynchroScope, Syntax, TDM FlexCable, TechFlix, Tel-Ray, Thunder, TimeLiner, Titansync, , TL Aggro, TL AutoPan, TL Drum Rehab, TL Everyphase, TL Fauxlder, TL In Tune, TL MasterMeter, TL Metro, TL Space, TL Utilities, tools for storytellers, Transit, TransJammer, Trillium Lane Labs, TruTouch, UnityRAID, Vari-Fi, Video the Web Way, VideoRAID, VideoSPACE, VTEM, Work-N-Play, Xdeck, X-Form, Xmon and XPAND! are either registered trademarks or trademarks of Avid Technology, Inc. in the United States and/or other countries.

Avid Maestro | Virtual Set Setup Guide v2020.3 • Created 3/30/20 • This document is distributed by Avid in online (electronic) form only, and is not available for purchase in printed form.

4 Contents

Symbols and Conventions ...... 7 Chapter 1 Introduction ...... 8 What is Maestro | Virtual Set? ...... 8 Maestro | Virtual Set Workflow...... 9 Chapter 2 Requirements ...... 10 Linux Environment ...... 10 Windows Environment...... 12 Current Versions ...... 13 Chapter 3 Installation and Configuration ...... 14 Solution Overview ...... 14 Pre-installation checklist ...... 19 Installing Avid Maestro | Virtual Set on Linux ...... 20 Installing the Linux Environment...... 20 Flashing the Daughterboard Firmware ...... 23 Installing RenderEngine ...... 23 Maestro Engine Manager ...... 25 Installing ...... 27 Configuration of Lens Distortions ...... 28 Tracking with the Xync System ...... 29 Installing Avid Maestro | Virtual Set on Windows ...... 30 Installing Maestro | Virtual Set...... 30 Installing Avid FastServe | Playout ...... 30 Installation ...... 30 Configuration ...... 30 Troubleshooting ...... 31 Post-installation Checklist ...... 33 Chapter 4 Starting the Avid Maestro | Virtual Set System ...... 35 RenderEngine...... 35 Unreal Engine...... 35 Chapter 5 Controlling Maestro | Virtual Set...... 38 Controlling with PuTTy ...... 38 ReTalk3 Commands ...... 39 Controlling with Maestro | Live...... 40 Controlling with Global Exports ...... 43 Chapter 6 Troubleshooting ...... 49 Installation Problems ...... 49

5 Configuration Problems ...... 51 Frequently Asked Questions ...... 51

6 Using This Guide

Symbols and Conventions

Avid documentation uses the following symbols and conventions:

Symbol or Convention Meaning or Action n A note provides important related information, reminders, recommendations, and strong suggestions. c A caution means that a specific action you take could cause harm to your computer or cause you to lose data. w A warning describes an action that could cause you physical harm. Follow the guidelines in this document or on the unit itself when handling electrical equipment.

> This symbol indicates menu commands (and subcommands) in the order you select them. For example, File > Import means to open the File menu and then select the Import command.

This symbol indicates a single-step procedure. Multiple arrows in a list indicate that you perform one of the actions listed.

(Windows), (Windows This text indicates that the information applies only to the specified only), (macOS), or (macOS operating system, either Windows or macOS. only)

Bold font Bold font is primarily used in task instructions to identify user interface items and keyboard sequences.

Italic font Italic font is used to emphasize certain words and to indicate variables.

Courier Bold font Courier Bold font identifies text that you type.

Ctrl+key or mouse action Press and hold the first key while you press the last key or perform the mouse action. For example, Command+Option+C or Ctrl+drag.

| (pipe character) The pipe character is used in some Avid product names, such as Interplay | Production. In this document, the pipe is used in product names when they are in headings or at their first use in text. 1 Introduction

In this section: • What is Maestro | Virtual Set? • Maestro | Virtual Set Workflow

What is Maestro | Virtual Set?

A full Avid Maestro | Virtual Set system is made up of 3 software modules: • Maestro | Virtual Set Authoring - set of plugins and templates for the Unreal™ Editor tool. • Control Application - control Maestro | Virtual Set Engine and broadcast the graphics created with Maestro | Virtual Set Authoring, with applications such as Maestro | News or Maestro | Live. • Maestro | Virtual Set Engine - real-time application for rendering the graphics to a video output using powerful Unreal Engine on dedicated Render Device.

The Maestro | Virtual Set Authoring modules together with Unreal Editor address all requirements for integrating your OAG applications into an automated studio. First, 3D graphic scenes are created in the Unreal Editor, where you can define animated sequences and using additional plugins determine what can be changed in real time by “exporting” functions to the Control module. Reporters can then insert or import current data into the templates using a Controller, which can be run from a remote station.

Maestro | Virtual Set Authoring takes the advantage of Unreal Editor and addresses it's power into Virtual Studio creation tool. Maestro | Virtual Set Workflow Maestro | Virtual Set Workflow

The following workflow contains the main tasks performed when creating a scene in Maestro | Virtual Set.

Unreal Editor - New project from template

Scene Define Define Define Create assets Import assets composition Exports Animations interactions

Unreal Editor – Prepared scene

Validate scene Deploy to Runtime Machine

Unreal Engine Runtime – Controlled by Maestro|Live

Load/Unload Activate/ Control Set Export values Camera Tracking scene Deactivate scene Animations

Maestro|VirtualSet Studio Production

9 2 Requirements

In this section: • Linux Environment • Windows Environment • Current Versions

Linux Environment

Machine Requirements

The following machine can be used for a Maestro | Virtual Set Linux environment: • Maestro | Engine 4K with 2x UHD3 boards and 2x NVIDIA RTX 2080TI

Motherboard AIC Phoenix

Graphic Card 2 x NVIDIA RTX 2080 TI

CPU 2 x Intel E5-2640 v4

Operating System CentOS 7.4 w/customized kernel

Memory 64 GB DDR4

Internal Storage 2 x 240 GB system disk (RAID 1) Hard disks for clips storage 4 x 2 TB (RAID10)

Ethernet 2 x 1000 BASE-T (RJ-45) 2 x 10GB (SFP+, optical modules optional)

Ports 1 Serial 2 USB (front) 2 USB (rear)

Control interfaces 1 x Serial 4 x USB 2 x Ethernet (1Gbit) VGA IPMI

Supported Video Standard 3G: ST 425-1:2014 (Level A), HD: ST 260:1999, ST 295:1997, ST 274:2008 Linux Environment

Video in (mixer) Up to two (2) 3G

Video in (insertion) Up to 16 HD SDI Inputs Up to 8 3G Inputs

Video output Up to 10 HD SDI Outputs Up to 5 3G Fill and 5 3G Key Outputs (video key compositing configurable); Internal linear keyer

Video references Bi / Tri level Sync

Audio Embedded audio support 24-bit/48 kHz in HD/ 3G

Clip Options Video to texture mapping of AVI, QuickTime, DV, DVC25, and MPEG files (optional)

Video bypass Up to 2 Mechanical bypasses, Watchdog on each DSK

Size Height: 5.25 in (133.4 mm) Width: 17.4 in (443 mm) Depth: 29.5 in (750 mm) Weight: 59.5 lbs (27 kg) approximate

Power supply Redundant power supply: 100-240 V Frequency: 47-63 Hz 2 x 1500W (max)

List of Installers

The following list of installers is required for the Linux configuration:

CentOS 7 CentOS-7-x86_64-DVD-1708-Avid_*

Kernel kernel-3.10.0-693.5.2.el7.Avid.x86_64.rpm

Libraries and Tools supporting Video I/O libdvg-813.1-*.el7.centos.x86_64.rpm

NVIDIA driver nvidia-410.78-1.0.tgz

FW for UHD3 board uhd3_gfx_3819.bin

FW for DB board dp_v20_RC.bin

Avid RenderEngine for Linux RenderEngine_Linux_2019.9.3.****.exe

Avid FastServe | Playout FastServePlayout_IM_19.6.*.exe

Avid Maestro Engine Manager MEManagerSetup-2019.9.2.*.exe

11 Windows Environment

Maestro | Virtual Set Engine MaestroVirtualSetEngine_UE4.22_2019.8.exe, which contains: • SceneLoader_2019.8-*_linux.tgz • VideoOutput-2019.8.*-Linux.rpm • xerces-c-3.1.1-8.el7_2.x86_64.rpm • daemonize-1.7.3-7.el7.x86_64.rpm • oradAuthoId-2.2.21-101.x64.rpm • libndi_v3_5_x86_64_linux_redist.tgz • avahi-0.6.31-19.el7.x86_64.rpm • avahi-libs-0.6.31-19.el7.x86_64.rpm • dbus-1.10.24-7.el7.x86_64.rpm • dbus-libs-1.10.24-7.el7.x86_64.rpm • vulkan_1_1_85_0_x86_64_redist.tgz

Windows Environment

Scene Mastering

The following components are required for Maestro | Virtual Set scene mastering:

Unreal Engine Installer Unreal Engine 4.22.3

Maestro | Virtual Set Authoring Installer MaestroVirtualSetAuthoring_UE4.22_2019.8.exe, which contains: • v13_clang-7.0.1-centos7.zip • TP_AvidBaseBP_2019.8-*.7z (scene template) • AvidCamera_2019.8-*.7z (plugin) • AvidControl_2019.8-*.7z (plugin) • AvidMedia_2019.8-*.7z (plugin) • NdiMedia_*.7z (plugin) • AvidMaestroVirtualSetEditor_2019.8-*.7z (deploy and checker plugin)

Sample Scene Template Sample2019_8_***PROJECT.zip (Sample scene template)

Maestro | Virtual Set Add-ons MaestroVirtualSetAddons_2019.8.*.exe which contains: • EpicVirtualStudio project files • EpicVirtualStudio deployed scene • UE_GlobalExports_2019_8.prod file for Avid Maestro | Live

Maestro | Designer MaestroDesigner_2019.9.2.****.exe

RenderEngine for Windows RenderEngine_Win_2019.9.3.***.exe

12 Current Versions

Controlling

The following controllers can be used in a Maestro | Virtual Set environment: • Sample scene: Sample2019_8_***LINUX.7z • PuTTy (Telnet client) • Avid Maestro | Live 2020.2 Client • Avid Maestro | News 2019.12.2 Controller

Tracking Emulation • OradGenericSender.exe • MaestroTracker_2018.9.*.exe

Current Versions

The following component versions are tested and approved for the Maestro | Virtual Set 2020.3 release:

Component Name Installer

CentOS 7 CentOS-7-x86_64-DVD-1708-Avid_v1.4.2.iso (centos-release-7-4.1708.el7.centos.x86_64)

NVIDIA nvidia-410.78-1.0.tgz

Kernel kernel-3.10.0-693.5.2.el7.Avid.x86_64.rpm (3.10.0- 693.5.2.el7.Avid.x86_64 #1 SMP Thu Nov 23 11:16:51 IST 2017 x86_64 x86_64 x86_64 GNU/ Linux)

Libraries and Tools supporting Video I/O libdvg-813.1-18.el7.centos.x86_64.rpm

Maestro | Virtual Set Authoring MaestroVirtualSetAuthoring_2019.8.623

Maestro | Virtual Set Engine MaestroVirtualSetEngine_2019.8.624 Licensing Tools oradAuthoId-2.2.21-101.x64

Maestro | Tracker MaestroTracker_2018.9.29

Unreal Engine Unreal Engine 4.22.3

RenderEngine RenderEngine_Linux_2019.9.3.810

FastServePlayout FastServePlayout_IM_19.6.286 Maestro Engine Manager MEManagerSetup-2019.9.2.0

Maestro | Designer MaestroDesigner_2019.9.2.3228 Maestro | Live Maestro | Live 2020.2.0.797

Maestro | News Maestro | News 2019.12.2.466

13 3 Installation and Configuration

In this section: • Solution Overview • Installing Avid Maestro | Virtual Set on Linux • Installing Avid Maestro | Virtual Set on Windows

Solution Overview

The illustrations below present an overview of the entire Maestro | Virtual Set solution.

Using Mixing Between Engines

The following hardware components are used in the above Maestro | Virtual Set solution: • Render Machine - Maestro | Engine 4K • External Chroma Key Device - such as ULTIMATTE 12 • Camera + Tracker • Genlock Generator • Control_Data Server •Control PC Solution Overview

The Maestro | Engine 4K render machine provides two renderers, separated by domains. Unreal Engine is only responsible for background rendering. Its output is going into mixing source for RenderEngine, which adds the Augmented Reality objects, insertions, Garbage Matte, etc. The output of the Maestro | Engine 4K machine is mixed with the Background, the Foreground and the Background Matte (also known as the Alpha channel).

The output of the Render Machine (fill + key) is connected to an external ChromaKey which is responsible for the final mixing between the Virtual Studio Background, the Augmented Reality Foreground and the Camera Feed.

Independent engines - BG only from Unreal

The following hardware components are used in the above Maestro | Virtual Set solution: • Render Machine - Maestro | Engine 4K • External Chroma Key Device - ULTIMATE • Camera + Tracker • Genlock Generator • Control_Data Server •Control PC

The Maestro | Engine render machine provides two renderers separated by domains. The Unreal Engine (U)E is only responsible for background rendering. Its output is going directly to the Ultimatte Chroma Key device as the Background input (BG IN). The RenderEngine (RE) is adding the Augmented Reality objects (LAYER IN), the alpha channels for them (LAYER MATTE IN) and the dedicated Garbage Matte (G MATTE IN).

The output of the Render Machine is connected to the external ChromaKey device which is responsible for the final mixing between the Virtual Studio Background, the Augmented Reality Foreground and the Camera Feed.

15 Solution Overview

Independent engines - Garbage and AR from Unreal

The following hardware components are used in the above Maestro | Virtual Set solution: • Render Machine - Maestro | Engine 4K • External Chroma Key Device - ULTIMATTE • Camera + Tracker • Genlock Generator • Control_Data Server •Control PC

16 Solution Overview

The Maestro | Engine 4K render machine provides two renderers separated by domains. The UE is responsible for the background, the garbage and non-opaque AR elements. Its outputs is going directly to the Ultimatte Chroma Key device as the Background input (BG IN) and the dedicated Garbage Matte (G MATTE IN). The RE is adding the Augmented Reality objects (LAYER IN), and the alpha channels for them (LAYER MATTE IN).

The output of the Render Machine is connected to the external ChromaKey device which is responsible for the final mixing between the Virtual Studio Background, the Augmented Reality Foreground and the Camera Feed.

Unreal Engine Only

Hardware components: • Render machine - Maestro | Engine 4K • External ChromaKey device - ULTIMATTE • Camera + Tracker • Genlock Generator • Control_Data server •Control PC

The Maestro | Engine 4K render machine provides the Unreal Engine a renderer. UE is responsible for the Fill and Key rendering (including Garbage) which handles the Virtual Studio as well as the Augmented Reality. The outputs of the Unreal Engine (fill + key) are connected to an external ChromaKey device which is responsible for the final mixing between the Virtual Studio Background, the Augmented Reality Foreground and the Camera Feed.

17 Solution Overview

Internal Mixing in Unreal

Hardware components: • Render machine - Maestro | Engine 4K • External ChromaKey device - ULTIMATTE • Camera + Tracker • Genlock Generator • Control_Data server •Control PC

The Maestro | Engine 4K render machine provides Unreal Engine a renderer. UE is responsible for mixing the Camera and the Graphics for the Virtual Studio and the Augmented Reality. The external ChromaKey device is providing the Fill and Key signal which is delivered to Unreal Engine through two video insertions. Unreal Engine is responsible for the final mixing between the Virtual Studio Background, the Augmented Reality Foreground and the Camera Feed (including Garbage).

18 Pre-installation checklist

Internal mixing in Unreal with On-air Graphics from RE

Hardware components: • Render machine - Maestro | Engine 4K • External ChromaKey device - ULTIMATTE 12 • Camera + Tracker • Genlock Generator • Control_Data server •Control PC

The Maestro | Engine 4K render machine provides two renderers separated by domains. The Unreal Engine is responsible for mixing the Camera and the Graphics for the Virtual Studio and the Augmented Reality. The external ChromaKey device is providing the Fill and Key signal which is delivered to the Unreal Engine through two video insertions. Its output is going into the mixing source for RenderEngine which is adding Augmented Reality objects, on-air graphics, insertions, clips, etc.

Pre-installation checklist

Before installing the Maestro | Virtual Set system, check Hardware and Software requirements listed in the Requirements chapter.

19 Installing Avid Maestro | Virtual Set on Linux Installing Avid Maestro | Virtual Set on Linux

This topic contains information on how to prepare a complete Maestro | Virtual Set Linux system.

Installing the Linux Environment

This topic contains information on how to install the Linux environment on a Maestro | Engine 4K machine for a Maestro | Virtual Set solution.

To prepare the Linux environment: 1. Make sure the correct BIOS version is installed: PHAEV086. If you have an older BIOS version, perform an upgrade: a. Create a bootable USB flash drive with FreeDOS.

b. Unload and unpack the PHAEV086.zip\PHAEV086\DOS\ directory into the [USBFlashDrive]/LOCATE/ directory.

c. Connect the USB drive to the Maestro | Engine 4K machine and boot from the USB. d. FreeDOS should now be loaded. Go to LOCALE > “cd LOCALE” and execute “flash.bat”. e. Wait until the BIOS flashing process ends, disconnect the USB flash drive and carry out a complete power cycle of the machine. c DO NOT remove the USB flash drive while the flashing process is running and DO NOT power off the machine during the BIOS upgrade.

2. Install CentOS 7.4 and configure it as described in the Avid Maestro | Engine 4K Setup Guide.

20 Installing Avid Maestro | Virtual Set on Linux

3. Install the modified NVIDIA driver. a. Place the appropriate NVIDIA driver in the public folder on the render machine. b. Login to your CentOS7 based render machine (Maestro | Engine 4K). c. Unpack the NVIDIA driver. tar -zxvf nvidia-410.78-1.0.tgz d. Go to the unpacked driver directory and run the ./orad-installer. cd /data/public/NVIDIA-Linux-x86_64-410.78/ ./orad-installer c It is required to stop all graphics applications when installing the driver. n 32-bit compatibility libraries are not needed. e. When a window appears asking to run the nvidia-xconfig utility, click No to proceed further. f. The driver installation is now complete. g. Edit the /etc/modprobe.d/modprobe.conf file and add the pbo_cached parameter. vim /etc/modprobe.d/modprobe.conf options nvidia nv_pbo_cached=1 h. Reboot the machine. n If you already have an unmodified NVIDIA driver installed, you need to uninstall it first. Otherwise the installation of the new driver will fail. To uninstall the driver, follow the steps below:

1. Stop all graphic applications: killall -vw RE SceneLoader dvgtest X 2. Execute the installer with the --uninstall option: sh /data/public/NVIDIA-Linux-x86_64-410.78-Avid-MVS.run --uninstall

4. If you don't have RAID yet, then create RAID10 for 4x 3.5'' HDDs for Clips. Use scripts create_raid_10_ver2.1.sh and remove_raid_ver1_4.sh for an automated creation of RAID-10.

5. Mount Control_Data. To mount Control_Data manually: a. Create a file containing the user account data (user name, password and domain) and save it to a chosen location (such as /etc/credentials). username= password= domain= b. Create the /Control_Data directory and modify the access permissions by changing chmod to 777.

21 Installing Avid Maestro | Virtual Set on Linux

c. Mount the Shared Data: mount -v -t cifs //WINDOWS_IP/SHAREDDIRECTORY /Control_Data/ -o credentials=/etc/.credentials -o sec=ntlm You should receive the following result if the mounting was successful. mount.cifs kernel mount options: ip=WINDOWS_IP,unc=//WINDOWS_IP/SHAREDDIRECTORY,sec=ntlm,user=YOURUSER,domai n=YOURDOMAIN,pass=******** To mount Control_Data automatically: a. Follow steps a. and b. described for the manual mounting procedure. b. Edit the /etc/fstab file and add the following line: //WINDOWS_IP/SHAREDDIRECTORY /Control_Data cifs credentials=/etc/.credentials,rw,uid=1000,gid=1000,vers=2.0,nounix,ioch arset=utf8,file_mode=0777,dir_mode=0777,sec=ntlm 0 0 c. Mount the Shared Data using the following command: mount /Control_Data

6. Enable Intel Turbo Boost in BIOS settings. a. Go to SCU (BIOS) > Advanced > Advanced Power Management Configuration > EIST (GV3) [Enable]. b. Then go to CPU P State Control. Change CPU P State Control options to: - PL2_SAFETY_NET_ENABLE [Enable] - Energy efficient P-state [Enable] - Boot performance mode [Max Performance] - Turbo Mode [Enable] c. Go to Boot > Boot Type and change it to Legacy Boot Type. d. Go to Boot > USB Boot and change it to Enabled.

7. Check on which PCI slots the UHD3 boards and the NVIDIA graphics card are currently configured: lspci | grep -i orad 04:00.0 Bridge: Orad Hi-Tec Systems Device 1979 (rev 12) 86:00.0 Bridge: Orad Hi-Tec Systems Device 1979 (rev 0e) And for the graphics card: lspci | grep -i "vga" | grep -i "nvidia" 02:00.0 VGA compatible controller: NVIDIA Corporation Device 1e07 (rev a1) 87:00.0 VGA compatible controller: NVIDIA Corporation Device 1e07 (rev a1)

22 Installing Avid Maestro | Virtual Set on Linux

8. Modify the modprobe.conf file and add the following lines: alias char-major-121 dvgg options dvgg major=121 alias char-major-122 dvgh options dvgh major=122 only_bus=0x04 alias char-major-123 dvgi options dvgi major=123 only_bus=0x86 options nvidia nv_pbo_cached=1 n Dvgh is used for domain 0 (RE > 0x04 Main). Dvgi is used for domain 1 (UnrealEngine > 0x86 Main).

9. Reboot the Maestro | Engine 4K machine.

Flashing the Daughterboard Firmware

This topic describes how to install the latest firmware on the daughterboards. The correct version of the DB firmware is dp_v20_RC.bin. n If a daughterboard already has a different firmware installed, please remove it first. There could be a number of firmwares installed on each board. Delete them in a descending order, start with the highest firmware number to the lowest.

To remove an existing firmware: 1. Check the current configuration of the board: dvgflash -board 0 -reconf -list 2. Switch to the daughterboard firmware and display a list: dvgflash -board 0 -slaveselect 1 -list 3. Delete the current firmware for the 1st and 2nd boards (replace X with the board number): dvgflash -board 0 -slaveselect 1 -delete X

To burn new firmware: 1. To flash new firmware for the daughterboards (replace X with the board number): dvgflash -board X -slaveselect 1 -write /data/public/dp_v14.bin -quick 2. Verify the current firmware version (replace X with the board number): dvgflash -board X -slaveselect 1 -list

Installing RenderEngine

This topic contains information on how to install and configure Avid RenderEngine on Linux. n To the last input of the main card on domain=0 (RE), you should put the first output from domain=1 (UE) for the mixing purposes. c Remove all RenderEngine_Linux instances from the Control PC before installing a new version. In case of any problems, remove the whole /data/public/RenderEngineLinux/ directory.

23 Installing Avid Maestro | Virtual Set on Linux

To install RenderEngine on Linux: 1. Install RenderEngine_Linux_2019.9.3.****.exe on your Maestro | Engine 4K machine. 2. During the RenderEngine_Linux installation, a new desktop icon for RenderEngineLinux_InstallationManager will be added. Double-click on that icon to open the Installation Manager. 3. In the Installation Manager window, add a new host where RenderEngine is to be installed.

4. Select the required host and click on Install.

5. Generate licenses for RE, VideoInputs, VideoMixer, VideoOutputs, REEffects (/usr/local/orad/license.dat).

Edit the start.sh file: 1. Edit the start.sh (/data/RE/bin/start.sh) file and add the following variable: setenv DVG_UNIFIED_OUTPUT_CLOCKING

24 Installing Avid Maestro | Virtual Set on Linux

Edit the RE.xml file: 1. Edit the RE.xml (/data/RE/bin/RE.xml) file and set the RE Layout to HDWithAlpha: n The ChannelId="X" parameter should be set in the same way as CHANNEL X from line 8 in TrackingSet_HOSTNAMEYOURME4K.cfg file. See the Maestro | Tracker section below.

3. Enable and configure lens distortions, if necessary.

Edit the Effects.xml (data/RE/bin/Effects.xml) file: t If you need the lens distortions to work on slots other than 250-255, edit the Effects.xml file: ... ...

Maestro Engine Manager

Maestro | Engine Manager (MEM) is a web-based configuration tool that allows to setup your Maestro | Engine 4K machine.

To install Maestro | Engine Manager on your Maestro | Engine machine: 1. Download the installer of the Installation Manager for Maestro | Engine Manager. 2. Run the installer and follow the steps of the installation using default settings. 3. Run the newly installed InstallationManager for MaestroEngineManager. 4. Click on New Host, then enter the address of the Maestro | Engine 4K machine where the MEM is going to be installed.

25 Installing Avid Maestro | Virtual Set on Linux

If there is an older version of MEM already installed on that particular machine, uninstall it. 5. Select the created host and click Install.

6. Exit the installer.

Configuration

Using Maestro Engine Manager, configure your Maestro | Engine 4K machine to work with Unreal Engine as Background renderer and RenderEngine as renderer for AR objects:

Create two configuration files.

RenderEngine Configuration File: • 1080i@50Hz (SMPTE274_25I) or 59Hz, • 3DVG Board, • gfx optimized + pipeline, • 8 inputs on board (last input will be used for mixing from Unreal), • 1 render channel, genlock digital, fields rendering + alpha, • mixing activated, single mixer source checked, • outputs Compositing

Unreal Engine Configuration File: • 1080i@50Hz (SMPTE274_25I) or 59Hz [matched with RenderEngine], • 3DVG Board, • gfx optimized + pipeline, • 8 inputs on board, • 1 render channel, genlock analog, fields rendering - without alpha, • AntiFlicker Filter 0.01, • outputs Graphics.

26 Installing Avid Maestro | Virtual Set on Linux

Installing Unreal Engine

First, install the Maestro | Virtual Set Engine (MaestroVirtualSetEngine_2019.8.*.exe). Make sure you have the required license in place. n If you have installed MaestroVirtualSetEngine_2018.6.120.exe on Control PC, please take a look on troubleshooting section.

To install MaestroVirtualSetEngine_UE4.22_2019.8.*.*.exe on Maestro | Engine 4K: 1. Select the “Complete” installation for the Maestro | Virtual Set Engine. This will install our Installation Manager for Linux machines on your Control PC. 2. Run the Maestro VirtualSet Engine Installation Manager, add hosts where you want to install the Engine and click Install.

3. Generate a correct license named MaestroVirtualSetEngine 2019.8 (usr/local/orad/license.dat). n Without a valid license you will not be able to load any project to SceneLoader and an appropriate notification will be visible on the video output.

4. Optionally, generate a license for Video insertions (Video_Inputs_MVSE 1.0) and/or NDI insertions (Video_Inputs_NDI_MVSE 1.0).

27 Installing Avid Maestro | Virtual Set on Linux

Configuration of Lens Distortions

Lens distortions are enabled by default. But if you need to disable them on output, edit the

/data/SceneLoader/SceneLoader/Saved/Config/LinuxNoEditor/Game.ini

file:

[/Script/AvidCamera.AvidLensDistortionSettings]

DistortionsType=NONE n Possible values are: NONE, ENABLED Additional parameters (only when enabled): • TextureSize: integer value (power of two), default 32

Controlling of Lens Distortion

If you plan to match tracking between RE and UE, then you need to use a dedicated GlobalExport command (DistortionsScaleFieldOfView) in the runtime.

If in the RE.xml file you have the following info:

IsEnlargeView="Yes"

EnlargeX="0.12"

EnlargeY="0.12"

...

/>

Then, using a controller, send to this export the value “1.12”. n If you want to permanently set this distortion, you can insert it in the Game.ini file. [/Script/AvidCamera.TrackingServer]

ScaleFieldOfView=1.12

28 Installing Avid Maestro | Virtual Set on Linux

Tracking with the Xync System

This topic describes how to configure the Xync tracking for the Maestro | Virtual Set solution.

To configure Xync tracking: 1. Configure Xync using the WebSettings with single tracking channel per target. For more information, see the Xync 2.0 User Guide. 2. Inject channels in /data/WebSettings/modules/modXync/data/TrackingSet_.cfg on the Xync machine.

Where: CHANNEL 1 is for RenderEngine and should be configured the same in RE.xml file. CHANNEL 2 is for Unreal Engime and requires (UE uses unicast connection for Tracking Data). Example: If you have to send the Tracking Data to another rendering machine (not the one with Xync on it) you should add supplementary channels for Unreal inside the /data/WebSettings/modules/modXync/data/TrackingSet_.cfg file. For example, here we are sending tracking data Unreal Engine on two machines 10.10.15.39 and 10.10.15.40: CHANNEL 1 INIT CAMERA 1 DELAY CHANNEL 0

CHANNEL 2 INIT CAMERA 1 SOCKET TRANSMIT json 12000 10.10.15.39

CHANNEL 3 INIT CAMERA 1 SOCKET TRANSMIT json 12001 10.10.15.40 3. Allow for proper multicast routing on Xync machine: route add -net 224.0.0.0 netmask 240.0.0.0 eth0 n This method is not permanent and is required after every machine restart!

29 Installing Avid Maestro | Virtual Set on Windows Installing Avid Maestro | Virtual Set on Windows

This topic discusses the steps required to setup a complete Maestro | Virtual Set Windows environment.

Installing Maestro | Virtual Set

This topic contains information on how to install the Maestro | Virtual Set components on Windows.

To install Maestro | Virtual Set on Windows: 1. Make sure you have the latest NVIDIA/AMD driver installed on system to run Unreal Engine. 2. Make sure you have latest updates for the Microsoft Windows system. 3. Register your account on https://www.unrealengine.com/. 4. Download the Epic Launcher and Unreal Engine 4.22.3. 5. Perform fa irst run of Unreal Engine and close it. 6. Download MaestroVirtualSetAuthoring_UE4.22_2019.8.*.exe and run the installer. n Before installing a new MaestroVirtualSetAuthoring version, please uninstall all previous builds. n MaestroVirtualSetAuthoring should automatically detect your Unreal Engine installation directory and it will install all plugins there.

7. Make sure you have the necessary license for MaestroVirtualSetPlugins 2019.8.

Installing Avid FastServe | Playout

Maestro | VirtualSet utilizes the Avid FastServe | Playout (VideoEngine) component as the clip provider.

Installation

Install FastServe | Playout for Linux as described in the Installation of FastServe | Playout on Linux using the Installation Manager topic of the Avid FastServe | Playout Setup Guide v2019.6. Select the Custom SMIO mode.

Configuration

After installing FastServePlayout (VideoEngine), configure it as described below.

To configure FastServePlayout for the Clips insertions: 1. Open a web browser and enter the FastServe | Playout unit’s IP address as the URL, with the suffix 8080. For example, 192.0.2.0:8080. The Log In Page opens. 2. Type your password in the Password field. n The default user name is “admin” or “avid” and default password is “Avid123”. 3. (Option) If you want the login credentials to be saved, click the Remember me check box.

30 Installing Avid FastServe | Playout

4. Click the Log In button. The VideoEngine page is displayed. 5. Check if you have the correct version installed and then set your OUT options: t The Maximum number of OUT channels: 4 t The Resolution: Native t The Format: YUY2 t Transfer mode: Asynchronous

6. Open the General section to assign the required Cores.

Troubleshooting

FastServePlayout (VideoEngine) Tweaks

Increase the Pool Size to 2048 in the VideoEngine.xml file.

31 Installing Avid FastServe | Playout

SceneLoader Tweaks

Disable all SMIO channels in the Game.ini file if they are not used.

Also, invert fields order for interlace.

Known Issues and Limitations

³ Alpha channel is not supported.

³ There is an assumption for picture aspect of a clip to be equal 16x9. Even so, a designer of a scene may change this assumption and scale the rectangle with clip insertion differently.

32 Post-installation Checklist Post-installation Checklist

Use the table below as a checklist for the configuration steps you have to perform after you have installed Maestro | Virtual Set.

 Authoring Licensing Plugins are correctly licensed by HASP

Create a project from Avid_Base Export: template • Export button creates a function for Export present in cooked scene • Create RenderText object and link text to export function • Check with 'Check' button if the export was recognized Animation: • Create a single object (e.g. Cone) and animate position, e.g. with Matinee • Check with 'Check' button if the animation was recognized

Cooking Deploying project (after save) compiles and copies cooked scene to: /Control_Data/Projecs/ - / -- --- Scene/ --- scene_data.xml -- .pak -- .lst  Runtime Licensing SceneLoader licensed by nodelock

Starting SceneLoader • SceneLoader starts and the log file was created in /data/SceneLoader/SceneLoader/Saved/Logs/SceneL oader.log and it shows it was started successfully • SDI output becomes synced and black image appears

Scene load ReTalk3 command Scene.Load and Viewport.ActivateScene make the scene visible on the SDI output

Export control ReTalk3 command Export.Set on export prepared earlier is updating the text value at runtime

Animation control ReTalk3 command Animation.Play on animation prepared earlier is playing the expected animation at runtime

Tracking The rendered viewport is following the tracking data delivered by Maestro | Tracker.

33 Post-installation Checklist

Scene unload ReTalk3 command Viewport.DeactivateScene and Scene.Unload make the scene invisible on SDI output

Performance No frames are lost; FPS is ~X where X is the frequency of the Video format • either by console (needs keyboard) • by dedicated GlobalExport (ExecuteConsoleCommand)  Controlling Render Unit creation Possible to create a Render Unit of Unreal type

Render Unit connection Render Unit becomes green after connecting to SceneLoader

Scene load ReTalk3 command Scene.Load and Viewport.ActivateScene make the scene visible on the SDI output

Export control ReTalk3 command Export.Set on export prepared earlier is updating the text value at runtime

Animation control ReTalk3 command Animation.Play on animation prepared earlier is playing the expected animation at runtime

Scene unload ReTalk3 command Viewport.DeactivateScene and Scene.Unload make the scene invisible on SDI output

Render Unit reconnect After disconnectin/reconnecting Render Units the behavior is unchanged

34 4 Starting the Avid Maestro | Virtual Set System

In this section: • RenderEngine • Unreal Engine

RenderEngine

RenderEngine should be run on domain=0.

To run RenderEngine: t Type the following command: cd /data/RE/bin; ./start.sh domain=0 n RenderEngine will now generate an RE0.log instead of RE.log. Unreal Engine

Unreal Engine should be run on domain=1. n A mouse cursor may appear after starting the Scene Loader. To remove it from the view, start the system with the -nocursor option.

1. Remove the /usr/bin/X file from the system. 2. Create a new text file, put the following content inside it and save it as usr/bin/X: #!/bin/sh

Xorg -nocursor $* 3. Add an executable flag to the newly created file: chmod a+x /usr/bin/X

To run Unreal Engine: 1. Prepare the desktop. Set the boardset format to the one which is saved in the HdvgCpProfile.xml generated from the Maestro Engine Manager. n Remember to use the configuration file created for the Unreal Engine. For more information, see “Maestro Engine Manager” on page 25.

Run the SceneLoader using the following command: cd /data/SceneLoader ./mstart.sh Unreal Engine

2. Select Modify Configuration.

3. Select the required use case.

4. Confirm the location of the configuration file.

5. Choose the usecase depending on the available configuration:

n The available options here depend on the Alpha configuration in the Hardware Configuration File.

36 Unreal Engine

6. The Output will begin to be configured:

7. Run SceneLoader again to restart it: cd /data/SceneLoader/ ./mstart.sh

n SceneLoader is our modified Unreal Engine with implemented ReTalk3 API and should be treated as Unreal equivalent of launching RE. Engine is waiting for RT3 commands - load scene, activate, deactivate, set export, play animation etc.

37 5 Controlling Maestro | Virtual Set

In this topic: • Controlling with PuTTy • Controlling with Maestro | Live • Controlling with Global Exports

Controlling with PuTTy

Open PuTTy, and Connect to UE/SceneLoader (Maestro | Engine 4K machine):

Field Value

Host Name (or IP address)

Port 8890

Connection Type Raw Controlling with PuTTy

ReTalk3 Commands

Load Scene

[1] Scene.Load(PathName="Sample2019_8\Sample2019_8");

Activate Scene

[2] Viewport.ActivateScene(Canvas="Canvas1", Channel=1, Scene="Sample2019_8\Sample2019_8");

Set export

[3] Export.Set(Scene="Sample2019_8\Sample2019_8", Export="Cube_X", Value="0");

In this example, the Set export command changes the X position of an object.

Set export

[4] Export.Set(Scene="Sample2019_8\Sample2019_8", Export="Sphere_Scale", Value="5");

In this example, the Set export command changes the X,Y,Z scale of an object.

Run animation

[6] Animation.Play(Scene="Sample2019_8\Sample2019_8", Animation="Anim_seq");

The command plays an animation (from sequence editor).

Deactivate Scene

[9] Viewport.DeactivateScene(Canvas="Canvas1", Channel=1);

Deactivate Scene

[10] Scene.Unload(PathName="Sample2019_8\Sample2019_8");;

39 Controlling with Maestro | Live Controlling with Maestro | Live

You can control Maestro | Virtual Set scenes using the Avid Maestro | Live Controller.

To work with Maestro | Live: 1. Start the Maestro | Live Server.

2. Open the Maestro | Live Client. 3. Go to: Devices > Render Unit Manager.

4. Add an Unreal Engine device: a. Enter a name and an UID for the device. b. Enter the IP address of your Maestro | Engine 4K machine. c. Select Render Unit / Unreal as the device type. d. Set the Port number to 8890. e. Enter the Canvas ID (Canvas1).

5. Close the Add device window and add three new actions to the Panel to control the scene.

40 Controlling with Maestro | Live

6. In the Action Editor > Details tab, attach the created actions to the Unreal Engine device you have created in Step 3.

7. In the Graphic Item tab, select the proper device and scene Sample2019_8 > Set Defaults:

8. Add the appropriate actions to the Cue, Play and Stop tabs in all controls.

41 Controlling with Maestro | Live

Load/Activate/Unload: Cue: UnReal Scene Load, UnReal Scene Activate; Play: - ; Stop: UnReal Scene Unload Animation Cube: Cue: -; Play: UnReal Anim. Play; Stop: UnReal Anim. Pause Cube X Position: Cue: -; Play: UnReal Export Set; Stop: - Sphere 3D X,Y,Z Scale: Cue: -; Play: UnReal Export Set; Stop: - 9. The Unreal Device appears at the Devices bar at the bottom of the Maestro | Live Client window. Click to connect to the device. Once the connection is established, the device icon changes to green. 10. Change the Maestro | Live mode to On Air so that you can control your Unreal Engine scene. 11. Starting with Maestro | Live v2020.2, you can send GlobalExports (e.g. to control Studio) from any action and with live GI parameters. n An XML list of supported GlobalExports can be found in the following location: /Control_Data/config/GlobalExports/UnrealGlobalExports_name.of.machine.xml (G:\config\...).

a. In the Action Editor, set Render Unit / Unreal as the rendering device type. You should now see a new tab called “Global Exports”.

b. You can drag and drop any item from this list and it will generate an Unreal Set Global Export action. c. If you want to use GI Parameters, you also have access to predefined/supported list of GE.

42 Controlling with Global Exports

Controlling with Global Exports

The below tables present all commands which can be used to control Maestro | Virtual Set in runtime.

TrackedPawn

Export Value Description Defaults

TrackedPawnPos string, "X=, TrackedPawn position in cm - use it to translate the - Y=, Z=" scene location.

TrackedPawnPosX float TrackedPawn position X in cm - use it to translate - the scene location.

TrackedPawnPosY float TrackedPawn position Y in cm - use it to translate - the scene location.

TrackedPawnPosZ float TrackedPawn position Z in cm - use it to adjust the - floor height in the studio.

TrackedPawnPan float TrackedPawn Pan in degrees - use it to rotate the - scene.

TrackedPawnFloorLevel - Move the TrackedPawn to the floor level. It is - assumed that the studio floor level is at 0.

43 Controlling with Global Exports

Export Value Description Defaults

ShowCarpet bool Visualize the floor level. 0

ShowTalentMarker bool Show talent marker 0

Monitoring

Export Value Description Defaults

ShowTrackingDataOverlay bool Visualize tracking data and performance. 0

ExecuteConsoleCommand string Call any command available through the Unreal - Engine console.

ShowPerformance bool Show Performance statistics. 0

ShowOnScreenMessages bool Show Onscreen messages. 0

ShowVideoStatistics bool Show Video statistics. 0

ShowGarbage bool Garbage visualization 0

Video Insertions

Export Value Description Default

VideoDelay string, Parameter format: Add video delay for a given video 0 (VideoStreamIndex:Int), insertion. (Delay:Float) n This setting will be saved. ShowVideo bool Show Video statistics 0 Statistics

NDI Insertions

Export Value Description

NdiMediaOpenSource string, Parameter format: Open the given source name on an NDI (ChannelNo:Int),(SourceName:String) channel.

NdiMediaPlay int Play the given NDI channel.

NdiMediaStop int Stop playing the given NDI channel.

NdiMediaSetFormat string, Parameter format: Change the color format for the given (ChannelNo:Int),(ColorFormat:String) channel. Possible formats are: BGRA or UYVY

44 Controlling with Global Exports

Mixing

Export Value Description Defaults

MixingDistanceToScreen float Distance of mixing layer from the 1000 camera.

MixingShowFullScreen bool Enable/Disable fullscreen mixing. 1

MixingShowLayer bool Enable/Disable mixing a layer in a scene. 1

MixingShowShadows bool Enable/Disable shadows for mixing a 1 layer in a scene.

MixingKeyBlackLevel float Adjust the shift of the black signal level 0.0 for Key insertion - default -0.3.

MixingKeyMiddleLevel float Adjust the shift of the middle signal level 0.5 for Key insertion - default 0.5.

MixingKeyWhiteLevel float Adjust the shift of the white signal level 1.0 for Key insertion - default 1.3.

MixingKeyOldMiddleLevel float Adjust the original middle signal level for 0.5 Key insertion - default 0.5.

MixingFillInput int Video input for mixing (FILL) -

MixingKeyInput int Video input for mixing (KEY) -

MixingFillPremultiplied bool Fill premultiplied 1

MixingKeyInvert bool Key inversion 0

MixingKeyUse bool Use KEY for mixing 1

MixingKeyPreview float Previewing the KEY signal - Lerp 0.0 between KEY and FILL from 0.0 to 1.0

MixingBlend float Fullscreen mixing blend factor from 0.0 1.0 to 1.0

MixingLayerSimplified float layer simplified KEY threshold from 0.0 1.0 to 1.0 Alpha

MixingProcessLayerDoF bool Process Layer DoF 0

ShowTalentMarker bool Show talent marker 0

Color Correction for Layer

Export Value Description Defaults

MixingLayerColorContrast float Layer Color Correction Contrast 1.0

MixingLayerColorSaturation float Layer Color Correction Saturation from 0.0 -2.0 to 2.0

45 Controlling with Global Exports

Export Value Description Defaults

MixingLayerColorHueShift float Layer Color Correction Hue Shift from 0.0 -0.5 to 0.5

MixingLayerColorBrightness float Layer Color Correction Brightness from 1.0 0.0 to 8.0

MixingLayerColorLiftR float Layer Color Correction Lift Red 0.0

MixingLayerColorLiftG float Layer Color Correction Lift Green 0.0

MixingLayerColorLiftB float Layer Color Correction Lift Blue 0.0

MixingLayerColorGammaR float Layer Color Correction Gamma Red 1.0

MixingLayerColorGammaG float Layer Color Correction Gamma Green 1.0

MixingLayerColorGammaB float Layer Color Correction Gamma Blue 1.0

MixingLayerColorGainR float Layer Color Correction Gain Red 1.0

MixingLayerColorGainG float Layer Color Correction Gain Green 1.0

MixingLayerColorGainB float Layer Color Correction Gain Blue 1.0

MixingLayerColorCorrection float Amount of layer Color Correction from 0.0 Amount 0.0 to 1.0

MixingLayerUnlit float Layer Unlit amount from 0.0 to 1.0 1.0

Color Correction for FullScreen

Export Value Description Defaults

MixingFullScreenColorContrast float FullScreen Color Correction Contrast 1.0

MixingFullScreenColorSaturation float FullScreen Color Correction Saturation 0.0 from -2.0 to 2.0

MixingFullScreenColorHueShift float FullScreen Color Correction Hue Shift 0.0 from -0.5 to 0.5

MixingFullScreenColorBrightnes float FullScreen Color Correction Brightness 1.0 s from 0.0 to 8.0

MixingFullScreenColorLiftR float FullScreen Color Correction Lift Red 0.0

MixingFullScreenColorLiftG float FullScreen Color Correction Lift Green 0.0

MixingFullScreenColorLiftB float FullScreen Color Correction Lift Blue 0.0

MixingFullScreenColorGammaR float FullScreen Color Correction Gamma Red 1.0

MixingFullScreenColorGammaG float FullScreen Color Correction Gamma 1.0 Green

MixingFullScreenColorGammaB float FullScreen Color Correction Gamma 1.0 Blue

46 Controlling with Global Exports

Export Value Description Defaults

MixingFullScreenColorGainR float FullScreen Color Correction Gain Red 1.0

MixingFullScreenColorGainG float FullScreen Color Correction Gain Green 1.0

MixingFullScreenColorGainB float FullScreen Color Correction Gain Blue 1.0

MixingFullScreenColorCorrectio float Amount of FullScreen Color Correction 0.0 nAmount from 0.0 to 1.0

MixingFullScreenUnlit float FullScreen Unlit amount from 0.0 to 1.0 1.0

Garbage

Export Value Description Defaults

GarbagePos string, "X=, Y=, Garbage relative position in cm. - Z="

GarbagePosX float Garbage relative position X in cm. -

GarbagePosY float Garbage relative position Y in cm. -

GarbagePosZ float Garbage relative position Z in cm. -

GarbageRot string, "X=, Y=, Garbage relative rotation in degrees. - Z="

GarbageRotX float Garbage relative rotation X in degrees. -

GarbageRotY float Garbage relative rotation Y in degrees. -

GarbageRotZ float Garbage relative rotation Z in degrees -

ShowGarbage bool Visualize garbage on the main viewport. 0

Distortions

Export Value Description Defaults

Distortions string: "NONE" / Select distortions on output - default Enabled "ENABLED" MODE2.

DistortionsScaleFieldOfView float Modify FoV according to Enlarge (needed 1.0 to match RE distortions implementation).

DistortionsTextureSize int 32

47 Controlling with Global Exports

DoF

Export Value Description Defaults

DofEnable bool Enable/Disable DOF effect. 1

DofAperture float Control the intensity of the DOF effect. It 4.0 defines the opening of the camera lens, typical 1.2 (large opening), larger numbers reduce the DOF effect.

DofUseRealCameraFocus bool Use the real focus distance from tracking 1 data.

DofUseRealCameraAperture bool Use the real camera Aperture from 0 tracking data.

DofNearTransition float Near transition distance in centimeters 100

DofFarTransition float Far transition distance in centimeters 100

DofFocusPlaneDistance float The Focus Plane distance in cm when 400 DofUseRealCameraFocus is disabled

48 6 Troubleshooting

In this section: • Installation Problems • Configuration Problems • Frequently Asked Questions

Installation Problems

Problems with locating the version of installed Unreal Engine

The MaestroVirtualSetAuthoring 2019.8 application requires UnrealEngine v4.22. If the version is already installed on the PC but not registered properly in the system (missing entries in Windows Registry):

HKEY_LOCAL_MACHINE\SOFTWARE\EpicGames\Unreal Engine\4.22\InstalledDirectory

uninstall it from the Epic Games Launcher and install it once again.

Afterwards, check the Windows Registry if the required entry is present: Installation Problems

Problems with installing MaestroVirtualEngine on Linux machines c The procedure described here applies only to the MaestroVirtualSetEngine_2018.6.120.exe version!

The installer listed above may have problems with installing/updating packages on desired render machines. • If you have installed this version on render machine A and you want to install it again on render machine B, then the installer automatically wants to remove packages from render machine A. • Other problems may occur when you want to install this version on other render machines and one of the already set up render machines is unreachable in the network - the installer wants to remove it, but if it encounters connection problems then it fails and stops the installation. • If you are going to install a new version of the application, the installer will try to first uninstall the previous version on all of the already installed render machines.

To avoid these problems you need to edit windows registry key HKEY_LOCAL_MACHINE\SOFTWARE\Avid\MaestroVirtualSetLinux\HDVG and/or edit or remove the IP address.

50 Configuration Problems Configuration Problems

Used format is different than what is defined in the Maestro Engine Manager

Make sure the correct host name of the Maestro | Engine 4K machine is used in the Maestro Engine Manager.

Frequently Asked Questions

My output is blinking! What can I do?

Change genlock to DIGITAL instead of ANALOG.

I cannot uninstall Maestro | Virtual Set from Linux! How to delete it completely?

Go to /data/public/MaestroVirtualSet/20xx.x.xxx/ and run the ./uninstall.sh script.

Tracking is not matching between UE and RE and the camera feed. What can I do?

This problem can be caused by a number of factors: 1. Performance issues. 2. Distortions settings 3. Screen formats database in libdvg 4. Floor level in Unreal

To find solutions for problems listed above, see the Maestro | Virtual Set User Guide.

51