How to Live-Stream to Unreal Engine using Spout

You can live-stream video from any Spout compatible program (TouchDesigner, Resolume etc) to Unreal Engine
Written by Off World Live
Updated 18 hours ago
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 to Unreal Engine via Spout either into a Render Target or in to Unreal's Media Framework which can be used with nDisplay, Composure, Media Plate and other useful tools:

Instantly Input with the Media Input Wizard:

  1. In the Off World Live Unreal Editor drop down select the Media Input Wizard:
  2. In the window that opens:
    1. Select Spout as your input format.
    2. You need an active Spout Sender to receive, such as from OBS Studio. You can select this from the list or refresh if you don't see it.
    3. You can select between three options of how to receive the texture:
      1. Media Plate: This is Unreal's media plate which avoids anti-aliasing. We recommend this option if you want clean media in your scene. This uses the Media Framework Spout input below.
      2. Material: This is to an Unreal material which you can use as you like in your scene. This uses the Render Target input below.
      3. Plane: This is to a standard Unreal plane. This will have ghosting on it due to Unreal post processing so we recommend the Media Plate unless you need a plane for a specific reason. This uses the Render Target input below.
    4. Click create and the sender will automatically be generated in your scene.

Use Unreal Media Framework to Input Spout into nDisplay, Composure, etc

Use the OWL Spout Receiver Manager to receive Spout to a Render Target

  1. Right click the Content Browser and select Spout Source:Find the 'OWLSpoutReceiverManager' Actor in the 'Place Actors' panel and drag it into your scene.
  2. Spout Receiver Manager
  3. In World Outliner select OWLSpoutReceiverManager so it opens in your Details panel and add a Spout Receiver Array Element and click the arrow in the right hand corner to open the Array Element showing its Members: Spout Receiver Details Panel
  4. Create a Render Target and give it a name. Spout Receiver Details Panel
  5. Select a Spout input feed from the list of options  in the Name dropdown (any active Spout source will show) and Click Active to start capturing the Spout source to your Render Target.
  6. If you want to apply your Render Target to your scene, then right click on it to create a Material which you can drag-and-drop onto any Unreal Actor.

Additional Features

  1. To receive multiple input feeds, just add additional Array Elements.
  2. You can control the Active tick-box via Blueprints to manage which cameras are rendering simultaneously and so reduce computational load.
Did this answer your question?