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: »

How To Troubleshoot Your Presentations

Table of Contents

  1. Introduction
  2. General Introduction
  3. Audio troubleshooting
  4. Video Options
  5. SDI Troubleshooting
  6. Touch Troubleshooting
  7. Input Diagnostics
  8. Remote options
    1. TCP

This How To will teach you the different ways of using the Live Options to debug your scene while it is running .

Introduction

You will learn what you can do if you encounter problems while running the presentation. Like general performance issues or Audio problems.

This is what we are going to cover in this how to:

  • General introduction
  • Audio troubleshooting
  • Video options
  • SDI troubleshooting
  • Switching render setups live

General Introduction

While running a show in the Runtime there are different ways to access the Live Options. The more straight forward one is via the Configuration Editor. This button will be grayed out if no show is running. When pressing it you will be greeted with many options that can be turned on and off.

For a detailed description of the live options have a look here.

The second way to open the live options is the web interface of the Configuration Editor. It is available with versions 6.6 and later. To access this version of the editor simply open a web browser on any device and open http://[Machine's Local Ip Adress]:20404. (If you have changed the default VMS Ports this may vary). There you will find a live options tab, which holds the same functionality as the desktop version. This should give you a solid overview of the possibilities of the live options. The third way to access the Live Options is via Remoting and will be covered later in this page.

In the next section we will take a look at some use cases.

Audio troubleshooting

If you scroll down a little bit in the Live Options you will find options for controlling each of your configured audio devices.

Generally speaking, all audio devices needed for a presentation are setup in the Audio and Video Configuration before its start. Switching to non-configured devices is not possible during a show and so only configured Audio Devices are displayed. But there are some properties that can be changed on the fly, like the audio gain. Which controls the volume.

In the Performance Statistics section of the Live Options further up the list, you can find the Show Statistics and AVInput/Output Statistics flags. By activating both you get a overview of the connected devices and its status on the output of your running presentation.

Here you might find indicator on what might be wrong with your Audio - like devices that are not running or a that they are connected to the wrong ordinal. What these different states of the audio mean can be found here.

Video Options

While most options of your stream must be set before starting the Ventuz Runtime, there are some options that can be changed on the fly to make their tweaking a lot easier.

The Effect Bleed option in the Live Options makes it easier to adjust Post Processing Effects like the Blur in a Machine Cluster for video walls. Effect Bleed adds an extra margin around the rendered content. The value is the amount of pixels added to all four sides. It will not extend the visible/physical output, but will allow layer effects to create better results close to the machine borders in a Cluster Setup.

Virtual Fullscreen is needed if you are using any kind of Virtual Desktop to connect to the device running the show. Virtual desktops will not display the Runtime window correctly because it cannot show DirectX screens.

The Show Mouse Pointer and Input Diagnostics options are important when you are debugging touch inputs. There you might see that the actual input location is not the same as your mouse or touch input. This is also useful when calibrating e.g. touch lasers.

It is also possible to change the Render Setup on the fly to better test your presentation. The drop-down menu can be found on the top of the Live Options.

For a more detailed description of the other options take a look here.

SDI Troubleshooting

While working with SDI signals there are some things that can be adjusted while the Runtime is running. After activating the live options with the AV in and output, you will find this in the statistics:

If you are using a ​Genlock signal, you can determine whether your output is synchronized to it or not. In the Live Options are some more things that you can troubleshoot.

Here you can offset the genlock either horizontally or vertically to match your signal. The timeout for the ​Hardware Watchdog can also be changed here. Please note this value is given in millisecond and for some boards there might be no hardware watchdog and only a software option.

Further down you will find similar options to the standard GPU options. Like Multisampling, Effect bleed, border color and disabled content. For a more detailed description of these options take a look right here. The Clamp Options can only be found on Video signals using YUV that can be clamped to a certain range. Values are always specified in the 0 to 1023 range of 10 bit. if the stream uses an 8 bit YUV buffer, values are internally converted to 8 bit. If the stream uses an RGB buffer, this option is not available.

Touch Troubleshooting

When having trouble with touch inputs the first good thing to check is the input diagnostics. This way you can check if the input is coming through correctly.

Input Diagnostics

A button has been added to the renderer window toolbar that presents an overlay with helpful statistics such as average number of updates per frame, input sub-system mode and so on. While at least one touch is inside the render window, markers are drawn to visualize the raw touch input:

  • Green markers show position updates that were used.
  • Gray markers show updates that where dropped since there where more than one update in a single frame
  • Red markers show a frame where there has been no updates from the device although the touch was moving above a certain internal threshold.
  • Yellow circles show the processed position used by Ventuz when smoothing or interpolation is activated.

Input Diagnostic is currently not supported for 3D/VR controller!

User Manual: Change screenshot to show the yellow circles as well.

Remote options

As mentioned in the beginning there is a third option to change properties in the Live Options. Via Remoting4 and a few lines of code you can e.g. change render setups from within your remoting program or your Ventuz Scene. This needs to be prepared beforehand inside the Designer with the C# Script Node. You can copy the following lines of code directly into the Editor. Read the comments or take a look at this page.

