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
  • Configuration Editor
  • Device Configuration
  • Machine Configuration
  • Render Setup Editor
  • Introduction to Compositions, Screens and Outputs
  • Explanation of Compositions, Screens and Outputs
  • Live Runtime Control
  • Project and Show Management
  • Web Configuration Editor
  • Communication Protocol Overview
  • GPI Configuration for Runtime or Director
  • Introduction to the Ventuz Video Engine
  • Supported Formats
  • Supported Hardware
  • Color Management and HDR Workflow
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Configs & Content to Ventuz 8
  • Migrating Content to Ventuz 7
  • 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
  • PBR Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
  • Multi Screen and Output Setup
  • Explanation of Compositions, Screens and Outputs
  • Workflow of using Multi Screens
  • Multi GPU
  • Previs
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
  • Scene Control Window
  • 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
  • In-Scene Editing
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Color Management and HDR Workflow
  • 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
  • Scene Transitions
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Project Documentation
  • 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 Build a Custom Scene Transition
  • How to Use the Color Difference Keyer
  • How To Enable HDR Video Output
  • How To Work with the HDR Layer
  • 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 Stream Out
  • 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
  • How to use the Companion with Director
  • How to build Previs scenes with Designer
  • How to migrate from Ventuz 6 to Ventuz 7
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Previs 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
  • What's New in Director
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Transitions
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Scene Transitions
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Editor
  • Machine Configuration
  • Device Configuration
  • Project and Show Management
  • Live Runtime Control
  • Web Configuration Editor
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Multi Screen and Output Setup
  • How to migrate from Ventuz 6 to Ventuz 7
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • 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

Multi Output & Display Setups

Introduction
  • Introduction to Compositions, Screens and Outputs
  • Explanation of Compositions, Screens and Outputs
  • Machine Clustering
  • Support for multiple GPU's
Editors
  • Configuration Editor
  • Device Configuration
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Designer Stage Editor
Workflows
  • How to Build Content for Multiple Screens
  • How To Play Out On Multiple Outputs
  • How To Render on a Machine Cluster
  • How to build Previs scenes with Designer

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 Build a Custom Scene Transition
  • How to Use the Color Difference Keyer
  • How To Work with the HDR Layer
  • How To Enable HDR video output
  • 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
  • Multi Screen and Output Setup
  • How To Enable HDR video output
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

Available Nodes Overview
  • All Designer Nodes
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
  • Composition Layer
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Mixer Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Data Portals
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Render Setup Relation
  • Text Splitter
  • Timer
  • Toggle
  • Transition Info
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
PREVISUALIZATION
  • Introduction to Previs
  • Previs Screen
  • Previs Canvas
  • Compositon List
  • Rendersetup Objects
  • Composition Projector
  • Previs Screen Render Options
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
  • Cloner

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

Misc

  • Presets
« Previous:
» Index «
Next: »

How To Control and Customize Ventuz

Table of Contents

  1. Introduction
  2. Communicate between two or more Machines
    1. Ventuz <-> Ventuz
    2. Windows Machine -> Ventuz
    3. Windows Machine <- Ventuz
    4. Android, iOS etc. <-> Ventuz
    5. Any Machine -> Ventuz
    6. Ventuz -> Cloud-based Application, Service
    7. Any Machine -> Ventuz Control Machine
  3. Customize Ventuz
  4. Ventuz Extensions API
  5. Integrate Third Party Hardware
    1. Generic Protocols supported by the Hardware
    2. Generic Protocols are not supported by the Hardware
    3. Integrate Hardware in Ventuz Director
  6. Conclusion

This page gives you an overview of the different ways to control Ventuz - feeding in data, changing scenes, using the template based workflow, getting information about a Ventuz machine, configuring a Ventuz Runtime and so on - quickly you can find yourself in a situation where it is hard to decide which kind of Remoting you need to use or even where to get the information for this decision. The same is the case for customizing or extending Ventuz' functionality. This section is created to help you with this type of problem.

Introduction

To use Ventuz in a production environment it is often necessary to control it from outside rather than having it as a stand-alone solution. Ventuz' open architecture enables users to embed Ventuz in multi-media environments. Depending on the embedding system, Ventuz offers different kinds of communication that can help you to easily create solutions for your complex setups.

The next sections will provide you with a list of cases in which you need to control Ventuz.

Communicate between two or more Machines

Oftentimes a setup requires a kind of communication between two machines or more. Depending on what kind of communication you need and what kinds of systems need to communicate with Ventuz.

Ventuz <-> Ventuz

To communicate between several Ventuz instances you can use the Osc Nodes. Most commonly you will want to trigger methods on keyframe animations. Sometimes you want to send values from a User Control Interface to another Ventuz Machine. E.g. for a control touch table in front of a videowall. If you need to load/unload Scenes or want to use templates consider using designated Scene Ports or Template Ports in your Layout Scene.

