What is the best way to stream live video into Unreal Engine?

A guide to the pros and cons of different methods for live-streaming in Unreal Engine
Written by OWL
Updated 1 year ago

The traditional methods for streaming live video into Unreal Engine include:

  1. NDI
  2. SDI/ HDMI input via an Unreal compatible capture card
  3. Webcam input via Unreal media player

These have issues such as:

  1. Compatibility: Unreal lacks compatibility with a lot of capture cards and there isn't even consistent support for specific manufacturers.
  2. Latency: There is a time delay between the video leaving the camera/ capture device and arriving in Unreal
  3. Compression: The original video has been encoded/ decoded and pixels have been removed to reduce its size for easier transportation.
  4. Resolution cap: There is limit to the resolution of the video you can output from your capture card or webcam.
  5. Frame rate cap: There is a limit to the frame rate of the video you can output.
  6. Overhead: You computer is working in the background to create the video which slows down your performance in Unreal Engine.

Our Live-streaming Toolkit avoids all these issues:

It uses a Windows utility called Spout to share the video texture on your GPU between Unreal and the other program.

This means that it doesn't have to encode/ decode it so there is no latency, compression or overheard.

It also means that there is no artificial cap on resolution or FPS. Whatever you can produce in Unreal you will be able to stream.

When combined with our Spout plugin for OBS Studio, this lets you benefit from OBS's massive media-source cross-compatibility and combine it with Spout's zero-latency/ compression to easily send diverse media sources into Unreal.

A comparison of all options for live-streaming to Unreal Engine:

NDI Capture card (SDI/ HDMI) Webcam Spout
Compatibility issues? No (through OBS) Yes Yes No (through OBS)
Latency Yes In most cases No No
Compression Yes Sometimes Yes No
Resolution cap Yes Yes Yes No
FPS cap Yes Yes Yes No
Overhead Yes No Yes Yes

What is the best option?

The best option for live-streaming into Unreal is a studio quality capture card from companies like AJA or BlackMagic. 

These normally cost at least $500 however (and can be much more).

The live-streaming toolkit is therefore an excellent alternative in the case of:

  1. A lower budget: you can use the toolkit Community license to live-stream video into Unreal at-Runtime for free!
  2. The need for maximum versatility of media input sources (since it let's you use OBS Studio as your media manager).
  3. The need to avoid latency/ compression/ resolution constraints. 
Did this answer your question?