Preface this that I've got a technology day job but am completely new to video production/streaming.

I'm helping setup video streaming for the church I attend. NDI looks great and we've had some reasonable first tests, but I'm having a couple of issues and I'd like to find a way to resolve them so I can be more comfortable spending a fair bit of money on a permanent setup like a PTZ camera. Our current testing setup is using the NDI HX Camera app on an iPhone XS with a lightning ethernet adapter wired to a MacBook Pro (2018, 16GB RAM, 2.6GHz i7) running OBS 25 with the NDI plugin. We're also using the NDI Tools Scan Converter on a windows laptop that runs our presentation from the podium, so OBS is able to capture the presentation and video of the speaker and we can do PIP-style scenes where appropriate. Audio comes through our sound system to a USB capture device.

The problems we've seen is that there's a bit of periodic video stuttering and the audio is not easily synchronized to the video. The audio is the bigger problem right now as the delay value seems to drift around for factors unknown. For example during some testing, we arrived at 750ms delay which seemed to match the video perfectly. However, the next day when we were live streaming an actual service, it started at 900ms and then drifted around to 600ms, 700ms, 800ms. I had to make those changes during the stream, which introduces a brief audio glitch, not to mention it being hard to guess the right value. FWIW, we had also tested taking audio directly from the iPhone's NDI source but that was also delayed and/or unusably glitchy. That setup isn't a viable end-target anyway; we were just testing things.

In retrospect, I realized that we were streaming the highest quality from the iPhone but scaling it way down in OBS since we're only streaming 720p to Facebook. I can see how all that extra data would require additional processing to receive and scale down, so I'm going to test using one of the lower quality settings in the NDI HX Camera app. I'm dubious that would cause all of the issues though, given the hardware we're using. Further, OBS was only reporting 20% CPU usage and a couple hundred dropped frames throughout a 2 hour stream, so it didn't seem too taxed from those metrics.

Are these types of issues normal/expected? Is there anything else I should check or consider? Are there other setups (other software, USB camera, USB HDMI capture card) that would be more stable or consistent? We've got a team of volunteers so we can't need to constantly change the audio delay parameter, or even test it before every service. Can we get to a point where someone just starts the stream and flips scenes as needed, or is that unrealistic?

thanks for any help or guidance!
Jay