Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Communication Protocol Overview
  • Configuration Editor
  • Audio / Video Configuration
  • Machine Configuration
  • Web Configuration Editor and License Manager
  • GPI Configuration for Runtime or Director
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Configuration Editor
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting
  • Remoting Machine Signature

Misc

  • Presets
« Previous:
» Index «
Next: »

Channel Configuration

Table of Contents

  1. Usage Scenarios
  2. Managing Channels
  3. Working with Multiple Channels
    1. Channel-Based Windows
    2. Cueing / Taking
    3. Example
  4. Channel Rules
    1. Conditions
    2. Invert
    3. Actions
    4. Example

As stated in the beginning, a Channel is a stream of user content (templates, images, etc.). All user operations are performed on a channel which uses the Topology to talk to one or more Ventuz Runtimes which then perform the actual 3D rendering. But despite it having such a central role, it hasn't really been discussed in any of the previous chapters. Since just like in a majority of applications, it simply does what is expected to and therefore users won't have to care about it!

This chapter though will get more into detail what a channel really is; how its behavior can be adjusted and how multiple channels can be used to run even complex setups with a single instance of Director.

Usage Scenarios

There are various situations that are only made possible by using multiple channels, the most common one of which is layering content. Imagine a TV show playing the top 40 music videos. The main content, as you can guess, are the music clips, where each one of them would be an entry in a Playlist. However, there is usually additional content that is not dependent on any specific clip. For example, the program's logo might be spinning in the top right corner and advertisement for the program to follow might come in from the bottom in the show at a random time. Although it is theoretically possible to use sub-templates for this, the operator would be limited to adding/removing sub-templates whenever he switches to a new music clip.

Instead, with the Director, the operator can create three separate, dedicated channels: one for the music videos, one for logos and one for advertisements. This allows him to initiate/take each one individually or even automate the playlist of music videos while manually managing the advertisements and logos. All channels would be routed to the same machine, which layers the content on top of each other to produce the final output.

A completely different scenario would be managing an information system in a large building, for instance, an airport. There might be displays distributed throughout the waiting area, displaying the news or other entertainment programs, other displays near the cafeteria to show internal information for the staff and yet another set of displays in the parking lot to show arrival and departure of flights. While completely independent in their information, to have them all attached to the same Director instance, would have the benefit to allow the operator to show an important message (e.g. a fire emergency) on all displays simultaneously. Again, he would have to create a show containing one channel per independent content feed and have the power to either use them separately or together.

Managing Channels

When creating a new show, by default, a channel is allocated for each Channel Slot in the active topology. Since the default topology is a local setup with just one Channel Slot, this results in the familiar setup a show containing only one channel. Additional channels can be added/removed via the Channel Manager at Show / Channels... in the main menu. Each channel has a name that is used throughout the application, a channel slot in the Topology active topology it is assigned to and an optional set of rules. When  double-clicking on a channel or selecting one and pressing the edit button, its properties can be modified.

The most important information for a channel is the Channel Slot it is assigned to. Without a channel slot, the channel will not be able to communicate with the rendering backend and therefore to cue/take any content.

Although the channel manager shows the names of the channel slots in the active topology, the channel stores the ID of the channel slot. This way different topologies can be used for the same show and channels will reconnect automatically if the new topology contains a slot with the same ID. If a slot is not available, the channel will log an error message that it is disconnected and show a red status message in the Timeline window.

Each channel can also be assigned a custom color. All windows that operate on a specific channel will color their outer border based on the channel's color. This is an optional feature but very useful when working with multiple playlist or property editor windows.

Finally, channel rules can be used to modify a channel's cueing behavior. They will be discussed later in this chapter.

Working with Multiple Channels

When working with multiple channels, the major portion of Director will behave exactly the same as with a single channel. However, there are some important details:

Channel-Based Windows

Some windows (e.g. the Property Editor, Playlist Window) require a channel to work on. Which channel a window is bound to can be changed in the Window Manager at Window / Windows ... in the main menu bar.

In the example above, two property editors have been added to the window layout, one is working in the channel "Foreground" while another is working on the channel "Background".

Since window layouts are shared among all shows based on the same project, a window does not directly bind to a channel but the index of a channel (e.g. is bound to the second channel in a show). The window manager just displays the current channel names for easier association.

Cueing / Taking

Each channel-based window contains a button showing a human shape to enable/disable user-interaction on that channel. If an operator cues a template, presses F1 or the take button in the Show Control, that action is performed on all channels that are user-interaction enabled. If for example one channel is automated via a Playlist, one generally will want to disabled user-interaction so pressing F1 will not disturb its operation. In the screenshot below, all channels have activated their Timelines but the first channel has its user-interaction disabled.

Although the user-interaction mode can be used to have a channel completely ignore all take/cue operations done by the user, there often are situations where one wants to do a take on only a specific channel. For this reason, the playlist, property and timeline window each have configurable button toolbars that can customize via the configuration option button in the top right corner of a dockable window. These buttons work exactly the same as the ones in the Show Control but act only on that specific channel.

