Dual Mac OBS NDI Stutter/Lag Audio/Visual Issue

Hugo Hayes

New Member
Hey team,

I've hit a wall recently in my attempts to troubleshoot this problem. I'm getting really weird and random audio and visual glitches every now and then, no clear pattern or anything to them. Basically some of the visual stuff might freeze temporarily and other times it's audio that freezes and sounds like it skips ahead like half a second or something. Monitoring the output of OBS on computer 1 all is fine, no render/encoding lag, no network issues or dropped frames. Monitoring the output of computer 2 though, these glitches appear yet no render/encoding lag, no network issues or dropped frames. It occurs when there's no streaming or recording, and also when it's streaming or recording.

I think it must be an OBS-NDI issue because I can run everything from either computer on it's own fine, no issues, but something is happening between the 2. Additional reasoning for this being the case is that anything that I do on the streaming computer doesn't suffer from glitches, including camera and other audio.

I'm running a dual set up, both Mac (not recommended I know and details on them below) but neither appear to be struggling with the load I'm putting on (all CPU, GPU, RAM fine). The connection between the 2 is a gigabit connection, I can observe it typically sitting between 10-20MBps mark and the issue doesn't appear to occur when there's any real sort of change in speed between them.

I've tried playing around with the settings in the latency mode and sync. I created entirely new scene collections and started fresh, no change. I tried going back a version of OBS-NDI to 4.8.0, same issue... I had heard about some new Apple bullshit about file transfer protocols and 'signing', more specifically with SMB, so I turned off 'signing' as that was a known issue for that protocol in the hope that it might somehow help, but nope... I also tried NDI Tools Access Manager and turning the receive mode from Auto to UDP as was suggested in one of the many posts I read, and also tried turning switching on Multicast Sending Enabled and putting in the Multicast IP and Mask - nothing! So I'm lost!

I've added the log files of a streams/recordings I did for both computers with both versions of NDI (outgoing computer is the laptop).

I've also added some video's to highlight the audio issue mostly, but I believe the second video has some of the visual stuff with the frequency analyzer I used. You'll have to follow the link here and select the file as I can't seem to upload (Google Drive - Videos/Files) and you should see me hating technology as well.
4.8.0 Video has obvious example at 0.04, 0.14 and probably others.
4.9.0 Video has obvious example at 0.04, 0.06, 0.10, 0.16 (probably the most consistent type this glitch) and then video glitch is obvious at 1.28.

Any help would be masssssively appreciated!

Setup
Computer 1 - Desktop (This uses NDI to go to Laptop)
Mac Pro 5,1 (2012)
OS 10.14.6 Mojave
2 x 2.4 GHz 6-core Intel Xeon
16gb 1333MHz DDR3
500SSD
Radeon RX580 8gb
OBS 25.0.8
OBS-NDI (did try 4.8.0 as well)
OBS-NDI Runtime 4.5.1 from Apr 1 (I think this is correct? It says NDI SDK APPLE Apr 1 2020 4.5.1)

Computer 2 - Laptop (This is the streaming computer)
Macbook Pro 16-inch (2019)
OS 10.5.6 Catalina
2.6GHz 6-Core Intel Core i7
16gb 2667 MHz DDR4
Intel UHD Graphics 630 1536MB
OBS 25.0.8
OBS-NDI 4.9.0 (did try 4.8.0 as well)
OBS-NDI Runtime 4.5.1 from Apr 1
Sony a5100 into an Elgato HD60 S
 

Attachments

Hugo Hayes

