NDI Inputs issue

I bring to your attention a serious problem on the handling of NDI signals in input through the NDIIN operator.

After the six sources, all operators become unmanageable with lag and blocks (TD release 2021) despite the server being equipped with a 10GB fiber ethernet card, i7 10700k, 2 x GTX2080TI, 64 GB Ram, 2 x NVME Samsung 980 PRO.

The same server with VMIX and 20 NDI sources presents no problem.

We are trying to bring TouchDesigner back to hybrid digital event management, but you need to make an effort to improve the handling of inputs including NDI and BlackMagic cards (it is really indecent to have to see TD blocked for 3/5 seconds every time an input is activated. of a DeckLink 8k PRO)

Thank you.

1 Like

Thanks for the report, we’ve logged the issue and will be in touch.

Can you tell me what the resolution and FPS of the NDI sources you are testing is?

I tried to set the NDIIN operator in both native (input pixel format) and half resolution, even setting the clients to 720p the result does not change.
It seems that for the first 2/3 minutes everything is fine, then the lag and frame drops begin.

Changing the NDI In TOP wouldn’t effect this, except for potentially the ‘low bandwidth’ mode. Changing the resolution/pixel format only effects the data after it’s already been uploaded to the GPU, so it’s still using full bandwidth over the NDI transmission. Changing the source to 720p resulting in the same performance is a good hint though.

Improving the blackmagic stall is also something I’ve recently through about improving too, so I’ll be looking at that too.

Actually, can you clarify: What resolutions are the sources sending? And at what FPS

I just had the same issue with Unreal Engine NDI Output to Touchdesigner NDI In, with a 3840x2160px resolution. However the NDI Signal was perfect when I sent it to OBS, but i Touchdesigner it was severely laggy. Using the latest experimental Touchdesigner from 25th February on a Workstation PC with an RTX 3080 and Intel 10900K

I’ll take a closer look at this. When you say laggy do you mean the video was choppy, or was it really far behind what was happening on the source? If it was far behind, was the content smooth at least?

Hey @v.rtx_void

I just gave it a try and so far I cannot reproduce.

Using the NewTek sample projects, I sent from UE4.26.2, to TouchDesigner, at 4k @ 60, over the network.

On TouchDesigner receiving end, everything was close to perfect with no missed frames and the queue size slighlty increasing by 1 or 2 frames once in a while, which is to be expected. Other than that, nothing like you describe.

When you were sending from Unreal to TD, was it being sent between 2 machines over the network, or just as a mean to share Unreal content to a local TD process?

What version of Unreal did you use ? What version of the NDI SDK did you use ? Was the NDI Plugin for Unreal compiled from Source ?

Thanks,
Michel

1 Like

Hi Michel,

I am using the Offworld Suite for all my Syphon/NDI distribution since I really like their straightforward approach, but I have yet to try the native NDI plugin. Unfortunately there is no NDI plugin released for the 4.27.2 version yet, but maybe compiling will do the trick. I will keep you updated :slight_smile:

I’ve read on Unreal forums that compiling the plugin from Source was mostly doing the trick.

I’d believe Offworld is just wrapping the official NDI Plugin, and compiling it themselves for later versions.

1 Like

Allright, I figured out what the issue was: I was using an older version of the NDI Runtime. Now that I have updated to the newest version (5) it works better. It has its limitations still, like textures that are bigger than 2K resolution still have some hickups, but it works well up to 2K on my RTX 3090 :slight_smile:

After a little more testing a very weird issue is occuring:

Whenever I start the Unreal Project in the UE runtime, the Touchdesigner feed stops sending the NDI stream, but when I click inside the network editor it starts cooking again:

My setup:

Touchdesigner Version: 2022.21460
Unreal Engine Version: Version: 5.0.0-19505902+++UE5+Release-5.0
NDI Runtime Version: 5.1.2.0
Windows Version: Windows 11 Pro 10.0.22000 Build 22000
CPU: Intel i9-10900K 10 Core (5Ghz Boost)
GPU: Nvidia RTX 3090 24GB VRAM on 512.15 DCH driver
Memory: 128GB DDR4 @ 3200

Is it using the Off World plugin in UE5?

Yes, I have also contcted their developers via discord, gonna check the native NDI pipeline this week though

I think they had said that the plugin couldn’t get packed in release builds because of a bug with UE5 @v.rtx_void

Edit: Nevermind, I see your UE is still in Editor

that’s true, but this should actually not affect the viewport rendering, since I did not package the project yet

I can’t reproduce anything similar so far from TD to TD.

It wouldn’t be any different IMHO than:

  • Opening / closing the sender → The receiver picks up right away
  • Opening / closing the receiver → The sender is still sending and the receiver picks up right away

Can’t exactly tell what you do in that gif / if they are any specific settings. But no issue were encountered sending 4k RGBA @ 60fps from TD to TD.


1 Like

Thanks, this really helps!

I will forward this and see what happens, also first time for me to see that kind of behaviour in Touch with NDI…

Is TD dropping frames at all when you have UE running in the foreground and when it seems TD is not sending NDI anymore ? or even unresponsive?