OWL Media Output Wizard

You can instantly set up media outputs from Unreal Engine for streaming in the studio or to the internet, with alpha channel support, audio support, options of Cinecam, 360 Camera or Viewport

Last updated 3 days ago

Overview

  • The OWL Media Output Wizard significantly simplifies the process of outputting media from your Unreal scene.

  • It will instantly set up an OWL Capture Type (Cinecam, 360 Camera or Viewport Capture) and stream it over the network or to the internet via an OWL Output Type.

  • The two are connected via a shared Render Target which captures the live pixels and ensures any updates you make in the cameras automatically is reflected in your output.

  • It will also automatically set up any audio inputs present in your media, including Audio Submixes.

Basic Set-Up

  1. In Unreal Editor select the Off World Live drop down in the Editor UI and select Media Output Wizard:

  2. A pop-up will appear in which you can select the Capture Type you want as well as the Output Types you want:

  3. Select the options you need and click Create. The relevant Unreal Actors will instantly generate in your scene:

Performance

Frame Rate

  • Each Capture Type will have a different impact on your performance:

    • Viewport Capture shouldn’t result in any reduction in FPS.

    • Cinecam and 360 Camera will see an FPS drop due to the requirement for the Render Target to render additional pixels.

  • Different Output Types will affect your FPS in different ways:

    • NDI will have the largest performance impact due to its CPU encoding and this impact will increase if you have a high resolution/ FPS output and/ or multiple outputs.

    • The Media Output Encoder can handle more outputs with higher resolution/ FPS because it is GPU encoded. However, if you have multiple >60FPS >4k outputs then you may start to see a performance decline.

    • Spout/ Virtual Webcam uses GPU texture sharing and so has no performance overhead.

Visual Appearance

  • All the camera outputs share the Viewport rendering pipeline and so are true to the colors and post-processing effects you see in your Unreal Viewport.

  • The OWL Cinecam and 360 Camera both have OCIO output options if you want to select a specific color space for your output.

  • All the Output Types use 8bit color apart from Spout which can be up to 32bit color. We plan to add 10bit color support to the Media Output Encoder soon.

  • Only the NDI output should have any visually perceptible image artefacts (due to the NDI SpeedHQ encoding algorithm), all the other formats should have a seamless image.

Capture Types

  • There are three Capture Type options:

OWL Cinecam

  • Selecting this will generate the OWL Cinecam Actor with a 1080p Render Target.

  • You should go to the Details panel of the Actor to modify any settings you require.

  • If you have selected alpha channel, you will need to go to the Alpha Settings section to create your Show Only list:

OWL 360 Camera

  • Selecting this will generate the OWL 360 Degree Camera Actor with an Equirectangular projection and a 1080p Render Target.

  • You should go to the Details panel of the Actor to modify any settings you require.

  • If you have selected alpha channel, you will need to go to the Alpha Settings section to create your Show Only list:

OWL Viewport Capture

  • Selecting this will generate an OWL Viewport Capture Actor which will inheirit whatever resolution your Unreal Viewport is set to.

  • This Actor will write whatever active Viewport you have selected in Unreal to a Render Target and is useful if you want to stream or record direct from your game/ app.

  • There is no performance impact from selecting this option because it captures the pixels that you are already rendering for your Viewport:

Audio Output

  • All three Capture Types support audio output.

  • Only the NDI Sender and the Media Output Encoder can encode audio (the other options will be greyed from the list).

  • You can select audio out from either the Viewport (Default Main Submix) or from an Audio Submix:

  • In the Output Type you have selected you can modify the audio settings in the Details panel of the Actor:

Output Types

  • You have four Output Type options:

Spout

Overview

This is the best option if:

  • You want perfect color matching (and high color bitrate).

  • If you need video only (alpha channel is supported).

  • You are sharing media from the same machine.

  • Your sharing software has a Spout Receiver option.

That’s because Spout uses GPU Texture Sharing and so has zero latency, compression, encoding or CPU overhead.

  • Spout can support up to 32bit color but your output will be set by default to RGBA16f (16bit color with alpha channel).

  • You can change this by opening the Render Target on whatever Capture Type you have selected and selecting a different Render Target Format:

  • Spout is supported in media software like OBS Studio, TouchDesigner, Resolume, MadMapper etc.

Settings

If you select this option the wizard will generate a OWL Spout Sender Manager with a Render Target/s from your selected Capture Type.

  • In the Actor you can change:

    • The name of your Spout output.

    • Fix Gamma: Unreal works in linear colorspace and then applies an sRGB conversion to the Editor UI.

      • If you want an output that looks identical to your Editor Viewport then keep this ticked.

      • If you want the raw color values from the Render Target then untick:

NDI

Overview

This is the best option if:

  • You are sending media across a network (normally a local network but it can also be over the internet using NDI Bridge).

  • You need audio as well as video (alpha channel is supported).

  • Your sharing software has an NDI Receiver option (this is quite common).