New Member
Alright so had some other ideas to test things.
  1. I used the NDI Monitor on the streaming computer to just see the pure signal from the desktops OBS-NDI send, was finding the glitches still.
  2. I tried reversing the NDI send (ie change the desktop to be the monitor of the NDI send from the laptop's send) and interestingly it was "clean", no glitching that I noticed.
  3. So I went back to the original set up, simplified again like crazy so that now I have 3 separate NDI's being sent across (1 audio only), 2 window captures. I also added the camera using OBS link to see if that for some weird reason might play into it... And no glitches now?
It's really weird because the setup I have been using that has developed the issues only had 3 NDI sends out, so maybe I've over done the amount of times I opened each NDI across the different scenes?
 

huedoku

New Member
This is way over my head, but in my interest zone. I wish I could help. What cable/ports are you using to connect the two computers?
 

Hugo Hayes

New Member
This is way over my head, but in my interest zone. I wish I could help. What cable/ports are you using to connect the two computers?
Any and all feedback/ideas are super welcome! haha who knows, maybe I just blanked over something super obvious.

The computers are linked via ethernet (CAT6A) with a gigabit switch in between. I've also tried direct connection between the 2, same issue.
 

Hugo Hayes

New Member
Alright so completely remade the stream setup in both computers and ran a stream last night with what appeared to be minimal issues (though I wasn't monitoring the output and can only find a handful of instances easily when watching the stream back of some of the visual streams freezing slightly).

I put each NDI source in the streaming computer into its own scene, only using that source 1 across all scenes. If I wanted the source in another section I'd add the scene. I've attached the log files for both computers from that stream incase that helps anyone potentially identify the exact issue.

But yeah, at this stage I'm assuming that the issue is purely overuse of the same NDI sources across scenes (even though doing this doesn't appear to increase network load) and doesn't appear that either of my computers are having problems with the processing that is being done... If anyone has any insight into this issue I'd greatly appreciate it as at least knowing if I'm actually correct or not would help me move forward... Having something that kinda works better but you're not 100% if you're correct as to why, doesn't settle the nerves so to speak.
 

Attachments

Hugo Hayes

New Member
Alright so completely remade the stream setup in both computers and ran a stream last night with what appeared to be minimal issues (though I wasn't monitoring the output and can only find a handful of instances easily when watching the stream back of some of the visual streams freezing slightly).

I put each NDI source in the streaming computer into its own scene, only using that source 1 across all scenes. If I wanted the source in another section I'd add the scene. I've attached the log files for both computers from that stream incase that helps anyone potentially identify the exact issue.

But yeah, at this stage I'm assuming that the issue is purely overuse of the same NDI sources across scenes (even though doing this doesn't appear to increase network load) and doesn't appear that either of my computers are having problems with the processing that is being done... If anyone has any insight into this issue I'd greatly appreciate it as at least knowing if I'm actually correct or not would help me move forward... Having something that kinda works better but you're not 100% if you're correct as to why, doesn't settle the nerves so to speak.
The log for the laptop/streaming computer was too large so had to separate it...
 

Attachments

SS2020

New Member
I’m having the same issues on a single computer - a custom Mac Pro with an i9 9900k processor, 64gb RAM and AMD Radeon VII graphics card . No real issues with RAM and CPU (both under 30% usage with all applications open) but the NDI source I am tracking (video output from resolume arena) is delayed with my audio from another scene (audio from ableton live). It must be an issue with the NDI drivers and references within each scene. I’ve tried this when just recording and it’s the same issue. The only temporary solution is to create a display capture of the output from the NDI source I am streaming to another monitor. This fixes the video and audio lag but even with this option I get some lag/choppy videos/dropped frames on the recordings. I wonder if it could also be that the AMD GPU encoders are not yet available for Mac. I understand how this could be frustrating because I returned a fully stocked 2020 16” MacBook Pro for similar reasons and built this computer in exchange. I’ll ping you if I find a solution soon.
 

Hugo Hayes

New Member
I’m having the same issues on a single computer - a custom Mac Pro with an i9 9900k processor, 64gb RAM and AMD Radeon VII graphics card . No real issues with RAM and CPU (both under 30% usage with all applications open) but the NDI source I am tracking (video output from resolume arena) is delayed with my audio from another scene (audio from ableton live). It must be an issue with the NDI drivers and references within each scene. I’ve tried this when just recording and it’s the same issue. The only temporary solution is to create a display capture of the output from the NDI source I am streaming to another monitor. This fixes the video and audio lag but even with this option I get some lag/choppy videos/dropped frames on the recordings. I wonder if it could also be that the AMD GPU encoders are not yet available for Mac. I understand how this could be frustrating because I returned a fully stocked 2020 16” MacBook Pro for similar reasons and built this computer in exchange. I’ll ping you if I find a solution soon.
Hey boss,

Thanks for chipping in! Sucks that you're having a similar issue. If it's a single computer issue are you sure it's an OBS-NDI problem?

I had what sounds like a similar issue to you (lag and glitches) when I was trying to achieve music production and streaming off my single desktop computer and similarly, there wasn't any obvious signs of stress on the computer... Lots of testing, theorising and research later I cleared most of it up by changing the buffer size in the audio settings of Cubase, which I totally didn't expect to work. I think the issue was "Real-Time Performance" as outlined in this video (https://www.youtube.com/watch?v=GUsLLEkswzE) and cranking the buffer size enabled both OBS's visual processing and Cubase to perform pretty well side by side...

Could be completely wrong here as I'm no tech wiz, but did seem to work for me!
 
Top