Video Hub Field-tested
Window ▸ VSK Video Hub routes any signal onto any screen in the set - the monitor wall behind the talent, a virtual TV, a jumbotron.
Source descriptors
Every video source is a short text descriptor, used everywhere (panel, triggers, web, Blueprints):
| Descriptor | Meaning |
|---|---|
Off | Black / screen off |
SDI:N | Camera input N (shares the camera’s player - no double capture) |
Program | The program feed itself |
Bus:Name | A Video-type control-bus channel |
Asset:/Game/X.X | Any texture / media asset by path |
File:name.mp4 | A Quick Media shelf file (append !once for play-once) |
NDI:Source Name | A discovered NDI source |
Quick Media shelf
Drag files from the desktop straight onto the tab - they’re copied into
<Project>/VSKMedia (no asset import, no editor churn). Images load as textures, videos play
through runtime players with ffmpeg-extracted poster thumbnails. Files uploaded from the web
remote land on the same shelf.
Routing & cut banks
One row per screen: thumbnail chips, a 6-slot cut bank (orange border = on air), an
ON AIR preview cell, ASSIGN menus and OFF. Drag a chip onto a slot to assign; onto ON AIR to
cut live. Per-screen FADE (0-5 s, 0 = hard cut) applies to every cut path - panel, web,
and <Screen>.Cut.N triggers (override per call with &fade=1.5). Camera-to-camera
crossfade is field-confirmed on live feeds.
Routing persists and re-applies at BeginPlay - tomorrow’s show opens exactly as tonight’s ended, overriding any editor-set source on the component.
Putting a screen in the set
Add a VS Video Surface component to any mesh (it finds the material’s texture parameter
automatically - explicit name, VideoTexture, Screen, or the only texture param; the panel
warns and lists candidates when none is drivable), or drop an AVS_TVScreen actor for an
instant screen.