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

Render To Disk

Table of Contents

  1. GUI-based Render To Disk
    1. Overview
    2. Creating an Image Sequence
  2. Remote Render To Disk

Ventuz supports two ways to create image sequences from any Ventuz scene. The first is a GUI-based Render-To-Disk functionality available in Ventuz Designer. Additionally, it is possible to create image sequences via a dedicated Remoting API.

Restrictions

If a custom Render Setup is used, Ventuz always renders in the resolution of the current Render Setup in the active mode (Machine or Cluster Preview or Production Preview). The result is scaled down to the actual output resolution. This may result in scaling artifacts!

Since rendering to disk is usually faster than real-time, any live video source appears with a corrupted timing

In internal software key mode the Live Video background is not part of the Render To Disk result.

For both cases, the Render-To-Disk process is divided into two main steps:

  1. Recording of user interaction or remote commands (only in interactive mode)
  2. Playout or rendering of the loaded scene with the previously recorded data

In this second step, the actual creation of the image sequence takes place.

GUI-based Render To Disk

Overview

To start the GUI-based Render-To-Disk functionality, select Render To Disk in the Renderer menu of your Ventuz Designer. This will bring up a dialog which initially looks as follows for the Control tab in the Interactive mode:

The Control tab provides some scene initialization options and the main controls for the recording and playout steps. The Scene Events option specifies if the active scene should receive a Scene Activate event when the playout starts. If this option is either set to On Prepare or On Start, the scene will act as if it just has been loaded. The option On Prepare is only available in Interactive capture mode. In this case, the event gets fired before the initialization phase of the recorded interaction. Nodes like Scene Event, Movie Clip as well as state based Keyframe Animations react on Scene activation.

The Capture Mode specifies if interaction with the scene via mouse, keyboard, touch devices or TUIO devices should be captured during the recording step (Interactive mode). In Time-Based mode, only a capture duration can be specified and scene interaction is only possible via the Scene Activate event.

In Interactive mode, the Render To Disk section provides controls to start and stop the recording steps. If user interaction has been recorded, it can be played back by triggering the Play Interaction button. The actual playout to disk is started by pressing the Render to disk button. Note that both buttons are disabled if no recorded data is available. The interaction recording is divided into two phases: in the first phase (preparation) the user can record, reset and initialize inputs; in the second phase, the inputs for the actual playout are recorded. In the time-based mode, only a capture duration can be specified which defines the number of frames to capture.

The Output tab provides options to specify the image or clip format of captured frames, the frame resolution, the capture frequency, the file naming and the destination folder. Four Image File Formats are currently available, all of them supporting an alpha channel: BMP, PNG, TGA, TIF. Following movie formats are available: the QT Animation format writes a Quicktime Animation (loss-less RLE compression) in a MOV container; the HuffYuv writes a movie with the according codec to an AVI container; the XDCAM format creates movies in XDCAM 442 format to MXF container. Note that the XDCAM format only supports the standard 720p, 1080p and 1080i broadcast formats; DNxHD / DNxHR format creates movies in DNxHD - 440x/440/290/90 for 1080p, DNxHD - 220x/220/145 for 1080i/720p, DNxHR supports 444/HQX/HQ/SQ/LB formats with optional VBR (variable bitrate).

Movie File Formats

Codec Container Audio
QT Animation mov 48kHz 16bit PCM stereo; separate wav file
HuffYuv avi 48kHz 16bit PCM stereo; embedded
XDCAM HD 422 mxf 48kHz 24bit PCM stereo; embedded
DNxHD mov 48kHz 16bit PCM stereo; embedded
DNxHR mov 48kHz 16bit PCM stereo; embedded
Hap / Hap Alpha mov 48kHz 16bit PCM stereo; embedded
HapQ mov 48kHz 16bit PCM stereo; embedded

DNxHR Specifications

Preset Quality / Resulting Bit
DNxHR 444 Finishing Quality - 12-bit 4:4:4
DNxHR HQX High Quality - 12-bit 4:2:2 UHD/4K Broadcast-Quality
DNxHR HQ High Quality - 8-bit 4:2:2
DNxHR SQ Standard Quality - 8-bit 4:2:2
DNxHR LB Low Bandwidth - 8-bit 4:2:2

DNxHD/DNxHR are written into a MOV container.

For Render-To-Disk in XDCAM and DNxHD/DNxHR formats an additional encoding License Option is required! Please contact Ventuz Sales for license questions. Without license the created movie is branded with a Ventuz logo.

The Interlaced Mode option specifies if the captured frames are saved in a progressive mode (Off) or two consecutive frames are saved in an interlaced format (On).

The Alpha Output option specifies if the alpha channel of a captured frame should be preserved or dismissed and how the alpha is calculated.

Option Description
No alpha Don’t include alpha channel in output
Straight Output “normal”, unpremultiplied alpha
Premultiplied with lifted Alpha Output premultiplied alpha, adjust alpha if there’s additive content (works everywhere but desaturates additive highlights)
Premultiplied with additive Headroom Output premultiplied alpha, keep additive content (preserves image but might not work with some other products)

The Audio Format specifies if audio should be written; either as separate file or embedded. This depends on the video codes: image sequences can only have a separate audio file. This file is always two channel, 48000Hz PCM, 16 or 24 bit (XDCam can only have embedded 24 bit audio) that contains the audio passed to the first stereo pair of the Ventuz audio output device. See also Audio Devices

