We’ve touched on how using a custom RTMP “middle man” server can open a new world
of possibilities for your streaming empire - but a new service has finally begun to work
with OBS Studio that is actually a lot better in some ways, and a lot easier to use, with
more uses for it at all.
That is NDI.
NDI is a video transmission technology that has been in development by NewTek - the company
that makes those awesome Tricaster streaming machines and really pushes innovation on the
broadcasting front.
Well someone by the handle of “Palakis” has developed a great NDI integration plugin
for OBS Studio and now we can take advantage of this awesome technology within OBS Studio.
Any high-tier live production needs a variety of scenes to show and quick, precise switching
between them.
The Elgato Stream Deck gives you 15 keys with customizable LCD screens behind each, that
can execute macros, application launchers, scene switching and source muting for OBS
- and you can nest folders for more actions and UNLIMITED POWAHHHH.
Grab yours today via the link in the video description.
I’m EposVox, here to make tech easier and more fun, and welcome back to my OBS Studio
tutorial course.
I have many, many more videos on the software in the playlist linked in the description.
Check that before asking questions, and check the introduction video to learn how this course
works, if you get confused.
The OBS-NDI plugin lets you do three main objectives, currently: Add NDI sources from
your network into OBS Studio like any other source, Output your main program view as NDI
over your network, and then a special filter that will send a single source from your OBS
canvas over NDI.
These are all great features and we’ll cover them here.
NDI itself can be used in a number of ways for game streaming.
Firstly, you can send a video source from one computer - hooked up via USB or a capture
device - over the local network across virtually any distance to your main streaming setup.
This is useful for streaming from multiple sets, different gaming stations, and so on.
Newtek also recently released their “Spark” dedicated NDI broadcast box for this purpose,
or there’s a third party encoder from BirdDog available as well.
These are quite pricey, however, and geared more towards big events.
NDI can also be used to optimize PC streaming via a secondary streaming PC without the need
for, or the hassles of, a capture card setup.
This is perfect for those who run high refresh rate or high resolution monitors that don’t
play well with capture cards.
High refresh rate setups like 120hz or 144hz do not like cloning to a 60hz capture card
and you’ll get a lot of vertical tearing that way.
This isn’t a problem for NDI-based streaming.
NDI uses very little CPU usage and runs across the network at very low-latency - almost real-time!
- to your receiving node or streaming machine.
This is a big advantage over RTMP which can have big delays for it, and is difficult to
set up.
RTMP’s delay is fairly significant and can actually vary over time, though is usually
around 2 to 3 seconds, which is very frustrating for audio syncing.
NDI is only a few ms of delay time, which means audio syncing is not an issue.
Setting up NDI streaming with this plugin is also very straightforward compared to RTMP
server configurations.
No port forwarding or any of that nonsense with NDI, either.
You will absolutely want your gaming PC and streaming PC on a wired, ethernet network
for this to work optimally.
Wireless just isn’t reliable enough for a great experience.
You can do it, but it can affect delays, video quality, and so on.
Just run a wire.
It’s worth it, I promise.
To set up the NDI plugin, close OBS Studio.
Go to the plugin page and click “Download Now.”
This will take you to the GitHub.
You will need both the plugin AND the NDI 3.0 Runtime installers.
This page has instructions for Linux and macOS, but we’ll be showing Windows here.
There are two ways to install.
The easiest is to scroll to the bottom and find the “obs-ndi-4.1.3-Windows-Installer.exe”
link and download and run that.
This will copy the plugin files to your OBS Studio installation folder AND install the
NDI Runtime and prompt you to reboot.
Reboot and you’re good to go.
If you want to do it manually...
Click to download the NDI 3.0 runtime and download and run the installer.
Reboot your computer, now.
Then download the “obs-ndi-4.1.3-Windows.zip” file and open with your favorite archive manager,
such as 7-zip.
Extract those files to the root directory of your OBS Studio installation folder.
That should be: “C:\Program Files (x86)\obs-studio”.
Approve any prompts to modify system files and then you’re good to go.
Sending your stream over the network via NDI is extremely easy.
Simply click “Tools” - “NDI Output Settings”.
Here you give your NDI stream a name and click “Enable NDI Output.”
And hit OK.
Do note that once this is enabled, OBS is technically outputting video so you won’t
be able to change your video resolution settings and such.
Now that you’re sending NDI over the network, you can bring it in on a dedicated streaming
or capture rig.
Add a new source, click “NDI Source” and give it a name.
Once the stream has had a minute to kick in, available NDI streams on your local network
will be available via the “Source Name” dropdown menu.
If you have a high-end PC, you can click “Allow hardware acceleration” to potentially reduce
resource usage by the stream.
If you have a lot of activity on your network or multiple NDI streams going at once, you
can check to bring the feed in “Low bandwidth mode”.
This will reduce the source’s resolution and quality, and can potentially add more
delay, though in my basic testing that is not the case.
This was actually super fascinating to play with.
Watching the source feed on one PC next to the received NDI feed on another PC, there
are only a few frames of delay!
So crazy.
Running a full-screen YouTube video through the feed at 1080p used up about 160 megabits
per second or so of transfer speed - though that can obviously change depending on your
sources.
Also, using the NDI output only added at MOST 5% more CPU usage to just sitting there idle.
INSANE!
Using the primary NDI output tool, it will output the active scene and audio mix just
like a normal stream.
This audio shows up just fine and fully in-sync on the receiving PC.
Or if you have your audio hardware hooked up to your secondary streaming PC, you can
sync it up that way.
Alternatively, you can just send a single source over NDI to be recorded or streamed
elsewhere.
This is how the NDI filter works.
However, I will say that this part of the plugin is not super stable.
Even just trying to test it, this filter wound up crashing my OBS quite a bit.
But at the same time, I don’t see quite as much use for it, so it’s not a big deal
in my opinion.
To use this, right click a source in your scene - keeping in mind this is directly on
a per-source level - and click “Filters.”
Add a new Effect Filter and click “Dedicated NDI Output.”
There are no options for this.
Then you just add it as a NDI source like before on the second PC.
Personally, I had a lot of trouble getting this to work - but for some it works just
fine.
And here’s the catch…
Oh wait, there… isn’t one.
Yeah, that’s really it.
It’s really that simple.
No capture card streaming and capture at very high quality with minimal latency and very
simple setup.
Especially in the higher-level broadcasting world, NDI basically feels like magic.
Try it for yourself, there’s lots of neat uses for it.
I just wish the dedicated encoding boxes didn’t cost so much.
I hope this episode of my OBS Studio tutorial course has been helpful for you.
If it was, drop-kick that like button and subscribe for awesome tech videos.
If you like game streaming, come follow me on Twitch and drop a message in chat.
Until next time, I’m EposVox, Happy Streaming!
Thanks for watching this episode of my OBS Studio tutorial course.
More videos like this and a full master class are linked in the playlist in the video description.
Click to learn more.
Also consider joining us on Patreon to help keep tech education free.
Go to Patreon.com/eposvox to sign up.