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.