If speed is an important factor, PNG is not a good choice. It is the slowest format to encode, although generating the smallest files...

The FPS value defines the frame rate of the image sequence. A value of e.g. 30 will generate 30 images for every second of rendering. If 1001 Timing is enabled, the resulting frame rate is calculated by FPS * 1000 / 1001. This provides the possibility to capture with frame-rates like 59.94 and 29.97. There is an important difference regarding timing between the Interactive and Time-based mode: In Interactive mode, the rendering timing during the input recording and playout phase is based on the FPS settings in the active Ventuz Project. This is necessary because the input is recorded during normal rendering with the Project frame-rate. To provide a correct animation timing of dynamic elements like Damper or the Interaction nodes, the rendering during a playout is done with the same frame-rate. This means that in the Interactive mode capturing with e.g. 30 FPS will capture every second frame if the rendering/timing FPS is 60. In Time-Based mode timing and capture FPS are equal according to the value set in the FPS box. This makes it possible to create image sequences with e.g. 120 FPS.

In Interactive mode, the FPS value cannot be changed. It is taken from the frame-rate configured in the Ventuz Machine Configuration. Thus it is not possible to capture interaction in a scene running at 60 FPS and create a playout with 50 FPS!

The two Size values specify the render and capture frame resolution. The default value is set according to the Direct3D Project Properties. On graphics cards with sufficient memory, this value can be set up to 16384 x 16384! Note that extreme resolutions will make the playout very slow and in need of a huge disk space!

The Base Filename defines the naming for the image files written to disk. A five-digit number is automatically appended to the base name so that the resulting image names look as follows:

<baseFilename>_xxxxx.<imageFormat>

The Output Path specifies the destination folder for the image sequence. Click on the Open in Windows Explorer link and a new Windows Explorer window with the specified path will be opened if the path is valid.

A Render-To-Disk profile with all settings and recorded user interaction can be saved and loaded for re-uses. Such a profile is not scene-dependent and can be used with any other scene.

Creating an Image Sequence

To create an image sequence from a Ventuz scene in Interactive mode, the scene must be loaded in the Ventuz Designer.

  1. Configure the Render-To-Disk dialog as required and press the Start Capture button.
  2. The button changes to Start Recording and a reminder to prepare the scene so that recording can be started is shown. This preparation phase is also recorded but will not be captured during playout.
  3. After triggering Start Recording, the recording start time will be saved as well as all user interaction with the scene. During recording, a red R will be flashing in the upper right corner of the Renderer output. If all user interaction has been fed in or the required recording duration has been reached, press the Stop Recording button.
  4. If recording succeeded, the Render to disk and Play Interaction buttons will be enabled. Play Interaction will start a playback of the recorded interaction data. Make sure that the scene is in the same state as when the recording started - otherwise the interaction playback might not match the scene states.
  5. The concluding playout of the image sequence is triggered by pressing Render to disk. Again make sure that the scene is initialized to the same state as when the recording started if this is not already handled by the recorded preparation phase.

Note that in Interactive mode only the interaction with the Renderer is recorded and not the interaction with the Designer GUI (e.g. Property Editor)!

Remote Render To Disk

For Remote-Render-To-Disk either a valid Ventuz Designer or a Ventuz Runtime + Remote R2D option license is required!

If it is necessary to create an image sequence of a remote controlled Ventuz scene, the Remote Render To Disk API comes into play. In combination with the Ventuz Remoting2 API, a fully automated and frame accurate image sequence playout system can be built. For further information on Remoting2, refer to the Remoting section and the separate Ventuz Remoting API help file in your Ventuz installation folder. The full documentation of the RemoteRenderToDisk class, which is used to remote control the render-to-disk process, can be found there as well.

A schematic Render-To-Disk Control Application would have to do the following steps to create an image sequence from a Ventuz scene:

  • connect via Remoting2 to Ventuz
  • load the appropriate scene
  • connect to the render-to-disk service via RemoteRenderToDisk.Connect()
  • start the render-to-disk mode in Ventuz via StartRenderToDiskMode()
  • bring the scene to the necessary state by setting properties and invoking methods via Remoting
  • start recording of remote commands by calling StartCommandRecording()
  • feed in remote commands by setting properties and invoking methods arbitrary times; mind the correct time codes
  • stop recording of remote commands by calling StopCommandRecording()
  • bring the scene to the initial state that is the same as when recording started
  • start the image sequence playout by calling StartPlayoutToDisk()
  • stop the render-to-disk mode in Ventuz via StopRenderToDiskMode()

The timecode, necessary as a parameter for starting/stopping the recording and for the remote commands, is actually a frame index. This implies that timings and the duration of the playout are dependent on the playout frame rate. So if an image sequence of 10 seconds with a frame rate of 30 FPS is the goal, 300 frames have to be recorded. An image sequence of 10 seconds with a frame rate of 60 FPS would, however, require a recording of 600 frames.

Note that only recorded remote commands with a timecode greater or equal to the start-recording and lower or equal to the stop-recording timecode are processed during playout. It is not necessary to send remote commands in the chronological order during recording because they are ordered by time before the playout starts.

During render-to-disk mode, it is not allowed to load, unload or validate a scene or to change the assignments of ports via remoting.

Remote render-to-disk mode is not yet supported by Remoting 4

See also:
  • Remoting
  • Snapshot node
  • Texture Saver node

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