This article is for setting up NDI streams to receive in Streamlabs Desktop or other application. For information how to receive NDI streams in Streamlabs Desktop see this article.
Create NDI stream with OBS Studio
You can use OBS Studio on a computer to capture a game and other sources and send this out as an NDI stream with the OBS Studio NDI Plugin by Palakis. If you are installing this plugin without having the NDI Redistributable installed first, make sure to reboot your computer after installing the plugin, as it will automatically install this for you.
Enable NDI Output
The first method is to create an NDI stream of the main (stream) output and/or the preview output (studio mode) in OBS Studio containing all sources visible and the mixed final audio stream, by enabling the NDI Main and/or Preview Output via Tools → NDI Output Settings. In the NDI Output Settings dialog you can give the NDI stream a name to properly identify the NDI stream on the network if your have created multiple.
The NDI stream created does not contain any alpha-channel/transparency and the Video Settings in OBS Studio will be locked when one of the NDI outputs are enabled, as NDI will use the same Output (Scaled) Resolution and Frame Rate set by you there. The Bitrate set in Output Settings is irrelevant and not used by NDI as it uses its own encoding.
Dedicated NDI Output
A second method is to set a "Dedicated NDI Output" as a filter to any source in OBS Studio to only create an NDI stream of that source. If the source contains audio, this will be transmitted as well. Unlike the main preview output, this method retains the alpha-channel/transparency if the used source contains this. In the filter settings, you can also give the NDI stream an appropriate name.
If you are using the Dedicated Output NDI filter on a Browser source (as seen in the image above), to for example render alert and widget animations on another computer, do keep in mind due to the limitations of the Browser source that audio is not transmitted with it, so you'll need to patch this over via another method.