The quickest way to activate a channel is by pressing Ctrl plus the number of the channel (e.g. Ctrl+1, Ctrl+2, etc). This shortcut will automatically de-activate all other channels unless the shift key is pressed also.

Example

Let's go through a quick example of how to get a multi-channel setup running from start to finish: We assume a project has templates for a background and a foreground which are supposed to run on a cluster of machines. To support multiple in parallel on the same machine, the project requires an appropriate layout scene. However, this is usually done by the designer of the template in Ventuz Designer. Therefore the following assumes that the project is already correctly set up.

  1. Topology: Launch Ventuz Director and open the Topology Editor. Create a new topology, as type choose "Cluster" and increase ports to 2. Rename the existing channel slot to "Background" and add a second channel slot "Foreground". Connect the new slot's program output to the second port on both the cluster's and the local machine's Pipe 0. Connect the preview port to the local machine's second port in Pipe 1. Assign machines to the cluster and make sure they have proper cluster/machine IDs as well as configurations. This should resolve all errors. Save the topology.
  2. Show: Create a new show for the project. Usually. the Director will create a channel for each channel slot but depending on the project's default settings, a different configuration may have been created. Go to the Channel Manager, rename the channels to "Background" and "Foreground", then make sure they are assigned to their respective channel slots. Optionally you may want to assign colors to the channel to better keep them apart.
  3. Window layout: Go to the window manager and add windows depending on the user interface you need e.g. playlists, property editors, etc.

Channel Rules

Each channel can have a set of rules applied to it which modify its behavior. Whenever the operator cues something, either manually or from the playlist, a channel will apply its rules. Each rule consists of a condition to check if the rule should be applied and an action. Note that in addition to the build-in conditions/actions discussed below, custom plug-ins can be developed to add new conditions and actions.

Channel rules are not applied for content that already is on the Timeline. It is only applied to content that is being cued by the user. The reason for this is that the timeline is intended as a perfect record of what has happened and/or is supposed to happen.

Conditions

  • Always: The rule's action is always applied.
  • Template: The rule's action is applied on a specific Template.
  • Asset Type: The rule's action is applied if the user cued an asset of that type (e.g. an image).
  • Name: The rule's action is applied if the specified regular expression (as explained in the chapter Shot Box) is a match.
  • Category: Accepts a single string as input which can be used as a filter. (e.g. Background / Foreground )
  • Channel ID: The rule's action is applied if the specified Channel ID or a list of Channel ID's is a match.
  • Keyword: Same as name but at least one keyword has to match the expression.
  • Template: The selected template is part of the content that is being cued, either as main or as sub-template.

Name and Keyword match against the main item that is being cued. If the operator double-clicks on a template in the template browser, the name/keyword of the template is checked. If the operator double-clicks on an entry in a playlist, the name/keyword of the playlist entry is checked - which may or may not be the same information, depending on whether the operator did modify the playlist entry.

Invert

This is used to invert the condition. For example, if a rule says to match a specific template, inverting the condition would cause the rule to match all templates except for the specified one.

Actions

  • None: Does nothing, usually used to temporarily deactivate a rule.
  • Allow/Block: Whenever something is cued, it starts as being allowed to be cued. Each rule can modify that state by allowing or blocking the content. After all rules have been applied, a blocked content will not be cued. This is usually used to restrict templates to specific channels, such as foreground templates only on the foreground channel while putting background template on the background channel.
  • Migrate: The specified template is inserted into the content. If the template can be inserted into the content, that sub-part will be replaced. Otherwise, the whole content will be replaced by the specified content. This can for example be used to replace an SD version of a template with an HD version for a specific channel. In order to migrate the content, the Data Channels of the original and the replacing templates need to be similar. Only Data Channels with the same Name will be considered during the migration process. All other Data Channels of the replacing Template will be set to their Default values.
  • Replace: Same as migrate except that the argument is a page and the existing data is not copied over to the new template instance. This can for example be used to replace a sponsor template with a specific sponsor page each time the sponsor template is cued.

The replace action is completely independent of the template condition. In a template hierarchy, there is always only one place where a page could be inserted. So the replace action tries to find that place solely based on the replacement page. One can create a rule where it matches against certain templates and replaces them with a completely different page!

Example

Let's look at an example: A channel called "foreground" has been given two rules.

The first rule restricts the channel to only cue content that contains the "foreground" keyword. Why is that? The condition "keyword: foreground" would usually match only content that contains the keyword "foreground". However, it is inverted, so the rule matches all content that does not have that keyword. And for all such content, the state is set to blocked, preventing them from being cued.

The second rule matches whenever the content contains the template "01NS1L". if so, it replaces parts of the content by the page "NS_DanielConner".

« Previous:
» Index «
Next: »
Copyright 2022 Ventuz Technology