Caption/UMD and Expressions
Last updated
Last updated
When you create a caption in a multiview output, you can either create a caption with static text, or you can provide an expression. By default, expressions are updated every 250 milliseconds, as they cause a full re-render of the caption.
Select the multiview you want to add a caption to in the web UI.
Click Edit Layout
Click Add Caption or press the C key.
Your caption will be added to the canvas. You can drag it around.
Every caption has the following properties.
X & Y
Sets the location of this caption.
Pad (LTRB)
Sets how much padding should be around the text in this caption. (Left, Top, Right, Bottom)
Text
If set, the static text that will be displayed in this caption.
Font
If set, the custom TTF font to use for this caption. Custom fonts can be added to the configuration file directory for Multiview.
Expression
If set, the dynamic text that will be displayed in this caption. Do not set this AND Text at the same time. Use one or the other.
Fill RGBA
The background color of this caption, given as an HTML hex color.
Font RGBA
The text color of this caption, given as an HTML hex color.
Code
The unique code of this caption. Used for updating this caption from the HTTP API.
System / Internal
$startuptime$
App start time UTC in HH:mm:ss
$internal.instancename$
The platform and architecture this instance is running on. For example, `windows_x86_x64`. Includes the hostname.
$internal.version$
The version of multiview running on this instance.
$internal.name$
The hostname of the machine.
Clocks & Uptime
$clock24$
Local time now (HH:mm:ss), 24-hour time
$clockutc24$
UTC time now (HH:mm:ss), 24-hour time
$uptime$
Minutes since startup (to 1 decimal place)
Per-Viewer Diagnostics
$viewer{i}.diag.renderavg$
Average time to render a viewer for viewer i in ms
$viewer{i}.diag.rendermax$
Max time to render a viewer in ms
$viewer{i}.diag.ndiavg$
Avg NDI send wait time ms
$viewer{i}.diag.ndimax$
Max NDI send wait time ms
$viewer{i}.diag.hxavg$
Avg NDI|HX frame encode time ms
$viewer{i}.diag.hxmax$
Max NDI|HX frame encode time msec
$viewer{i}.diag.avg$
Average total time to render, encode, and send viewer to NDI
$viewer{i}.diag.max$
Maximum total time to render, encode, and send viewer to NDI
Per-Viewer State
$viewer{i}.name$
Viewer’s human-readable name
$viewer{i}.ndiactive$
“Yes”/“No” if NDI output enabled
$viewer{i}.audiosource$
Audio source name or (None)
Per-Viewport State
$viewer{i}.viewport{v}.source$
NDI source name or (None)
$viewer{i}.viewport{v}.bandwidth$
“Full Bandwidth” / “Proxy Feed”
$viewer{i}.viewport{v}.watchdog$
“Yes” if watchdog timed out, else “No”
$viewer{i}.viewport{v}.audio.channels$
Audio channel count or -
$viewer{i}.viewport{v}.audio.samplerate$
Sample rate or -
$viewer{i}.viewport{v}.audio.avgdbfs$
Peak dBFS (0.0 format) or -
$viewer{i}.viewport{v}.preview$
“Yes”/“No” if preview tally
$viewer{i}.viewport{v}.program$
“Yes”/“No” if program tally
$viewer{i}.viewport{v}.tally$
“Preview”, “Program”, “Preview & Program”, or “None”