DistroAV - Network Audio/Video in OBS-Studio using NDI® technology

DistroAV - Network Audio/Video in OBS-Studio using NDI® technology 6.1.1

Excellent work people despite some glitches. I Installed 4.10 plugin and 4.5.1 ndi runtime on my laptop (windows 10). The setup works perfectly if I add one or two ndi sources (mobile phones with ndi apps). When I add the third the video starts to stumble and if I add the forth OBS crashes. Oddly the video stumbling and OBS crash happens with GPU not more than 40% and CPU not more than 50% use.
Is there a limit in the number of ndi sources the OBS plugin can handle?
you aren't using WiFi, right?
Have you checked your network? can your switch handle the NDI traffic along with whatever else is already on the LAN? Any VLANs, routing, ACLs involved? etc... I'd suggest starting with network troubleshooting 101
 
Hello. Sorry for my english.

I have a lag of sound from the image. how to fix it guys? 0.5- 1,5 sek
win10 x64, obs28, obs27, obs29.

Not sure how much you can translate what I say back, but lets try.

Does the lag happen always or when a new starting game?

If always, then maybe a system problem? Cable, Internet, WiFi maybe? Try starting from beginning install and stuff and step by step bebug what the problem could be.

But, OBS has a "bug" with NDI, when starting a new game that changes graphic card use (2D Mode to 3D Mode, game that requires extra power). OBS will "refresh" itself and this adds a lag always to Audio and Video, I think audio and video are correct times, just everything lags by 1-2 seconds behind.

I don't know how much more complicated I can explain back with translation tools, but hopefully this brings you to the correct path?
 
Hey, you can fix it simply by opening up a Terminal on mac, and write this:

sudo cp "/Applications/NDI Video Monitor.app/Contents/Frameworks/libndi_advanced.dylib" "/usr/local/lib/libndi.4.dylib"
This should be posted at the very top of this thread .... Thank you!!!
 
I have an Intel Mac and installed obs-ndi-4.10.0-Qt6-macOS.pkg and NDI 4.5.1 macOS runtime. I then installed OBS 28.1.2
My HD60S Game Capture card is not findable as either an NDI Source or as a Video Capture Device in OBS 28.1.2 - Does anyone have insight about what the issue might be?
 
you aren't using WiFi, right?
Have you checked your network? can your switch handle the NDI traffic along with whatever else is already on the LAN? Any VLANs, routing, ACLs involved? etc... I'd suggest starting with network troubleshooting 101
Thanks for the reply. As I wrote at the beginning , I am using mobile phones on wifi. Indeed the quality of the netorking is important. I had very good results in experimental conditions in my office, but when deploing it on a volleyball court things became more difficult.
I managed to fix the crashing issue by using 4.10 plugin with the NDI 5 runtime. 4 streams connect without crashing OBS. But the quality is not acceptable (choppy video). I switched wifi to 5Gherz which doubled the bandwidth and things improved marginally.
Now I am trying to utilise the wired usb connection to achieve stable high quality video stream from my mi9 android mobile to OBS on my pc.

I have OBS working with 3 NDI video-audio streams from three phones with the connection made through WIFI hotspot (hot spot on xiaomi mi9, and the rest connected with wifi -mi8, pc, RealmeGTpro). Broad casting is made from MI9 through 4G connection. High quality streaming involves high bandwidth usage. I would like to reduce the traffic from the wifi hotspot and pass some of it through USB tethering since wired connection is more stable.


I have connected an MI9 xiaomi (miui 12.5, android 11) with a windows 10 pc trhough a USB cable. Internet sharing of the mobile 4G or WIFI connection seems to work perfectly.

With one exception. I am trying to stream NDI5 video (is IP based) from the mobile camera (Thallis camera) to the OBS (ndi 4.10 pluggin) on the win10 pc through the USB tethering.

The mobile camera is discoverable by the OBS on the pc and partial connection is acheived but only audio is trasnfered and not video.

During all tests internet sharing is perfect (traffic from the PC to android is perfect).

It seems as if video traffic, mobile to pc, is maybe blocked on the ndi connection port (5960-70).

