r/streaming 11h ago

💬 Discussion Dual PC streaming with High Refresh Rate

Hi, so a little bit of a rant but also, geniune question(s) (bear with me it's a long one, sorry):

I recently decided to move from a single PC streaming setup (but with an egpu instead of my main GPU) to a dual PC setup (a minisForum UM790 pro with an egpu).

Little did I know, Windows' multi monitor support is complete ASS.

So understand my surprise when I didn't test the setup, and discover that my capture card source had an audio delay, and when experimenting, I was shocked to notice huge frame drops/stutters/rubberbanding.

(for a bit more context here's my setup:
Gaming PC:

  • Ryzen 7 9800X3D
  • RTX 3080 Ti FE
  • Displayport to my main monitor (Alienware AW2725DF at 1440p 359,98Hz (a whole number would be too simple, and it will come back to bite my ass...)
  • Displayport to HDMI cable outputs from the gaming PC and goes into the Elgato 4K S connected to my Streaming PC via USB C (USB4 port) (at 1440p 59,95Hz (not 60Hz because the signal becomes 2160p but downscales the desktop to 1440p and it's pretty ugly)

Streaming PC:

  • Minisforum UM790 Pro
  • Ryzen 9 7940HS / Radeon 780M (iGPU disabled)
  • RTX 2070 eGPU via Thunderbolt (USB4)
  • Elgato 4K X/S connected over USB4 (Tested an Avermedia Live Gamer Ultra S in USB 3.1, same problem)
  • HDMI to Displayport to my second monitor (ASUS VG27B 143,97Hz)
  • HDMI to Generic portable 1080p 60Hz monitor (portrait)

The gaming pc has a portable OBS instance (I called it OBShareAudio) that would, at first, only be dedicated to transmit audio from my pc to the streaming PC by capturing the default audio device and monitoring it to the elgato HDMI (didn't want to lose the audio control of my speakers and automatic swap to my headset when turning off said speakers, and to avoid the hassle of vb-cable/Voicemeeter) and only open when the streaming PC is ON and automatically change it's settings to always make the audio monitor device be the elgato HDMI (with scripts (just to be sure))

Then I tested OBS Teleport, I still got the stutters issue with monitor capture source, but not (that I noticed) with game capture, but:
1 the setup is not ideal as when enabling "capture full screen apps" it would not detect some games
2 the quality is really not ideal

Then I tried to use extended display mode instead of duplicate on the gaming PC, and transform the OBShareAudio into OBShare: I added a monitor capture source and project the preview to the second monitor (elgato), but to no avail, I still get those stutters...

And now, see me as I am, no longer pissed at the capture card, but Windows, because I now have the forbidden knowledge of how Windows' DWM works, it only syncs to one monitor refresh rate and so it has to drop frames for the second monitor, BUT OF COURSE it only works when the refresh rates are intergers(?), if my monitor was 360Hz and the capture card 60Hz it would be divided by 6 and because of some time clock sync harmonisation bs, it just goes into seizure...
(well, that's what I understood from what I've read)

So here's the questions:
Is there ANY solution to that, apart from switching to Linux, using some nvidiainspector tweaks that don't work or buying a 500!!$ HDMI downscaler? NDI maybee, but because of how OBS Teleport acted, I don't have any hopes...
And why Linux doesn't have this issue?(or have I dreamed that fact?)

(sorry for the whole book I wrote, I'm just fustrated...)

(edit: typos and more context)

0 Upvotes

10 comments sorted by

2

u/QTpopOfficial 11h ago

NDI maybee,

I mean. I used NDI as my solution for a while.

My "trick" to keep the audio delay from getting all wacky was using NDI tools.

Basically id setup OBS on the gaming pc with the basics. Game source, audio from that PC. Then disable preview.

Then on the second PC id use NDI tools to bring that stream in, audio and all and use that capture source for OBS as well. I also had audio sync issues using obs to obs. Like it would just drive the f off for some reason. It don't do that with the NDI tools thing.

The OBS setup on the main pc is literally nothing for resources and with your build its laughable on impact. It also just simplifies tons of shit imo.

I also will assume you're not trying to use wifi here.

1

u/Silails 11h ago

Thanks for the fast response!
No, I even have both PCs connected to a 2.5Gb ethernet switch ^^' but the thing is, i'm worried about the quality, (the visual degradation added from the NDI stream plus the visual degradation of the actual stream to the streaming platforms)

1

u/Silails 11h ago

(tbh, I know I'll probably go back to single PC streaming, but I really want this to work without cutting my Gaming PC monitor's refresh rate 😫)

2

u/QTpopOfficial 10h ago

Theres always solutions for that too!

But I think itll work out once you tinker. The audio drift was my biggest thing and when I swapped the way I was pulling the stream to ndi tools it just magically went away. Then it also gave me a cheater ass way to grab that window/output that I could actually use for other things outside of obs like tiktok live studio and such.

I straight up don't use the OBS side on the recording/encoding/whatever machine for NDI. 100% ndi tools and just normal capture options.

1

u/QTpopOfficial 11h ago

The setup I was using didn't seem to suffer any real degradation between the 2 PCs. Obviously you can't account for platform, but raw it was fine. Content that was being pushed was all fast paced. FPS games, music games with heaps of particle effects. etc.

NDI is variable or whatever with a huge cap.
https://en.wikipedia.org/wiki/Network_Device_Interface

Wouldn't stress it too much. :)

1

u/Silails 11h ago

Ok, thanks, I'll try that tomorrow !

2

u/DotBitGaming 10h ago

My speakers have a headphone jack. No software. No Windows. No drivers. They switch mechanically on their own. Maybe something like that could at least solve one of your problems.

1

u/Silails 4h ago

Mine too, but I already use the only headphone jack port on the streaming pc to send its audio to the headphones and the speakers with a Y splitter. But I think the audio problem is linked to the HDMI clock/timing/sync problem, so when(if) I resolve the video problem, the audio will follow (...I hope)

1

u/DotBitGaming 2h ago

Yeah. If everything was 1080px60, it'd probably all just fall into place. But I'm assuming you're playing some type of fps and trying to push as many frames as possible while sending perfectly timed frames to the Elgato. Which is also why you can't just listen to the streaming pc like a lot of people could. Instead of sounds being 1 or 2 frames behind, yours could be like 30 frames behind. You should be able to clamp down that 359.95 Hz bullshit in Nvidia control panel though. It sounds like it latched to a broadcast HD standard instead of a pc resolution for some reason. Or set it to custom and dictate whatever refresh rate you want. The dual obs thing is probably causing more problems than it's solving, tbh.

1

u/Due_Particular_7803 9h ago

Use the SRT protocol between the two machines, send your normal stream via SRT to the target machine running VLC to open the SRT stream. Add VLC as the source in your streaming OBS. All control remains in the gaming PC. This is more heavy in compute, but no audio bugs and can handle extreme network variance. Use the iGPU in the 9800x3d to encode the stream as with a dGPU it's not being used for anything else really anyways.