Jetson - Newtek NDI

Hi everybody,

I’m working on interactive audio-visual installations.
For that we need to use a lot of displays, scatterd iver the whole place.

Our solution for this is NDI, an network protocol to send HD video over ip to plenty of devices.

Currently we are using RPI4 to turn ndi back to hdmi.

I was wondering if there would be any software tool for Nvidia jetson.

Thx in advance.
Willem

Hi,

I am not sure about your usecase. What does RPI4 do to turn this NDI video?
It sounds like a high level protocol which should be compatible with same OS as your ubuntu.

Hi.

Newtek doens’t deliver a software for tis application.
They do provide the SDK

Some guys made based on this sdk a simple tool to decode ndi to hdmi.

Since newtek is planning to provide 4k video transmission. I would love to see this on a more powerfull single board computer like the jetson.

NDI is the future for video transmission by network, IP.
Definitely in the entertainment sector.

On this moment only hardware like this :NDI Decoder - Pro Convert for NDI to HDMI - Magewell
Is stable enough to be usee on professional base.

Hope you understand what i’m trying to say.
Willem

Hi,

Ok. I got what you want to try here.

But since I am not familiar with NDI, let me share some points here

  1. We don’t have any NDI supported case on jetson in either hardware or software. This seems quite new.

  2. However, if NDI SDK can work on ARM-based ubuntu device, then you can try to install them on jetson and see if it can work.

  3. To me, no matter what kind of protocol it is using, network data is not going to directly being decoded and rendered on a monitor (HDMI). If NDI says they can do that, it means their SDK provides some API to deal with that. Maybe their implementation is also based on some well-known ubuntu framework like DRM. We don’t know about that. That is why I said what you are talking about is “high-level protocol”. Most of other users here are dealing with openCV/ multimedia samples which still write their own data to a buffer, encoder and then send out to the destination.

Hey, adding that I’m also trying to get the NDI SDK running on a Jetson (I’ve used it a fair bit on Mac). It’s looking like the SDK for Linux only includes 32-bit ARM libraries – they don’t appear to have compiled for aarch64 / arm64, unfortunately. It should be possible to use by installing libc6:armhf on the system and/or other hacks to run 32-bit code on a 64-bit system, but it’s messy and hitting a wall on it, really not my area of expertise.

May try reaching out to newtek on their forum to ask if they can cross-compile for arm64; there was one question years ago with no answer. Probably simpler to use a different network video protocol, which is a shame because NDI usually works so well for us.

Second update. @willem.deschryver I did get the NDI examples running on a Jetson. You have to download the “advanced sdk for linux” from NDI SDK (Software Developer Kit). Within that package, there’s a lib/aarch64-newtek-linux-gnu/ dir with libs that work on the Nano. Steps that might help folks get started:

cd "~/src/NDI Advanced SDK for Linux"
export NDILIB=aarch64-newtek-linux-gnu
sudo cp lib/$NDILIB/* /usr/local/lib/
sudo ldconfig
cd examples/C++
make
NDIlib_Send_Video_Async/NDIlib_Send_Video_Async 
2 Likes

@willem.deschryver How did you use “RPI4 to turn NDI back to HDMI”?
How did you make a simple tool to decode NDI to HDMI?

I am trying to do the same thing on an RPI4B and just got a Jetson Nano 2GB to try the same.
I am curious how to decode NDI and render a video out HDMI on both.
This is just a personal project.

@glowland Thanks for the tip. ldconfig complained that the copied files were not symbolic links, so I made them symbolic links instead and then ldconfig and make worked fine!

Again, next step is now to learn how to decode NDI!

@WayneWWW
any update regaridng useability of NDI with jetsons?
Thanks
AV

1 Like

No, we have no plan to support this.

still no plan to support this?