Engine Switcher Mode
With Viz Mosart in Engine Switcher mode, you can create an IP-based workflow which eliminates hardware studio switcher/mixers. In this mode:
Viz Engine performs the function of a switcher/mixer, switching IP inputs and all rendering of DVE effects (box effects, butterflies, picture in picture, etc.) and full screen/overlay graphics.
Engine Switcher works under exclusive control of Viz Mosart, but is not an integrated single unit. In Engine Switcher mode, Viz Engine and Viz Mosart run in their own environments.
Viz Mosart templates can then control a broad scope of traditional and unique switcher features.On the Viz Engine side, the solution uses Viz Engine DVE based-superchannels for live, graphics and clip playback, instead of texture based sources.
Superchannels can automatically swap sources in an A/B mode with animated transitions, providing further flexibility and gains in overall performance.
Superchannels
Note: A superchannel is an abstraction on top of a Viz Engine media channel. Superchannels support various asset types like images, graphics, clips, streams, live content. Each superchannel has two sub-channels, so content in each channel can be played out over an A/B workflow. One sub-channel (A) is active, while the second (B) is inactive. New content can be prepared on the inactive sub-channel, a transition effect can then run the transition from the active to inactive sub-channel, switching their roles.
As standard, the Viz Engine processes the dirty feed.
Optionally, a second Viz Engine can be set up, for a clean feed.
The following topics are presented:
Note: For most recent documentation, created after this software was distributed, please visit the most recent version of this page here at the Vizrt Documentation Center.
Features of the Engine Switcher
Preview and Program: Crosspoint can be set in preview or program (For example: cameras, external sources, clips, full screen graphics).
Auto-trans: Instructs the switcher to perform the transition from preview to program. Viz Mosart switches to preview and sends the switcher a command to initiate the transition at a specified rate.
This is typically achieved through a mix with rate > 0, a wipe transition, or an effect transition (using effect scenes) specified on the Viz Mosart template, in the story item provided by the NRCS or from the Viz Mosart UI.
Note: An effect scene is a scene loaded into the Viz Engine's front layer on top of the current switcher scene. These scenes are typically used to animate on top of the actual switcher during a switch.
Key fill crosspoint set
The number of key buses correspond to the number of superchannels (DVE box placeholders) supported in Viz Engine.
The switcher scene available for download contains 8 superchannels by default. You can add more superchannels, to a maximum of 16.
Note:
While the theoretical amount of sources/superchannels can be up to 16, a high amount of sources loaded on air at the same time might lead to performance issues.
A key bus is represented with a superchannel. The number of superchannels is configured in VizEngineSwitcherConfig.xml.
Top Scene support
A top scene is a scene loaded on to the Viz Engine front layer, on top of the current switcher scene. This type of scene is typically used for opener or closer animations for a show.
Top scenes are called by adding a top scene attribute to the Viz Mosart templateLoad (cue) and play a top scene on the Viz Engine front layer.
Cue a scene on-air (using a Viz Mosart break template).
Take a top scene on air.
Preset support
The layouts for BOX effects (split screens, picture-in-picture, etc.) are stored within the scene in a Presets plugin. A preset contains the transformation, alpha and cropping attributes for each Viz Engine superchannel and its sub-channels.
Set a preset in preview by specifying the preset name and optionally providing content for the preset labels from a Viz Mosart template or from the NRCS.
Cue a preset on air.
Take a preset on air, either by hard cut or transition. This transition can be specified in either a Viz Mosart template or from the NRCS.
Trigger the preset style using a keyboard shortcut.
Go to the previous preset style using a keyboard shortcut.
Clip support
Cue a clip in preview.
Cue a clip on air (using a Viz Mosart break template).
Play a clip.
Scrubbing.
Pause (where camera and adlibs are back-to-back).
Up to 4 clips can be cued. Using a 2x ripple, this enables an A to B transition for the single box.
Requirements and Limitations
Requirements
Viz Engine 5.0+
Mosart version 5.1+
Limitations
Viz Mosart 5.1 introduced Viz Engine as a switcher. The feature set is being continually expanded in successive versions. Please note the current state of the product:
No M/Es (Mix/Effects) support other than PP (Program/Preset mixer section).
No support for macro recall.
No support for auxiliaries.
No enable/disable of downstream keyers.
No cueing of full screen graphics on air.
No transition logic scenes.
Overlay graphics are not a standard part of the Engine Switcher workflow. These elements must be loaded on a separate Viz Engine instance/hardware.
Whilst both the clean and dirty feed can be enabled, the clean feed requires an optional, additional dual-channel setup.
No main and backup support for Viz Engine from within Viz Mosart.
Only one clip can be visible (playing in PGM). This can be achieved by either using a key fill crosspoint to play the clip within a DVE box, or via a crosspoint that presents a full screen clip. In addition,
Box effects with more than one clip playing in the box are not possible.
These clips and GFX scenes are always bound to the main superchannel 1 (SC1).
A preview setup has to run on separate hardware.
This requires separate PGM and PRV Viz Engines. However, a simple clip preview is configurable.Viz Engine supports up to 16 superchannels. This is a theoretical maximum, operations may be limited by potential performance issues.
Installation
Sample Scenes
In addition to a standard Viz Mosart setup, Engine Switcher builds on Viz Engine scenes for template-driven operations in Viz Mosart.
To simplify the show design process, sample scenes are provided by Vizrt.
To obtain sample Engine Switcher scenes
Authenticate to Vizrt's FTP at https://download.vizrt.com/
Navigate to products/VizMosart/Engine Switcher Scenes
Download locally, then import the switcher scene to Viz Graphic Hub
Set the path to the Switcher Scene in VizEngineSwitcherConfig.xml
Note: For latest installer files and template samples, always refer to the latest version of this documentation at the Vizrt Documentation Center.
Configuration
For first-time configuration, all the setup steps below must be followed:
Manual Configuration of the Vizrt Media Sequencer Engine (MSE)
and then to perform
AV Setup with Cross Point Naming and Mapping
When Viz Mosart instructs a standard video switcher to put something in preview or on air, it is sufficient to configure AV Config file with a list of crosspoints that correspond to the video signal input configurations defined on the switcher.
In Engine Switcher mode, employing a Viz Engine as a video switcher, these standard rules no longer apply. There are no video signal inputs for the video server ports in a Viz Engine.
Instead, the crosspoints on the video server ports in AV Automation must be configured to point directly to the port names configured on the Viz Engine.
Defining Sources
Source ID from 1 - N.
CLIP X-points from 1-6 are mandatory and used for internal switching.
GFX X-points are mandatory for graphics.
Tip: The X-point name can either be
the source ID as defined on the Switcher side
ora Viz Mosart user-friendly name.
In this case, then source ID (as defined on the Switcher side) should be entered in the Mixer name column.
By configuring these crosspoints on the video server ports in AV Automation or referring to them in Viz Mosart templates, these definitions enable standard Viz Mosart clip execution.
Effects
Effects need a unique Emem Nr for calling a specific effect scene.
Scenes are always prefixed with the string effect_x in the designated Graphic Hub effect Scene folder.
x represents the Emen Nr defined in the configuration.Effect IDs must not be higher than 80, since numbers 80+ are reserved for transition effects within superchannels.
Presets
Tip: The concept Presets, is introduced below.
In Viz Mosart, you see the preset names in the A/V Setup (
AvConfig.xm
l) file.Preset names correspond directly to the presets defined in the switcher scene:
A Preset plugin, as it appears in a switcher scene:
Note: F1, F2 etc. are the default full screen options for each superchannel. F1 is mandatory.
Video Switcher Setup
Video switcher setup is performed in Viz Mosart.
In a Viz Engine Switcher setup, there are no MEs, just PP.
Navigate to AV Automation > Devices > Properties > Vision Mixer tab.
From the Protocol drop-down menu, select VIZRT ENGINE.
In addition to the default values, enter the following:
Host videoswitcher: Location of the Viz Engine.
Port videoswitcher: default
6100
.Tick the box to the left of Protocol. This indicates that you want to control the vision switcher (mixer).
Click Save & Close.
From the Mosart Installation folder > Mosart Server > Configuration Files copy VizEngineSwitcherConfig.xml file into your Mosart working folder (C:\channeltemplates or C:\ProgramData\Mosart Medialab\ConfigurationFiles) and configure:
ControlScenePat: The path to the Switcher scene located in the Viz Engine.
NumberOfKeyBuses: The number of superchannels defined in the Viz Engine.
Graphics
Select the Graphics tab.
In the field Host, add the Viz Engine entry for PGM.
Note: A second Viz Engine, running on separate hardware, can be added for optional PRV.
- Enable the checkbox Auto Preview option and link it to the PGM engine. See Setup Second Engine.
Add the designated superchannel port for each Viz Engine (default is 57777).
Tick the Auto Preview box for the PGM Viz Engine.
From the dropdown box under the Preview engine column, assign the identity of the PRV Viz Engine to it.
Follow the other guiding values as illustrated above, then click Save & Close.
These show up in AV Automation:
Video Server and Port Configurations
Select the Video Servers tab and add four server ports to create two clip server pairs:
A/B
C/D
These show up in AV Automation:
Viz Engine Configuration
The following setup is performed on the Viz Engine.
Standard Viz Engine configurations
You will need to provide basic Viz Engine configurations that include definitions of:
Graphic Hub connection
Output format
Licenses
Amount of inputs.
If these are not already in place, refer to the Viz Engine Administrator Guide.
Additional Viz Engine configurations for an Engine Switcher setup
Navigate to the configuration section Communication.
Select Super Channel Port and set it to an available Port (for example, 57777)
Clip channels: Activate the following clip channels:
Clip channels 1-4 and 10-11 are for full screen and box clip playback.
Clip channels 5-6 are optional for videowall integration playback (not included in default setup).
Clip channel 16 is for clips loaded in top scenes.
Switcher Scene Configuration
The Switcher scene comes with a separate configuration file.
Copy this file to C:\ProgramData\vizrt\VizEngine.
This file enables modification of switching behavior, delays and the adding of a separate Preview engine.
Manual Configuration of the Vizrt Media Sequencer Engine (MSE)
The MSE handlers that you use must be set to superchannel mode.
This is performed manually in the VDOM configuration file.
Navigate to http://localhost:8580/app/vdomconfig/vdomconfig.html, node /scheduler/<handler name>. For example, in the AV Automation screenshot above of the Graphics tab, the handler name is viz_background_c.
Add the following entries to both handlers:
<entry name=
"superchannel"
/>
<ignore_cue_operation>no</ignore_cue_operation>
<ignore_out_operation>yes</ignore_out_operation>
Example of the MSE VDOM File
<handler connected=
"yes"
mode=
"enabled"
status=
"good: Commands processed"
type=
"viz"
name=
"viz_background_c"
>
<entry name=
"encoding"
>UTF-
8
</entry>
<entry name=
"state"
>
<entry name=
"last"
>
<entry name=
"element"
>/external/pilotdb/elements/
406
</entry>
</entry>
</entry>
<entry name=
"renderer"
>
<entry name=
"10.211.1.145:57777"
>
<entry name=
"active"
/>
</entry>
</entry>
<superchannel/>
<entry name=
"publishing_point_uri"
/>
<entry name=
"publishing_point_atom_id"
/>
<entry name=
"info"
/>
<entry name=
"superchannel"
/>
<ignore_cue_operation>no</ignore_cue_operation>
<ignore_out_operation>yes</ignore_out_operation>
<command_timeout>
30
.</command_timeout>
</handler>
Template Design
A show with video switching performed by Engine Switcher, is controlled exactly like any standard video switcher-driven show, from a rundown with associated Viz Mosart templates.
Tip:
For an overview of template design with examples, please refer to the section Template Examples, section Switcher Plugin.
To download sample scenes, see To obtain sample Engine Switcher scene.
Introduction to Presets, Top scenes and Effects
Viz Engine Switcher operations depend on distinct criteria, controlled from a Viz Mosart template. All settings are made during template design, as described in the section Template Editor.
Three concepts for Engine Switcher operations are:
Presets
Info: The term preset originates from scene design in the Viz Engine. The composition of the scene is defined by x,y positions of a collection of 'windows' (two in the illustration below) in a Viz Engine superchannel. These definitions describe:
The number of windows
The position of the windows
The size of each window.
Each composition, saved on the Viz Engine, is called a preset.
Note: Superchannel 1 is considered the main superchannel for full screen program switches. The preset F1 is mandatory for this workflow and must not be altered.
Viz Mosart includes a sample Switcher scene with eight presets.
Use Viz Artist to edit any preset.
For more details, refer to the Viz Artist User Guide.
In Viz Mosart, you select the Preset name from the list of preset names that have been configured in A/V Setup (AvConfig.xml) file.
Transition style
The transition style (hard-cut or animation), and several label values can be specified.
For example, in a DVE template (where Switcher plugin for the device is available), you can select the layout and look of the DVE effect by specifying a preset style (Style), the preset transition and the DVE window labels (Label1 - Label8), as required:
You can also provide static values directly on the template. Additionally, newsroom tags can be configured to enable control from the NRCS.
Top Scenes
A typical use of top scenes is as an opener. For example, the top scene is played to introduce the Eight O’clock News show with many visual effects that fade to the following camera scene, when the news host takes over.
To Create a template to play a top scene
Select an appropriate template, for example Graphic or Jingle, corresponding to your Engine Switcher-controlled operation.
Enable Switcher plugin for the device.
From the Switcher plugin properties menu, specify a top scene name:
None (Top scene unchecked)
Check Top scene and select from the drop-down list of top scenes (configured in the A/V Setup).
Time-related configurations
There are two time-related aspects for top scenes (similar to handling clips):
The time it takes for the scene to load. This is controlled automatically by Viz Mosart when cueing the story item.
The time it takes for the scene to run. This is controlled with the template configurations Fixed Duration and Autotake next.
Top scenes are started from within a story item and if long enough, continue to play even when the item ends.
Top scenes ignore story items boundaries. The take out of a story item must match the animation length of the top scene.
Top scenes can be played on top of anything else.
To create a template that plays a Viz Engine Top scene
The sample script below (code block) performs this operation:
Initially the scene is fully opaque, covering the switcher completely.
On Take, an animation starts.
After a pre-defined time, the openers content disappears (animates or fades out).
The Engine Switcher workflow does not need to contain a script; it is purposefully designed for simplicity. A script can be added, to call the "clear_front_layer" routine of the switcher script which will force-remove the top scene from the front layer after the animation is finished.
Example Script
'------------------------------------------------------------------------------------------------------------------------
sub OnInitParameters()
RegisterPushButton(
"clear_front_layer"
,
"Opener Close"
,
1
)
end sub
'------------------------------------------------------------------------------------------------------------------------
sub OnExecAction(buttonId As Integer)
if
buttonid =
1
then clear_front_layer()
end Sub
'------------------------------------------------------------------------------------------------------------------------
sub clear_front_layer()
dim commandStr as string =
"RENDERER*MAIN_LAYER*SCRIPT INVOKE clear_front_layer"
println
5
,
"--------------- TOP SCENE OUT ----------------"
System.SendRemoteCommand(
"localhost"
,
6100
, commandStr,
0
)
end sub
'------------------------------------------------------------------------------------------------------------------------
In this case a clear_front_layer button is added to the animation in the Stage
Effect Scenes
Effect scenes, similar to Top scenes, are loaded to the front layer of the Engine Switcher for an upcoming switch between sources. These scenes are loaded automatically once a transition effect is triggered in Viz Mosart. Scene names must be added to AV configuration and are typically named "effect_<id>".
Example Effect
The scene is fully transparent at the beginning of its animation.
At Take, an animation starts to show content, animating to fully cover the scene underneath it (switcher).
After a predefined time, the animation reaches the autotransback script routine, which triggers the switch in the Switcher Scene.
The animation fades out, being fully transparent again.
Script
Two routines, one for triggering the take (auto_trans) and one for its removal when the animation ends:
sub OnInitParameters()
RegisterPushButton(
"autotransback"
,
"Auto trans back"
,
1
)
RegisterPushButton(
"clear_front_layer"
,
"Effect Close"
,
2
)
end sub
sub OnExecAction(buttonId As Integer)
if
buttonid =
1
then autotransback()
if
buttonid =
2
then clear_front_layer()
end sub
sub autotransback()
dim commandStr as string =
"RENDERER*MAIN_LAYER"
&
"*SCRIPT INVOKE auto_trans"
println
5
,
"--------------- TOP SCENE TRANS FROM FL SCENE ----------------"
System.SendRemoteCommand(
"localhost"
,
6100
, commandStr,
0
)
end sub
sub clear_front_layer()
dim commandStr as string =
"RENDERER*MAIN_LAYER*SCRIPT INVOKE clear_front_layer"
println
5
,
"--------------- TOP SCENE OUT ----------------"
System.SendRemoteCommand(
"localhost"
,
6100
, commandStr,
0
)
end sub
Note: Using effects scenes on a separate/external Viz Engine.
Edit the script to send the RemoteCommand for "autotransback" to the Engine Switcher. In this case the IP needs to be manually changed to the correct external one in the effect scene.
Keep in mind that using an external engine for triggering effect transition switches might lead to timing inaccuracies due to possible network delays.
Custom Content Transitions
This section describes the actions required in Viz Artist, when working with Engine Switcher-driven Viz Mosart templates.
Note: Content transitions are only used for full screen content transitions. Transitions in between Boxes / Splits are always hard cut.
Preset Plugin
The Preset plugin creates a default content transition for a crossfade. Additional transitions for changing content within superchannels are created manually using Viz Artist.
Default Preset plugin crossfades
A custom content transition is saved to a special director name, called by the Switcher from Viz Mosart.
This director can contain the required transition animation.Typically, a content transition director contains the keyframes related to the superchannels sub-channels A and B.
Content transitions are created in both directions. A separate director is used for a transition between A to B, and B to A.
To define a director
A director has the following naming format:
content_transition:<ID>:<direction>:<transition_name>
whereID: Superchannel ID
direction: AB or BA
transition_name: Name the transition that will be called in the UI (for example wipe).
Custom Effects
Custom effects scenes are manually added to the Engine Switcher's configuration file.
Note: Custom effects IDs start at 80.
To create an Effect
In Viz Mosart Mosart AV Automation:
In the Viz Engine Engine Switcher Configuration file, C:\ProgramData\vizrt\VizEngine\switcher_config.cfg
#custom content transition effects
<content_transitions>
80
:wipe,
81
:rotate,
82
:twist</content_transitions>
The effect is now available for selection in Viz Mosart:
Example - Effect 80 - Wipe:
A typical wipe is set up by animating the subchannel's X position from left to right, then having the other subchannel follow.
Values:
(1) Direction AB (content_transition:1:AB:wipe):
Assuming sub-channel 1/A is visible and should fade out to the right
Keyframes for Pos X are set to
Superchannel 1/A:
Start : 0.0
End : 100.0
Sub-channel 1/B starts on left to 1/A and animates onto the screen
Superchannel 1/B:
Start : -100.0
End : 0.0
(2) Direction BA (content_transition:1:BA:wipe):
The roles are now switched, this means 1/B starts on the screen, animates to the right and 1/A now appears from the left.
Keyframes for Pos X are set to
Superchannel 1/A:
Start : -100.0
End : 0.0
Sub-channel 1/B starts on left to 1/A and animates onto the screen
Superchannel 1/B:
Start : 0.0
End : 100.0
Labels
Label names (newsroom tags) and their content, defined in a Viz Mosart template and filled out in the NCRS, are stored in shared memory when the story item containing the box template is cued.
When a new DVE box is cued, the designer dynamically reacts to any label change. These changes can either come from a script included in the Switcher scene background or from another scene located on another networked Viz Engine.
Label Format
The format of the received string comprises label names and label values. Each label pair is separated with a "|" character, giving:
<label_name1>:<label_content1>|<label_name2>:<label_content2>|<label_name2>:<label_content3>|<label_name4>:<label_content4>...
Example: Labels populated from a DataPool plugin
The default map name is MIXER_LABELS. This can be changed within the Engine Switcher Configuration File.
In this example you use a Vizrt Datapool plugin to access the content of the shared memory and deliver its content to a specified text container.
An SHMTracker plugin reads the memory content.
The content is forwarded to any other Datapool plugin within the scene.
Here, ataText receives the memory content from SHMTracker and parses the values into a readable format
The content is pasted into the geometries Text plugin.
Create a container, name it labels.
Add the SHMTracker plugin to it.
Set a unique ID for Output Field Name, in this example mixer_labels.
To access the Switcher scenes used SHM, set Shared Memory Type to Distributed.
Assign Share Memory Key Name. Default is set to MIXER_LABELS.
Create a child container and name it label1.
Add the Data Text plugin.
Set Field Name to the same ID as used in the parent plugin. In this example, mixer_labels.
In Rebuild Now
Check Trim Options.
Check Remove Prefix Until and enter Sub String label1=
This crops the label from the incoming string.Check Choose an Entry.
Set Delimiter to |
This crops the string, revealing the first label entry.
Repeat these steps for all required labels, modifying the sub-strings accordingly to label2= etc.
Example of a container script
The default map name is MIXER_LABELS. This can be changed within the Engine Switcher Configuration File.
This simple script example shows how to read in the content of a shared memory map, parsing the content for label name and content and pasting it onto an existing text container.
The given example reacts on a mapping change that typically is triggered from cueing the next Box item.
'------------------------------------------------------------------------------------------------------------------------
sub OnInit()
VizCommunication.map.Registerchangedcallback(
"MIXER_LABELS"
)
end sub
sub OnSharedMemoryVariableChanged(map As SharedMemory, mapKey As String)
dim labels as String = VizCommunication.map[
"MIXER_LABELS"
]
'parsing and reacting routines
Parse_Labels(labels)
Set_Labels()
end sub
sub Parse_Labels(input as String)
Dim params as Array[String]
Dim content as Array[String]
input.Split(
"|"
,params)
For each param in params
param.Split(
":"
,content)
labels[content[
0
]] = content[
1
]
Next
end sub
'setting labels (container name equals label name)
sub Set_Labels()
dim label_keys as Array[String]
labels.GetKeys(label_keys)
for
each key in label_keys
This.FindSubContainer(key).Geometry.Text = labels[key]
next
end sub
'------------------------------------------------------------------------------------------------------------------------
Note: For more advanced use cases, please contact Vizrt Support.
Note: The actual toggle event of the next story item can be accessed by registering on the the <toggle_status> map, as defined in the Engine Switcher Configuration File.
This allows the designer to trigger animations related to an upcoming change of the layout.
NDI Clip Preview
If a simple preview of the upcoming clip layout/switch is needed and a separate Viz Engine cannot be used, you can instead add a small nested scene to the Switcher scene. This can stream the next cued clip via NDI (Network Device Interface, a protocol).
Note: The Media Preview feature used in Viz Opus is no longer supported.
To stream a preview with NDI
Engine Switcher is configurable to send clip cueing commands to a separate scene if needed.
Add the scene to a GFX channel within the Engine Switcher scene.
By default, GFX channel 14.Add this channel manually to any existing Switcher scene.
To activate the NDI output of GFX channel 14, activate NDI Aux Mode.
GFX channel 14 will now be received as a separate NDI stream on the network.
Previewing a scene
The preview scene setup is simple.Clip channel 14 and 15 are used to load the next cued full screen or box clip.
The layout of the scene itself does not matter and requires no further logic.The two clip channels are added as texture to the scene and can be placed as required.
Ensure that the required clip channels are added as texture within the scene.
Setting up Viz Mosart
In Viz Mosart, select the source in the Preview window.
As soon as a clip is cued as next item, the GFX channel scene loads the paused clip. This updates the NDI stream of the Mosart UI.
SUMMARY OF CONFIGURATION POINTS
Viz Engine Configuration
C:\ProgramData\vizrt\VizEngine\VizEngine-0.cfg
(Note: Here -0 refers to which GPU will be used).Tip: A copy of this config is included in this Administration Guide under Device Configuration Files > Engine Switcher Configuration File.
Switcher scene configuration
The separate config file "switcher_config_<versionNumber>.cfg" must be renamed to drop the versionNumber, so that it just reads "switcher_config.cfg".
For example, if the default name is switcher_config_0.cfg, this file must be renamed to switcher_config.cfg.C:\ProgramData\vizrt\VizEngine\switcher_config.cfg
Viz Media Sequence Configuration
localhost:8580/app/vdomconfig/vdomconfig.html
Viz Mosart
C:/channeltemplates/VizEngineSwitcherConfig.xml
C:/channeltemplates/ClipServerVizEngine.xml
Note: VizEngineSwitcherConfig.xml and ClipServerVizEngine.xml are originally located in the Viz Mosart installation folder C:\Program Files (x86)\Mosart Medialab\Mosart Server\ConfigurationFiles.
See Also
AV Automation Devices Vision Mixer