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.
But since I am not familiar with NDI, let me share some points here
We don’t have any NDI supported case on jetson in either hardware or software. This seems quite new.
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.
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
@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!