Spout is a protocol which allows you to share a video texture on your GPU between two programs this means that it is zero-latency and zero-compression. Spout works with alpha channel but not audio.
You can live-stream from Unreal Engine via Spout either from a Render Target or from Unreal's Media Framework which can be used with nDisplay, Composure, Media Capture and other useful tools:
Instantly Output with the Media Output Wizard:
- In the Off World Live Unreal Editor drop down select the Media Output Wizard:
- You can select between Cinecam, 360 Camera and Viewport outputs.
- Choose alpha channel if you want that (you will configure it in the Details panel of the Cinecam or the 360 Camera).
- Audio must be off because Spout doesn't work with audio.
- Output type should be selected as Spout (but you can select mutiple if you need.)
- Add a name to find in your Spout receiver and then click 'Create' and it will automatically generate both your camera and your Spout sender.
- If you go to your Spout Receiver you will now see the output you have created.
Use Unreal Media Framework to Output Spout from nDisplay, Composure, Media Capture etc
- Right click in the Content Browser and select OWL Spout Output:
- A new Spout Media Output Actor will be created in the Content Browser:

- Double click the Actor to change its properties:
-
The Spout Sender Name will change the name of the Spout feed, this will then be received via this name in other applications. If left blank this will use a default name based on the viewport.
- Number of Texture Buffers will set the number of textures used to transfer the texture from the GPU to system memory. A smaller number is most likely to block the GPU (wait for the transfer to complete). A larger number is most likely to increase latency.
- Fix Gamma applies a Gamma correction to match Unreal’s viewport appearance. Unreal manages files in linear color space but applies a ‘linear to sRGB conversion. Enable this to make your Spout output look the same as the viewport.
- Has Priority enables the sender to take precedence if multiple senders try to use the same name. This is useful when you want this sender to be the main or fallback sender.
-
- Now in Unreal utilities like nDisplay you can go to the Media Output dropdown and select the OWL Spout Output as a Media Output option:

Use the OWL Spout Sender Manager to send Spout from a Render Target
- Find the 'OWLSpoutSenderManager' Actor in the 'Place Actors' panel and drag it into your scene.

- In 'World Outliner' select 'OWLSpoutSenderManager' so it opens in your 'Details' panel and add a new 'Array element' using the '+' sign:

- Select/ create a Render Target by clicking the drop down next to the thumbnail:
- Name your Sender (this is how you will find your feed in your other Spout program), and click the Active box to begin sending to Spout.
- Select fix Gamma if you want your output to appear the same as what you see in the Unreal Viewport. If you want raw colors, untick this option.
- You will now see your Unreal Engine feed in your other Spout program (ie OBS Studio)
Additional Features:
- To stream multiple cameras, just add additional 'Array elements'.
- You can control the Active tick-box via Blueprints to manage which outputs are streaming at any one time.
- You can also use blueprints to switch the Render Target selected by a single Spout Sender which can be useful for live-editing between different camera angles.