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

Table of Contents

  1. Session Service
    1. Start Project
    2. Start Publish Context
  2. HTTP Remoting Service
    1. Requests
    2. Arguments
    3. Responses
    4. Errors
    5. Extra Commands
      1. Switch Project
      2. Play Template
    6. Examples

Remoting over HTTP

Version 6 comes with a VMS module that makes the Remoting4 OSC protocol transparent to HTTP / HTTPS

Session Service

Ventuz Runtime and Ventuz Designer hook this service into the VMS as a dynamic module. So in combination with the Session Service you can easily achieve a launch and a shutdown of the Runtime and/or access the Designer. See projects and publish contexts here: ​http://localhost:20404/vms_session_service/1.0

Start Project

To launch Ventuz Runtime with a project (here 0c31bb73-f9e1-430f-909f-e3a985adf41a) request this URL:

​http://localhost:20404/vms_session_service/1.0/projects/0c31bb73-f9e1-430f-909f-e3a985adf41a/action/start

Additional command line arguments can be passes as query fields.

​http://localhost:20404/vms_session_service/1.0/projects/ lists all available projects

Start Publish Context

To launch Ventuz Runtime with a Ventuz Publish Context (here 62a7b420-99ca-4704-8848-1e804ca4cff0) use this URL:

​http://localhost:20404/vms_session_service/1.0/publishcontexts/62a7b420-99ca-4704-8848-1e804ca4cff0/action/launch?-warmup

Additional command line arguments can be passes as query fields. The argument -warmup will load all scenes specified in this context and cues all templates for two frames.

​http://localhost:20404/vms_session_service/1.0/publishcontexts lists all available publish contexts

HTTP Remoting Service

Please have this notes in mind:

  • Every HTTP/S request is a blocking call
  • Every HTTP/S request will establish a new TCP connection (as of today), so using HTTPS might be slow!
  • Responses are usually formatted as JSON parse-able text
  • Async responses like log message or status changes can not be received

Requests

A request URL always start with the service address:

​http://localhost:20404/remoting/1.0/Remoting4

This URL is directly extended by the OSC command address described in the Remoting4 documentation. The command /Ventuz/Info is issued by requesting this URL:

Request: GET ​http://localhost:20404/remoting/1.0/Remoting4/Ventuz/Info

Response: (example)

{
  Ventuz: {
    Version: "6.0.0.128",
    Edition: "Ventuz 6.0 V6.0.0 128 R21772",
    Mode: "Designer"
  },
  Machine: {
    Name: "DESKTOP-NSJ5IPI",
    ID: 0,
    GroupID: 0,
    ProcessID: 18508,
    ProcessGUID: "2838e71e-6c22-4c5b-b7d6-cee37a4db194",
    SystemID: "VZ_M80-55022900324_BFEBFBFF000306F2_00330-80109-59023-AA022",
    Rate: [ 59954, 1000 ],
    Pipes: [ "Graphics" ]
  },
  Project: {
    Title: "Hockey",
    ID: "15e6698c-7726-4be1-9ede-3ee1c58d9006"
  },
  PublishContext: null
}

Arguments

The HTTP protocol accepts two different methods:

  • GET arguments / parameters have to be encoded into the query fields of the request URL
  • POST arguments / parameters are passed as multi-part-form-data

In both methods the arguments have to be formatted in the order as described in the Remoting4 documentation as JSON parse-able text. The argument RequestID have to be omitted.

Example:

Request: ​http://localhost:20404/remoting/1.0/Remoting4/0000/Load?3dmask&1

  • SceneIdentity = 3dmask
  • LoadFlags = 1

Response:

{
  IID: "FTKT",
  IsNew: true
}

Responses

Simple responses are transferred as JSON values or arrays. Complex responses are returned as JSON objects (dictionaries)

The /0000/Snapshot command is an exception: it delivers a binary response containing the image on success.

​http://localhost:20404/remoting/1.0/Remoting4/0000/Snapshot?1&0&0&0&0&0&0&0&true

Errors

Request: ​http://localhost:20404/remoting/1.0/Remoting4/0000/ThisIsNoCommand

Response:

{
  ErrorCode: 501,
  Error: 501,
  Message: "Unknown or invalid address /0000/ThisIsNoCommand",
  Details: "Method 'Ventuz.Kernel.CModel.Remoting4Server+Session.Request_IID_ThisIsNoCommand' not found."
}

Request: ​http://localhost:20404/remoting/1.0/Remoting4/0000/Load?unknownscene

Response:

{
 ErrorCode: 404,
 Error: 404,
 Message: "Load failed",
 Details: "Remoting2: unknownscene: Could not find file 'D:\PROJECTS_TIMELINE\NAB_Eishockey\Scenes\unknownscene.vzs'.: 
Invalid Scene"
}

Returned error codes are also described in the Remoting4 documentation.

Extra Commands

The Remoting via HTTP protocol has extra command:

Switch Project

/Ventuz/SwitchProject with one argument:

  • filename_or_guid where guid is a project or a publish context id

Switches the current project or publish context. Unloads all scenes, resets renderer and load another project

Play Template

Version 6.00.xx

/0000/00/Play with two arguments:

  • options (int), same options as the Cue command
  • data (string), template data or URL or empty string

Cues and Takes a template. This is actually a combination of the Cue and Take command with sync execution. This makes it very easy to bring template based graphics on-air without maintaining complex communication. Using an empty string for data issues a cue-out on the specified port (here port 00 of pipe 0000). Options are the same values for the Cue command. See TransitionOptions in the Remoting4 documentation.

Examples

Get Ventuz Info: ​​http://localhost:20404/remoting/1.0/Remoting4/Ventuz/Info

Set Project Data Background to Red: ​​http://localhost:20404/remoting/1.0/Remoting4/Ventuz//Background?Red

Get Ports of Layout Scene in Pipe 0000: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/Ports

Get Status of Port 00 of Layout Scene in Pipe 0000: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Status

Let 0000 load a scene cube.vzs: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/Load?cube

Validate scene IID SFBD: ​​http://localhost:20404/remoting/1.0/Remoting4/SFBD/Validate

Activate scene SFBD in Port 00 of Layout Scene in Pipe 0000: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Status?SFBD

Deactivate scene in Port 00 of Layout Scene in Pipe 0000: ​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Status?null

Release scene SFBD from memory (this requires an deactivation from Port before!): ​http://localhost:20404/remoting/1.0/Remoting4/SFBD/Release

Get SceneModel of scene IID PGOB: ​http://localhost:20404/remoting/1.0/Remoting4/PGOB/SceneModel

Get Scene Data .PositionX from current scene: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00//.PositionX

Set Scene Data .PositionX from current scene to 1.25: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00//.PositionX?1.25

Cue Template Data UI: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Cue (via HTML form)

Cue Template Data URL encoded: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Cue?0&ventuz://templates/templates%7Cremoting4%20demo%203%20simple/Animation1/F_and_V_Info&43F275B7-C366-40EF-8E08-A3E73395FFCC

Clear Template URL encoded: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Cue?0&null&43F275B7-C366-40EF-8E08-A3E73395FFCC

Take cued data: ​​http://localhost:19404/remoting/1.0/Remoting4/0000/00/Take?43F275B7-C366-40EF-8E08-A3E73395FFCC

The URL format of the Cue commands is: ​​http://localhost:20404/remoting/1.0/Remoting4/0000/00/Cue?´TransitionOptions´&´TemplateAddress(URL-Encoded)´&´TakeId-Guid´

See also:
  • Remoting
  • Remoting 4 Protocol
  • Deprecated Remoting APIs

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