C# Code

using System;
using Ventuz.Kernel;
using Ventuz.Remoting4;

public class Script : ScriptBase, System.IDisposable
{
    // this object is used to communicate to the local machine (or any remote machine) via Remoting 4
	Cluster cluster;
	
	// this boolean is set when the "SetRenderSetup" method was fired 
	// but it could not execute since the cluster object does not have a connection yet
	bool tryToSetLiveOption;
	
	// this boolean is set as soon as the cluster object has a connection
	bool clusterConnectionOk;
    
	// in the constructor we create the cluster object and add the local machine to it. 
	// you can change the IP Address to set the render setup on any other machine in your network
    public Script()
	{
		cluster = new Cluster { Name = "Local" };
		cluster.AddMachine(new System.Net.IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1"), Cluster.DEFAULT_PORT));
		cluster.Start();
		
		// the ClusterStateChanged event handler must be bound to the ClusterStateChanged event of the cluster object
		// this is used to track the current state of the connection
		cluster.ClusterStateChanged += ClusterStateChanged;
	}
    
	// when shut down the cluster's connection terminated
	public virtual void Dispose()
	{
		cluster.Shutdown();
	}
	
	// in this method first we check if the cluster is connected
	// if it is we set the render setup
	// if not we set the "tryToSetLiveOption" boolean so that once connected we can change the render setup
	private void TrySetRenderSetup()
	{
		if(clusterConnectionOk)
		{
			SetRenderSetup();
			tryToSetLiveOption = false;
		}
		else
		{
			tryToSetLiveOption = true;
			VLog.Info("Cluster not started.");
		}
	}
	
	// this event handler checks if the cluster is connected and running and sets the "clusterConnectionOk" boolean accordingly
	// if the "TrySetRenderSetup" method was called before without success we can now safely set the render setup
	private void ClusterStateChanged(object sender, EventArgs e)
	{
		if(this.cluster.ClusterState == ClusterState.Ok || (this.cluster.ClusterState & ClusterState.WarningMask) != 0 && this.cluster.ClusterState != ClusterState.WarningNoProject)
		{
			clusterConnectionOk = true;
			if (tryToSetLiveOption)
			{
				SetRenderSetup();
			}
		}
	}
	
	// this is the important part of this script - here we use the cluster to set the Render Setup option
	// you can use this method to set any other live option as well
	private void SetRenderSetup()
	{
		cluster.Option(".VZ.RenderSetup", RenderSetupName, null);
		VLog.Info("Set Render Setup.");
	}

	// This Method is called if the method SetRenderSetup is invoked by the user or a bound event
	public bool OnSetRenderSetup(int arg)
	{
		TrySetRenderSetup();
	
		return false;
	}


}

In order to use this script you need to setup a small logic to be able to switch the setups directly in the Runtime - following is a short example of that.

  • 1: The Text Provider Node's Bounding Box Property is set to static and the Rectangle's Size X and Size Y value is connected to the Text Provider's Width and Height. This
  • 2: The second text node is connected to the IME textfield input, and the C# script node is also connected to the IME node with the "RenderSetupName" property. Also the "SetRenderSetup" property is connected to the single tap event of the touch button.

With this setup you can simply type in the name of your render setup that you want to switch to and click on the button. Now you only have to export it as a Ventuz presentation(.vpr) and start it.

TCP

With the help of a ​Telnet Client like ​PuTTY you are able to remotely control some functions of Ventuz. In our case we are going to discover which Live Options are remotely controllable. Visit the Wikipedia page, if you need to find a download link for PuTTY. Alternatively, you can also use the Windows Telnet Client. If you are connecting from the same pc, you can simply type in localhost for the IP address. Connecting from another pc in the same network needs the local IP address. Ventuz is using the port 20405.

Here is the PuTTY client window. Make sure you selected Telnet as connection type.

After starting you should see a message that tells you that the VMS service is ready. Assuming the Runtime is running.

Here you can find a list of all available commands. But for now we are concentrating on the OPT command which holds the live options. If you just type in OPT you will see a list of all available command groups and there name. The group we are looking for is called REN which lists all rendering commands. There you will find another group inside which is called Stats.

So in order to show the Performance Statistics, type in OPT .REN.Stats true.

Important: always type the superior group name first and after that which part of the underlying group you want. This argument after the group name needs to start with a . and between two groups or properties this is also the seperator. Setting the .REN.Stats to true will show them on screen. To turn them off again, set them to false instead. Here is another example on how to show the Audio/Video Inputs and Outputs - this requires us to get another step deeper into the option's hierarchy.

Since we are still in the REN group, and we want to get into the STATS group where we still need to get one level deeper, which is done by adding the .StatsAVInOut. So the command would be: OPT .REN.STATS.StatsAVInOut true.

See also:
  • Live options
  • Performance statistics
  • Web Config editor
  • How to Cluster rendering
  • OSC
  • Ventuz Machine Service
  • Remoting
  • Remoting4
  • Multi Touch

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