Skip to content

Spout Input ​

Spout is a Windows-native GPU texture-sharing framework that lets any Spout-capable application on the same PC hand its rendered output to Exaplay 3 as a live video source — uncompressed, and without a network or capture card in between.

Spout source in File Browser

What Is Spout? ​

Spout (developed by Lynn Jarvis) enables real-time sharing of OpenGL textures between applications on the same Windows PC. Popular Spout senders include:

ApplicationUse case
Resolume Avenue / ArenaVJ software sending to Exaplay for output
TouchDesignerGenerative / interactive content
OBS Studio (with Spout plugin)Streaming software output
Unity / Unreal EngineReal-time 3D content
ProcessingCreative coding

Adding a Spout Source ​

  1. Open the File Browser → Live Feeds tab.
  2. A generic Spout Input entry is always visible, even when no Spout sender is running. This allows preprogramming your show in advance.
  3. Any currently active Spout senders also appear individually (e.g. Spout: MyApp).
  4. Drag Spout Input (or a specific sender) onto a track in the Timeline.

Tip: The generic Spout Input is meant for preprogramming — it starts on Any Sender and connects to whatever sender is active. Use a named sender entry when you need a specific source.

Note: Spout requires SpoutLibrary.dll, which is included in the Exaplay installation. No separate SDK install is needed.

Selecting a Sender ​

If multiple Spout senders are active, each appears with its sender name as a separate item in the Live Feeds list. The sender name is set by the originating application.

To switch a running Spout clip to a different sender:

  1. Select the Spout clip in the Timeline.
  2. In the Inspector, click Set Live Parameters. Under Source, use the Sender drop-down to choose a different active sender, or select Any Sender to connect to whatever is currently broadcasting. The list shows the senders running at the moment the dialog opens.
  3. The switch is hot — no project reload is needed. The picture changes as soon as the new sender delivers its first frame.

A Spout clip has no Enabled switch and no Format selection: the picture arrives at whatever size the sender renders.

Saving & Loading Spout Clips (VPP) ​

Spout clips are fully saved in VPP project files:

  • The selected sender name (or "Any Sender" mode) is preserved.
  • On project load, each Spout clip reconnects to its saved sender automatically.
  • If the sender is not yet running, the clip waits and connects when the sender starts.
  • A generic Spout Input clip saved by an older build, which bound it to a sender literally named "Spout Input" (and so stayed black), is read back as Any Sender.

Behaviour When the Sender Disconnects ​

If the Spout sender stops or closes while Exaplay is using it:

  • The output clears to black automatically.
  • A line is written to the engine log (Documents\Exaplay3\logs\).
  • When the sender restarts, Exaplay reconnects automatically without any user action.

Sender Size Changes ​

If the Spout sender changes its output resolution (e.g. a window resize), Exaplay detects the new dimensions on the next frame and resizes its internal texture buffer automatically. No manual reconfiguration is needed.

Performance ​

Exaplay copies each new frame the sender produces into its own buffer and uploads it to its own texture — once per sender frame, not once per rendered frame: a 30 fps sender costs 30 copies a second on a 60 Hz output, and a sender that pauses costs nothing until it draws again. The cost per frame grows with the sender's resolution: a small or HD sender is cheap, a very large one (several 4K senders at once) costs noticeable memory bandwidth and CPU time. The maximum resolution is what the GPU and the sender support.

Comparison: Spout vs NDI vs Capture Card ​

MethodLatencyCross-machineCompression
SpoutLowest — no network, no encoding❌ Same PC onlyNone
NDINetwork + encode/decode✅ NetworkNDI codec
Capture cardCapture hardware✅ HDMI / SDINone (raw)

Use Spout when the source application runs on the same machine as Exaplay and you need the lowest latency.

Multiclient ​

Spout never crosses the network, so on a multiclient rig:

  • The generic Spout Input is local on every machine: each machine that plays the clip connects to a sender on its own PC.
  • A named sender belongs to the machine it runs on. Only that machine opens it; the other machines keep the clip and show it black, and its Inspector says which machine owns it.

Identifying Spout Clips ​

Spout clips show a Spout icon in:

  • The File Browser Live Feeds tab
  • Timeline segment thumbnails
  • The Playlist composition view

Exaplay 3 User Documentation