Resource icon

obs-ndi - NewTek NDI™ integration into OBS Studio 4.10

Dumedo

New Member
Make sure all the audio settings in both Windows and OBS are the same (48khz, don't have too many filters that stress the CPU, etc).

Make sure both NDI are using the same Timing (Network or Source) and make sure both of your PC have the same Time as well.

Make sure any kind of extra streaming or recording on your Game PC isn't hitting the cap loads (95% on GPU for example) if they are, then record with the Hardware stuff like Quicksync or NVENC but on the lowest settings.

Trying Low Latency on your NDI is another option instead of normal (it's under the NDI Source) and make sure Hardware Acceleration is enabled if your budget PC supports it.
- Both pc and OBS are on same audio settings
- Both PC have the same time NDI timing is only on ndi sources so no NDI timing on gaming PC
- Game PC GPU is never over 95% and also CPU
- I'm already on low latency and also hardware acceleration is enabled.

I tested again OBS 28.1.2 with obs-ndi-4.10.0 plugin and both ndi-runtime-4.5.1-Windows and NDI runtime 5.5.2.0 because with 27.2.4 today I can't see any sources but now with 28.1.2 I got massive "skipped frames due to encoding lag", tested on both my PC (on streaming PC I just enabled the plugin to output and i got same skipped frame bla bla bla... )

1672792002321.png


Without OBS-ndi plugin enabled I got no skipped frames due to encoding

1672792100354.png


As you can see CPU usage is high with NDplugin enabled
 

Acey05

Member
I'm not sure I understand, anything sending data to another machine which involves audio, images, and such will always have a CPU or GPU cost.

It's kinda like uploading a video on Youtube, even if people claim it doesn't have a performance cost on your browser, it does, your PC needs to do work to send data in a format to another, it can't be free. NDI is the same, it requires work to send that data in some format to the other PC.

NDI however shouldn't be at 10%, maybe 2% at 720 and 5% at 1080? So I'm not sure what's going on there, unless Recording is involved as well or rescaling of videos.

The only thing I know is you require a much stronger PC if you plan on getting fancy, I don't use Webcams, Masks, Filters or Shaders, but every scene you have with extra effects will add to that cost, since OBS doesn't disable those effects, and they eat performance in the background (even idle videos).
 

Dumedo

New Member
I'm not sure I understand, anything sending data to another machine which involves audio, images, and such will always have a CPU or GPU cost.

It's kinda like uploading a video on Youtube, even if people claim it doesn't have a performance cost on your browser, it does, your PC needs to do work to send data in a format to another, it can't be free. NDI is the same, it requires work to send that data in some format to the other PC.

NDI however shouldn't be at 10%, maybe 2% at 720 and 5% at 1080? So I'm not sure what's going on there, unless Recording is involved as well or rescaling of videos.

The only thing I know is you require a much stronger PC if you plan on getting fancy, I don't use Webcams, Masks, Filters or Shaders, but every scene you have with extra effects will add to that cost, since OBS doesn't disable those effects, and they eat performance in the background (even idle videos).
Tnx for the answer. I'm well aware that there is a "cost" in CPU and GPU but the problem is not CPU or GPU related I know how to monitor CPU and GPU and I always check but this is not the case.

My specs are: Game PC is an i7-8700 32gb rtx3070, streaming PC is an i5-4570 16gb GTX1060. Audio desync come sometime after half an hour sometime after 1 hour and sometime I got no desync, I stream everytime the same game rFactor 2, nothing else.

If I stream from my GamePC I don't have any desyc so I think the problem is related to NDI plugin and this problem is present from 2021, if you read on github https://github.com/Palakis/obs-ndi/issues/691 someone pointed me to the right direction:
  • split your audio and video for each to have its own ndi source (streaming pc + gaming pc)
  • use "low latency Experimental mode"
And it worked, but sometimes I still got desync, and I was on OBS 27 at the time; I knew that OBS 28 did't had a working obs-ndi plugin but
last week I tried the new obs-ndi plugin with 28.1.2, and I got "skipped frames due encoding lag" on Gaming PC with obs-ndi plugin active.

Yesterday night I did a complete cleaning of OBS and NDI runtime on both PC. And after many restarts now I don't have "skipped frames due encoding lag", I haven't tested for the desync because I need at least a 2 hour streaming but I got bad sound quality and audio distortion, I know that there is a fix somewere here on the forum and I'm going to test it today.
 

Acey05

Member
I don't know what to say honestly to help, because no one wants to fix the issues for OBS / NDI currently, and that's kinda the nasty truth. You can fix it for a day or two, but problems will come back.

So you're kinda on your own to find out what your system will "tolerate", or should I say what kind of "quality" you personally will tolerate on your streams.

I did mention several times in the past that newer versions of OBS 27 were having the desync issues.
Neither OBS or NDI peeps wanted to fix it, even though it's literally there, as in just look up what was changed in OBS in version 27.1 or something and the later ones to see where the problem started, no one did.

I did mention that the new NDI Tools work, and I think version 4.6 was the best, but NDI removed them.
So we're still stuck on 4.5.1 Github Runtimes, and now there is the issue that NDI 5 Runtimes is also lost (or the outdated version is only backed?), while I think NDI Tools 5.0 have stutters issues. No one has backups or fixes for these.

I did mention that the best you can fix NDI with is by having intermittent "audio drops", as in every couple of minutes to hours, your audio will "skip" a couple of frames trying to resync.
It's annoying if you focus on it, but not really noticeable, and that's the best you can hope for. Nobody bothered using this information to trace back the "audio buffering issue", that I think only NDI 4.9.2 partially fixed.

I did mention a bug about having too many NDI specific outputs causing the Streaming PC for example to get taxed by OBS and disconnecting the PC's connection, while also potentially desyncing the whole audio by several seconds fully, no one cared.

I did mention also that the new OBS-NDI has "audio capture issues", as in you need to start a 3D software first (game for example) and THEN OBS afterwards, otherwise it will desync the audio on the outputs.
Most apparent with OBS and NDI on a second screen before starting a game (even VLC desyncs it), it could be related to Shader Caching or something, but no one bothered checking up on this issue since it's "visual" and not a "real" problem, whatever that means.

And just recently, as in today, I found out OBS stutters videos every couple of minutes to an hour with the latest NDI Plugin. I has some videos be completely desynced as a local recording.
Everyone is saying to use NDI 4.10.1, but it seems like no one noticed it's causes video buffering/latency issues for stressed GPU's, meaning unless you have 2 GPU Encoding chips (which only exists on high end GPU's) for example, even recording a video will have the same stutters and audio drops as in the stream, sometimes worse, just adding extra work for people to fix in a video editor.

The best part? Old OBS with 4.9 doesn't have this Local Recording issue with GPU videos at least, and I think 4.9.2 for OBS 28 also fixes this issue. Yet it seems like no one notices any of these issues or can do anything about it, so we're stuck with what we have, or with plenty of contradicting information.

I think if OBS gets another update that breaks the current 4.9.2 NDI Plugins, or introduces anymore issues with the NDI Tools, NDI will be pretty much dead at that point since it's barely works at this point.

At that point you will need to use the Teleport Plugin. It would be perfect if the Teleport Plugin could use QuickSync for example to do it's work, but sadly it needs to use about 10% of a CPU's power, which has it's own set of issues.
 
Just a general question on the development process here. It's been months since I heard any comment on an official new release of 5.0. I had read somewhere that development was "stuck" at some point and that they had given up. Knowing this community, I doubt that. But it would be helpful to get an official update of some sort. In particular, I'm curious whether NDI Output and and Dedicated NDI Output will have an option to Output NDI HX if there is capable hardware? Also will there be the ability to bind NDI Output to a particular interface or network?
 

Juspan

New Member
Just a general question on the development process here. It's been months since I heard any comment on an official new release of 5.0. I had read somewhere that development was "stuck" at some point and that they had given up. Knowing this community, I doubt that. But it would be helpful to get an official update of some sort. In particular, I'm curious whether NDI Output and and Dedicated NDI Output will have an option to Output NDI HX if there is capable hardware? Also will there be the ability to bind NDI Output to a particular interface or network?
This is what I wonder too. The developer has not commented anything.. It's starting to feel like this plugin is dead.
 

Jackdaw91

New Member
Just a general question on the development process here. It's been months since I heard any comment on an official new release of 5.0. I had read somewhere that development was "stuck" at some point and that they had given up. Knowing this community, I doubt that. But it would be helpful to get an official update of some sort. In particular, I'm curious whether NDI Output and and Dedicated NDI Output will have an option to Output NDI HX if there is capable hardware? Also will there be the ability to bind NDI Output to a particular interface or network?
 

Jackdaw91

New Member
I apologise for not having a clue about the protocol here and not really knowing what or where to post but hopefully I can help regarding the Newtek NDI integration issue. I too was having bother getting the NDI 5 Source to show up in OBS Studio 28.1.2 macos arm64.dmg. It's probably common knowledge by now but I found some tips on YouTube and they thankfully worked for me and I have it working now so I thought i'd pass them on in case someone finds them as lifesaving as I did. A huge thank you goes out to the guy who posted the instructions as they were invaluable to me.https://youtu.be/2AeaIPh0J9g
 

Oslo_O

New Member
I don't know if it could Help but here is my configuration thats seems to work on Windows without Robotic Voice:

Game PC:
  • NDI Tools 5.5.2.0

On Stream PC:
Everything is connected with CAT7 ethernet cables with a NETGEAR Switch ProSafe GS105E

I let you my NDI source conf in attachement (sorry it's in french)
Capture.PNG


It seems that sometimes i have some delay between Images abd sounds buti still don't know why.

IMPORTANT: when i tried the latest OBS-NDI plugin version, i had a robotic sound! Not with 4.9.2 version
 

pLy

New Member
I am also wondering, how I can route internal NDI Streams like from Resolume Arena back to OBS. I have no hope anymore that this project here will be supported in the near future for ARM Macs. Anyone has an Idea how to accomplish this? I'm willing to spend the money for a hardware solution.
 
Top