Testing with an older mobile xiaomi mi8 lite , miui 12.03, Android 10) same setup, internet sharing perfect, and ndi audio and video stream perfect!!

Another test with a newer mobile, real me GT master (realme ui 3, android 12) resulted in identical results with the mi9 (video connection not working).

Another test replacing soft OBS with the NDI studio app of the NDI manufacturers had exactly the same results. Also replacing NDI streaming with SRT video stream (different protocol ports etc) worked perfectly.

My conclusion up to this is that after android 11 and beyond USB tethering setup is problematic as regards to NDI5 streaming.

Next I tested an external USB tethering app PDAnet+ on the mi9 phone. Streaming was working!! but the PC side client app caused serious problems on the networking, so I discarted this option, but it demonstrated that it is possible!

I would be gratefull if anyone had any idea why it is happening and if it can be solved. maybe a setting of USB tethering restrictions?

A secondary problem i discovered was that when MI9 and PC were connected through USB tethering, the PC could not discover at all NDi streams from mobiles connected to the MI9 wifi HOTSPOT , indicating somekind of lack of routing? (it is a fact that USB tethering sharing and hotspot sharing create different subnets).

Merry christmas people!!
Alex
 
Hello everyone, I use OBS Ndi on 2 Windows PCs. These are directly connected to each other via a network cable. The signal from the gaming PC also arrives at the Stream PC, but no picture/sound is played back. Does anyone have any ideas what else I could try?
Thanks and greetings from Germany
 
Unfortunately my laptop cannot be upgraded to win 11. So I did a test on a win 11 desktop pc. The USB tethering setup with ΜΙ9 worked perfectly and trasmitted NDI5 video succesfully!!!! But when I stopped the stream and started again I found the same problem with my laptop!! No video, only sound. As if the video after the first successful run, was marked for blocking!! It has not worked ever since even after reboot everything.

The usb tethering app PDAnet+ worked only the first time used. Any subsequent efforts failed.
Exactly the same with Tetrd app which employes a VPN. It worked perfectly the first time used , but afterwards failed.

So the fact that ndi5 video streaming through USB , was succesful the first time used but afterwards seems to be blocked (only video, not audio) was reproduced 3 times already!!!!!

It is related to android 11 and 12, not 10.

Hotspot wifi Tethering does not have any problems. NDI5 streaming is perfect. Therefore it is related exclusively to USB tethering

Video streaming over USB is perfect if i change NDI protocol to SRT!!
So it exclusively related to NDI video streaming and not video streaming in general.
 
Hello everyone, I use OBS Ndi on 2 Windows PCs. These are directly connected to each other via a network cable. The signal from the gaming PC also arrives at the Stream PC, but no picture/sound is played back. Does anyone have any ideas what else I could try?
Thanks and greetings from Germany
Connected to each other? I thought everyone was connecting through a router/switch, not directly to each other.
 
Connected to each other? I thought everyone was connecting through a router/switch, not directly to each other.
You can let it run over the router / switch or connect it directly to one another if you have a second network card. Everything worked fine until I changed my CPU.
 
Game PC is an i7-8700 32gb rtx3070, streaming PC is an i5-4570 16gb GTX1060, both on win10 and connected on a gigabit ethernet switch.
OBS NDI version 4.9 with OBS 27 has audio desynkc problems.
It start ok but after half an hour audio come late than video until it is 1 second or more later. Got few frame loss at the end of the streaming but 16 on 700000 I think it's irrelevant.
I did every test I found and the only way to make it work was split video and both mic and audio on their own layer. It worked for a few months but now I got desync as I said after half an our.

So I tryed latest OSB version 28 with the "obs-ndi 4.10.0 (OBS 28 Support)" but Streaming PC receive stuttering video from webcam and the streaming was without any audio, streaming pc correctly was receiving audio from gaming pc because audio levels bars where working properly. Also recording to hard disk was without audio. OBS got massive frame loss.

So I roll back to OBS-NDI 4.9 and OBS 27 but still got audio desync problems and I don't know how to fix it.
 
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.
 
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
 
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).
 
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.
 
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?
 
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.
 
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?
 
Back
Top