If any of the involved Ventuz Instances runs on a Machine Cluster you can synchronize incoming events and values using the Cluster Nodes.

Windows Machine -> Ventuz

Since Ventuz runs on a Windows-based environment it might be useful to also run a Windows environment. If this is the case already or you can plan to do so, you have many different options to choose from.

Firing events and changing data in already loaded Scenes:

  • Deprecated OSC Remoting
  • OSC Nodes and Messages
  • CLI Remtoing

Loading Scenes and changing their state in simple setups:

  • Remoting2 might be an option, but oftentimes, Remoting4 is the better option

Loading Scenes, changing their state in complex setups, using a Template-based workflow:

  • Remoting4 .NET DLLs can be embedded in any .NET based application. With options to use .NET Core or .NET Standard versions of the library.
  • Remoting4 HTTP API can be used from web-based applications or other HTTP Clients, if the client is not .NET based.
  • HTTP Websocket Remoting4 can be used in similar environments like HTTP remoting, but is capable of asynchronous requests, like log events.
  • Remoting4 OSC Implementation is the underlying Protocol definition and can be implemented on any system, even if .NET environments and HTTP messages are no option.

Windows Machine <- Ventuz

To communicate back from a Ventuz Runtime machine to the Windows Machine you again have some other options:

  • Remoting4 can set Scene Data and fire Scene Events from the Scene Logic
  • OSC Nodes can also be used to send messages to any other machine from Ventuz that can read these messages
  • You can also create any kind of API on your other machine, like an HTTP API and then use one of Ventuz output nodes, like the Simple HTTP Node or TCP Node.

Android, iOS etc. <-> Ventuz

You can also control Ventuz from mobile phones using OSC Nodes or the Deprecated OSC Remoting. If you need scene loading, again you can consider using the Remoting4 HTTP API for this - maybe even with a responsive UI that can also be accessed from laptops or other machines.

Any Machine -> Ventuz

If you have any other machine that needs to control Ventuz you need to consider which protocols are fairly easy to implement on its environment. Likewise consider what exactly you want to achieve and decide for the API that you feel most comfortable with for this use-case. Oftentimes you can use the Remoting4 HTTP API, CLI Remtoing or you might need to implement the underlying Remoting4 OSC API.

Ventuz -> Cloud-based Application, Service

To communicate with a server anywhere - not only in cloud-based environments - you can create an HTTP API and access it e.g. with the Simple HTTP Node. If you use a third party HTTP API you might also have a .NET library from it and can use the Script Node to implement it.

Any Machine -> Ventuz Control Machine

To communicate with a Ventuz Director machine you will need to implement the HTTP Director Remoting API.

Customize Ventuz

Sometimes in order to integrate Ventuz in your environment you will need to add new functionality to it that is not included natively. Depending on the type of new feature you have different options for this:

  • Plugins can help create custom Director UI (with a Window Provider plugin) or extend its functionality (with Channel Rule, Shotbox Entry and Macro Provider plugins).
  • with the Script Node you can write custom logic for your Ventuz scene and access 3rd party libraries to integrate custom APIs
  • with the HLSL Shader Node you can create custom materials or effects

Ventuz Extensions API

Use the [VentuzExtensionsAPI Ventuz Extensions] to write your own nodes.

Integrate Third Party Hardware

You also have some options to integrate third party hardware - how to do that is a rather straight forward decision, compared to what Remoting API to use. Most of the times the manufacturers offer some kind of streamlined way to do that, e.g. a programming library.

Generic Protocols supported by the Hardware

If the hardware supports generic protocols, that also Ventuz can handle this might be an easy way. Examples for this are DMX, OSC or TUIO. Have a look at the IO Nodes to get an overview of other supported protocols.

Generic Protocols are not supported by the Hardware

If the hardware does not support such generic protocols, that are also handled in Ventuz you will need to integrate a code library with the Script Node. Best case is when you have a managed .NET DLL, but you can also wrap an unmanaged C++ or C DLL as well.

Integrate Hardware in Ventuz Director

Currently we support GPIO Devices in Director natively. For other hardware you will either need to use a Director Plugin or a middleware that controls the Director via its Remoting API.

Conclusion

This page can give you an overview of the available options when it comes to remoting or customizing Ventuz. While this is helpful in deciding which protocols or APIs to use you will need to learn more about them on the respective pages, linked in the lists. Also it might be a good idea to have a look at the Programming Quick Guide to get an overall overview of how to extend Ventuz generally.

See also:
  • Cluster
  • Render Setup Editor
  • Introduction Multi Screen and Outputs
  • [VentuzExtensionsAPI Ventuz Extensions]

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