NDI / OSX / Home Lab / Streaming Video / Debian / Windows / OBS Studio

OBS Studio with NDI on Debian

May 12, 20244 min read
NDI + Linux = Clean and Fast
NDI Tools on Mac and Windows Streaming to OBS on Debian

OBS Studio is a fantastic tool. If you ever want to record, stream, or even add some fun lower thirds graphics to your own camera on a Zoom or Teams call, in my opinion it can't be beat. It also really pairs well with NDI, a video streaming solution. Getting that to work on linux, however, can be a point of frustration for some.

While there are a variety of tutorials out there, as well as scripts intended to make installation easier, it doesn't always go smoothly. I prefer to work a bit in reverse, first getting OBS Studio installed, then the OBS-NDI plugin, and finally seeing which version of NDI Tools your installation is looking for. The reason I go this way is the NDI version you need will depend on the version of OBS Studio you are using with the plugin, which can be a bit behind the official release if you install from your package manager.

Installing OBS Studio

Debian is the base of many distributions. So many, in fact, that there is an entire page on wikipedia dedicated to Debian-based distributions. Much like the distributions all these flavors are based on, most leverage apt.

NOTE: apt has replaced apt-get since Debian 8. apt-get will still work as a command, but apt is the way to go these days.

First, we update the repositories, then make sure everything is current with an upgrade. After that, we install OBS Studio and its dependencies.

# Update apt repositories
sudo apt update
# Upgrade to current
sudo apt upgrade
# Add the tools
sudo apt install obs-studio

If apt does not find obs-studio as a package, your distribution may be using a different name for it. You'll need to take a look at your distribution's repositories to find out what it is named, and use that instead.

However, most maintain the package name of obs-studio, which should now be installed on your system.

Installing the OBS-NDI Plugin

This is also a straightforward effort. First things first, grab the latest .deb from the OBS-NDI releases page. The file will be named obs-ndi-VERSION-x86_64-linux-gnu.deb. We can then install that file with dpkg - the Debian package manager that does not use online repositories.

# Download the release; at the time of writing this, it was 4.13.2.  Update the version number for the link appriopriately for the current version available.
wget https://github.com/obs-ndi/obs-ndi/releases/download/4.13.2/obs-ndi-4.13.2-x86_64-linux-gnu.deb
# Install with dpkg
sudo dpkg -i obs-ndi*

And that is really it! Installation of applications and plugins are quite simple with dpkg, the downside is that they won't be update with an apt upgrade as you are not getting them from a repository. Upgrading will mean downloading the latest .deb for that package. Now at this point in the typical installation instructions, we've skipped an important step - installing the NDI SDK. As mentioned though, if the version OBS Studio / OBS-NDI are looking for is different from the version you're installing, you'll just get an error on startup that the NDI library can't be found. What that error popup won't tell you is which version of libndi.so your installation needs. To do that, we'll start up OBS Studio, but not from a GUI - we're going to do it from the command line. So fire up your favorite terminal (as a long-time KDE user, its konsole for me), and enter:

obs --verbose |& grep -i ndi

Right away, you'll see the version of libndi.so thats needed, either libndi.so.5 or libndi.so.6. Depending on the version you need, run either of these two commands:

# NDI SDK 5
wget https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v5_Linux.tar.gz

#NDI SDK 6
wget https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v6_Linux.tar.gz

Then we need to extract the downloaded file:

tar -xvzf Install_NDI_SDK_v*.tar.gz

This will create a new shell script which contains an archive of the NDI SDK. So run:

./Install_NDI_SDK_v6_Linux.sh

Or v5, if that is the version you have/need. It will then create a new directory, NDI SDK for Linux, which will be the same name regardless of version. What you need is going to be in that directory, under /lib/x86_64-linux-gnu. Just two commands left!

# Go to the directory where the files are located
cd NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/

# Copy them over to /usr/lib, where OBS will be looking for them
sudo cp ./lib* /usr/lib

Now start OBS again, this time with NDI support!

NDIOBSCross PlatformStreaming