However, NDI needs to encode the media to send over the network so:

  • There is a encoding cost in Unreal which reduces FPS.

  • You may see small visual artefacts in your Receiver software.

  • You will need large available bandwidth to send the video (Ethernet is recommended).

  • Currently NDI Sender only supports 8bit color (SpeedHQ codec with UYVY and BGRA options).

Settings

If you select this option the wizard will generate an OWL NDI Sender Manager with a Render Target/s from your selected Capture Type.

  • In the Actor you can change:

    • The name of your NDI output.

    • If you are sending audio (if you have selected Audio Submix then you can selected between submixes)

    • Video Conversion Format: You can select between UYVY and BGRA (both are 8bit color only, only BGRA supports alpha channel).

Virtual Webcam

Overview

The Virtual Webcam module needs to be installed for this option to be able to be selected. An installer can be found in the Utils folder of the OWL plugin.

Run this installer and then restart your computer:

This is the best option if:

  • You want to stream video (no audio or alpha channel) from Unreal to a virtual conference system like Zoom, Discord, Teams, Meet etc.

  • You want to stream video using social media streaming softwares (TikTok, Douyin etc) because all streaming softwares are able to receive a virtual webcam.

  • However, virtual webcams can only support very specific resolutions in the aspect ratio of 16:9 or 4:3 such as:

    • 4:3: 480x360, 640x480, 960×720, 1024x768, 1600x1200, 2048x1536

    • 16:9: 640x360, 1280x720, 1920x1080, 2560x1440

  • If you want a vertical output for live-streaming to TikTok/ Douyin etc. then you should rotate your OWL Cinecam 180 degrees and select 1920×1080 (16.9 aspect ratio).

  • You can select a 360 Degree Camera output but it will be distorted by the fixed aspect ratio so is only useful if you want to make experimental content or stream in Stereographic (Tiny World) format.

Settings

N.B. Virtual Webcams interact with a lot of different software on your machine such as Chrome, Slack, Discord, Zoom, Teams etc.

If you are having issues with the webcam showing up in these software, trying restarting them and/ or ending their processes (including background processes) in Windows Task Manager and opening them again.

If you select this option the wizard will generate an OWL Virtual Webcam Actor with a Render Target/s from your selected Capture Type.

  • You will need to tick Active for the Webcam to begin sending.

  • Launch Installer: Tick this if you want to include the Virtual Webcam in your game/ app. It will launch the Virtual Webcam Installer for your users when they first open your app.

  • Enable 60Fps: Normally the webcam is set to 30FPS because this is the default for video conferencing software.

    • If you are confident that your receiving software can process 60FPS then you can select this option:

Media Output Encoder

This is the best option if:

  • You want to live-stream to the internet via RTMP, SRT, RTSP or HTTP.

  • You want to record to disk via MP4, MOV, AVI, MKV, FLV.

  • You want video and audio (alpha channel is not currently supported).

  • You want more control over your output, including video and audio bitrate, encoding format, framerate and timecode control etc.

  • You want to maximise performance (for example in comparison to NDI) because the Media Output Encoder uses GPU encoding (only NVIDIA GPUs are currently supported).

Settings

If you select this option the wizard will generate an OWL NDI Sender Manager with a Render Target/s from your selected Capture Type.

  • You will need to press Start for the output to begin (this can also be triggered via Blueprints) but first you need to select the format you want to output plus any other details (as below):

  • To begin outputting media:

    • Ensure that Enabled is ticked and if you want to output audio that Encode Audio is ticked:

      • If you want to modify your audio settings in more detail, such as adding an Audio Submix or changing bitrate you can do so in the Audio Encoder Configuration below.

    • Select in your Output Type the option you need.

    • You can select more than one of these by adding a new array. For example, if you want to stream to RTMP but record your stream to MP4, you can add two output settings like this:

      • If you select a streaming output, you will need to input a Stream URL and Stream Key which you can find in your streaming provider software:

      • If you select Save to File then you need to set the Destination Format (Mp4, MOV etc), where to save the file and what name to give it:

    • The Video Encoder Configuration is set by default to H.264 encoding, 30 FPS output and a birate of 5000kbps, which is recommended for a 1080p resolution.

    • The Timecode in the Time Sync Mode section is set by default to Recording Counter (Start at Zero) :

Trouble-Shooting

  • There are some basic tips below.

  • For specific issues, please check the guides for the individual OWL Actors which all have extensive trouble-shooting recommendations.

Frame Rate Drop when in Background

  • By default, Unreal throttles the CPU when Unreal is in the background vs other software.

    • To change this, go to Editor Preferences and untick Use Less CPU when in Background:

Audio not Playing when Editor in Background

  • By default, Unreal will stop audio playing when the Editor is in the background vs other software.

    • To change this, pick the Engine version you need in your File Explorer and go to the file path:

    • In Config go to BaseEngine.ini and open the notepad:

    • Search for UnfocusedVolumeMultiplier and change the value from 0.0 to 1.0:

    • Save the file and close and re-open Unreal. Your audio will now play continuously no matter if Unreal is in the background or minimised.