OBS and NDI Plugin Issue

Hi Forum,

I am currently experiencing an issue enabling NDI in OBS. I have installed the latest version of OBS from the official GitHub repository, but the NDI functionality does not appear to be working as expected.

https://github.com/obsproject/obs-studio/releases/download/32.0.4/OBS-Studio-32.0.4-Ubuntu-24.04-x86_64.deb

As part of the setup process, I needed to install DistroAV. I have attempted multiple installation methods, including the Flatpak package, deb package, and compiling from source; however, none of these approaches were successful.

When installing via Flatpak, I consistently encounter the following error: “Error: Wrong size for extra data.”

When installing via the Debian package or by compiling from source, the installation completes without any reported errors. However, after installation, there are no visible NDI settings or options available within OBS.

This is the expected outcome after installation; however, the NDI settings and options are not appearing in OBS as anticipated.

https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v6_Linux.tar.gz

Thanks in advace.

You need to avoid Flatpak on this one, because it will only give headaches and no solutions.

The NDi plugin is not included by default because of licensing. To use it, you must install OBS as a .deb - which you have (Remove any flatpak's for OBS you also installed if you have not already).
Then download the Linux NDI SDK, right click and extract the tar.gz

Make sure you have all dependencies:

sudo apt update && sudo apt install -y build-essential cmake git pkg-config libobs-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev qtbase5-dev qtbase5-private-dev

Open a terminal in the extracted directory or Change Directory into it (Change the NDI folder name in this command to the name as it appears in your Downloads directory) :

~/Downloads/NDI_SDK_Linux_XX/

Then each command, one at a time:
git clone --recursive https://github.com/Palakis/obs-ndi.git

cd obs-ndi/obs-ndi

mkdir build && cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr -DNDI_SDK_DIR=~/Downloads/NDI_SDK_Linux_v5 ..

make -j$(nproc)

sudo make install

Hi Aravisian,

Thank you for the guidance; it is highly appreciated. However, after running the cmake command, I encountered the following error.

Based on research, the issue appeared to be resolved by installing libcurl4-openssl-dev. However, after installing the package and re-running cmake, a different error surfaced, this time related to DistroAV.

Huh boy... OBS upped from Qt5 to 6...

sudo apt remove qtbase5-dev qtbase5-private-dev

Sigh

sudo apt update && sudo apt install -y qt6-base-dev qt6-base-dev-tools qt6-tools-de qt6-tools-dev-tools

Sadly.... You must start over since the previous build is now contaminated...

rm -rf build

mkdir build

cd build

Then proceed to cmake...

The installation completed successfully; however, the NDI settings are still not appearing in OBS as expected.

Are you running Wayland? Zorin defaults to the display protocol of Wayland which means you can't stream. Logout, choose your username and a cog appears lower right. Click on it and select Zorin on xorg, afterwards enter your password to login.

hi @swarfendor437. i did use the xorg but still no NDI settings.

I used Brave A.I. search using Ubuntu 24.04 in search criteria as that is what Zorin 18 is a fork of and found:

" NDI plugin not working on Ubuntu 24.04 is a known issue affecting both DistroAV and Palakis' obs-ndi plugins, with multiple root causes identified in recent reports.

:wrench: Common Issues and Fixes

1. Missing H.264/H.265 Decoder (libavcodec.so.58 )

The most frequent cause of NDI decoding failure on Ubuntu 24.04 is the absence of the required libavcodec.so.58 library, which is needed by NDI 5 (used by Nimble Streamer and some NDI HX sources).

  • Solution : Manually build and install the missing library from FFmpeg:
sudo apt install build-essential nasm
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout n4.4.5
./configure --enable-shared --disable-static
make -j12
DESTDIR=staging make install
cd staging/usr/local/lib
sudo cp -v $(ls | grep '\.so.[0-9]*

After this, NDI H.264/H.265 streams should decode properly.

2. DistroAV Plugin Crashes on Source Selection

Users report instant crashes (segfaults) when selecting NDI HX sources (e.g., Android NDI HX cameras) in OBS 31.0.1 with DistroAV 6.0.0.

  • Cause : A known bug in DistroAV 6.0.0 on Ubuntu 24.04.
  • Workaround : Use DistroAV 5.0.1 or earlier, or wait for a patched release. Check the GitHub issue #1192 for updates and crash logs.

3. Plugin Not Detected in OBS

If the NDI source doesn't appear in the source list:

  • Ensure you installed both obs-ndi.so and libndi3 (from Palakis/obs-ndi releases).
  • Confirm the plugin is in the correct directory: /usr/lib/x86_64-linux-gnu/obs-plugins/ or /usr/lib/obs-plugins/ .
  • If using a custom OBS build, copy obs-ndi.so manually to the plugins folder.

:hammer_and_wrench: Recommended Steps

  1. Install missing FFmpeg decoder using the build script above.
  2. Use DistroAV 5.0.1 if stability is critical.
  3. Verify plugin location and ensure both .so and .deb files are installed.
  4. Check OBS logs for errors like NDI. Video decoder not found .

:white_check_mark: Note : Official NDI support on Linux is reverse-engineered (via Palakis/obs-ndi). NewTek does not provide native Linux NDI SDK. Always use the latest obs-ndi and DistroAV versions from GitHub.

AI-generated answer. Please verify critical facts."

Thanks for the insights, its just seems the library is not on the proper place. Below method works for me.

Step 1: Download and install the latest OBS Studio .deb package from the official GitHub repository. As of this writing, the current available version is 32.0.4.
https://github.com/obsproject/obs-studio/releases/download/32.0.4/OBS-Studio-32.0.4-Ubuntu-24.04-x86_64.deb

Step 2: Download and install the NDI SDK for Linux. As of this writing, the latest available version is NDI SDK v6.

wget https://raw.githubusercontent.com/DistroAV/DistroAV/refs/heads/master/CI/libndi-get.sh
chmod +x libndi-get.sh
./libndi-get.sh install

Additional Requirements for NDI to work on Linux:
sudo apt install avahi-daemon ffmpeg
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
sudo ufw allow 5353/udp
sudo ufw allow 5959:5969/tcp
sudo ufw allow 5959:5969/udp
sudo ufw allow 6960:6970/tcp
sudo ufw allow 6960:6970/udp
sudo ufw allow 7960:7970/tcp
sudo ufw allow 7960:7970/udp
sudo ufw allow 5960/tcp

Step 3: Download and install DistroAV for Linux. 6.1.1 as of time of writing
https://github.com/DistroAV/DistroAV/releases/download/6.1.1/distroav-6.1.1-x86_64-linux-gnu.deb

known issue: The library is not in the correct location. simply create a symbolic link.
sudo ln -s /usr/lib/x86_64-linux-gnu/obs-plugins/distroav.so /usr/local/lib/x86_64-linux-gnu/obs-plugins/distroav.so

reference: 1. Installation · DistroAV/DistroAV Wiki · GitHub

Additionally, I recently observed that GNOME Software now supports add-ons for Flatpak apps, making plugin installation more straightforward.

1 Like

I'd take a look at simplescreenrecorder. I prefer it because it uses ALSA.