Hey everyone - long time no see! Sorry for the long-read here, but I don't really know where else to go and I feel like the complete story is needed to help troubleshoot. Also, I can PM links to some clips of the things discussed below happening, but I'm not including them in the OP because I'm not here to advertise... I just want help to fix this issue!
I come to you today with an issue that I really don't know how to troubleshoot at this point. I have a few ideas of things I could try (new hardware, etc.), but the issue itself is stressing me out and I do not currently have a lot of "streamer resources" that I can depend on for help here. I've been working on computers since I was a teen in the 90's and networking has never really "clicked" like taking apart a computer and putting it back together does for me. I feel this issue is networking-related, or at least the issues I'm facing are producing network-related problems for me, but I am not really sure how I can narrow it down from here.
Basically, I started streaming to Twitch through the GeForce Experience Overlay on my main gaming rig (details below) back around the end of February 2020. After a few broadcasts that month, I started tinkering with things and figured I'd try SLOBS (StreamLabs OBS) - got a few overlays, hooked up a DSLR camera, got a nice XLR mic and USB mixer and plug it into my Gaming Desktop, and figured out how to install and setup NDI through OBS on my gaming rig over to a "Lenovo Laptop" (details below) that ran SLOBS. I went from a one-click-type setup using a single-PC, to using OBS with NDI on my Gaming Desktop only sending an NDI GAME CAPTURE to my streaming-laptop that then adds the DSLR, overlays, I run my music and whatnot through the laptop, etc.... I like the dual-PC setup because it just makes things easier, allows fewer resources to be used on the gaming-rig, and I'm sure there's a host of other reasons but... Keep in mind that everything I own is connected via hardwire connections, that are GB. I have an Asus RT-N66R GB router that the streaming laptop and gaming desktop are both hardwired into.
Things were going great, until recently...
The game I've been playing/streaming, Escape from Tarkov, (which is also a sandbox game that's still in BETA and being updated REGULARLY - one of the more recent updates included switching to a newer version of UNITY) has started giving me a "bad experience". I will connect to some "raids" (matches) and my ping will be around the 250ms mark. This wouldn't normally be an issue, but a few months ago they implemented an auto-kick feature for anyone with a ping over 180ms. So, after running around for a few minutes, I will start getting kicked, be forced to reconnect, and go through this whole process until I reach the extraction point and I'm hopefully able to extract - most of the time, I die while trying to reconnect to AI or players that "happen upon" my lifeless/lagged out body.
During this time, I have no dropped frames in OBS or SLOBS, and my network adapter usage is only around 10% on the gaming rig and only slightly higher on the laptop.
This happens for a few streams and it drives me crazy, until I figure out that CLOSING OBS on the Gaming Desktop (therefore stopping the NDI connection), makes the "ping issue" go away in the game! I have had windows open on the gaming desktop with a PING command going to 4.2.2.1 and/or 8.8.8.8 (both public DNS servers that will reply to ping), and there have been no fluctuations in ping to these servers throughout the entire time. The ping issue only seems to happen to certain Tarkov servers WHILE I've got OBS/NDI open.
"Ok, GREAT! Maybe it's a network issue" I think to myself... Even though Windows only shows 10% being used on either the gaming desktop OR the streaming laptop, maybe there's some weird issue with the NDI using more or something. I find an old GB switch that I had laying around and connect the other network card this SWEET EVGA Z370 Classy motherboard has and wire everything up to the router...
Well, that reduced the load on the single network interface, but I get some pretty weird "lag" now. When I am in-game on the gaming desktop and have OBS open with NDI streaming to the laptop, and I just "run around in the game" and look at the laptop screen, IE: "what would be broadcast to Twitch if I were to go live", it's INCREDIBLY stuttery. Talking, a frame will update every so often... It will run smoothly for a full second, then stutter again for a second or two, a frame will update. etc.
OK, I try a few other things and end up closing SLOBS on the streaming laptop and opening "regular OBS", and the game "appears" to run smoothly on the streaming laptop.
I run many tests and find there's some SIGNIFICANT lag as far as my audio goes using this new OBS / dual-network-card NDI setup. Like 650ms~ lag-time between me my mouth moving on camera and my voice coming out of the speakers.... This has NEVER been an issue until now, though I have read some people have had to deal with stuff like this... I adjust some things and finally get a few tests to run smooth and I run a stream last night.
Things went fairly well most of the way through, though I feel there is "significantly more that can go wrong now" with all of the delays and whatnot that are setup. towards the end of my 3~ish hour stream, I start noticing the "lag thing" happening again on my streaming laptop - IE - it looks like my game is lagging pretty bad on the streaming laptop's OBS, but things look fine on my gaming desktop's OBS. I ended up having some "ping issues" with the last two or three servers I tried to play on and kept getting kicked. I tried to close OBS on the gaming desktop, but the ping issue on the Tarkov server was still there.
I'm not really sure what is going on here with this stuff, or how else to troubleshoot it. Things worked so great at first, and now I've got all of these lag issues. I am assuming something like a capture card would completely eliminate these types of problems, but I don't want to invest a bunch of money into a stream that is so young, especially when things worked SO GREAT at first!
On top of all of these issues, I was playing DCS World last Thursday and got a BSoD in Windows 10. It was a weird one, but whatever I just quit playing, shut the computer down when it rebooted, and went to bed. When I got up and turned the PC back on, it BSoD'ed on me a few more times before it suggested I "reinstall Windows", which I did and things went great right up until I went to install the EVGA GTX 1070 Driver that I had downloaded from the EVGA website, when I got another blue screen. It was right at the point where your screen "flashes" during the driver install, and the BSoD was "SYSTEM_THREAD_EXCEPTION_NOT_HANDLED at nvhda64v.sys". I called EVGA support after submitting a support ticket and spoke to someone there, I explained everything that had happened to them, and they ended up warrantying my card for me - new card will be here on Tuesday, and for now I've managed to get the BSoD's to stop by reducing the core clock and memory clock -200 in Precision.
I feel like this issue *could* be related to the Killer NIC cards that are installed, but am not sure.
Gaming Desktop:
Mainboard: EVGA Z370 Classified - (134-KS-E379)
CPU: Intel Core i7-9700K @ 100MHz Bus Speed @ 49X Multiplier (4.9GHz)
RAM: 32GB Corsair Vengeance Dual-Channel @ NB Freq. 3300MHz
Cooler: Corsair H150i PRO Closed-Loop Cooler (120mm X 360mm radiator)
Graphics: EVGA GeForce GTX 1070 Gaming ACX 3.0 (08G-P4-6171-KR)
PSU: EVGA 850PQ Modular PSU
Windows: 10 version 1909
Streaming Laptop:
Model: Lenovo P50
CPU: Intel Core i7-6820HQ @ 2.71GHz
RAM: 16GB
Graphics: nVidia Quadro M2000M
Windows: 10 version 1903 (Yes, it needs to be updated, not sure why it's not - just saw this TBH)
Stream Stuff:
Gaming Desktop Config:
OBS: 25.0.8 (64-bit)
Video: Base and Output are both 1920 X 1080 @ 30FPS
Output: (these settings don't seem to change anything with NDI...?) bitrate 7000Kbps, Encoder: Hardware (NVENC)
Process Priority: Normal (have tried High though)
Bind to IP: (tried to force this to a single network adapter to see if I could "force NDI" to only use on adapter while maybe the game used the other adapter - doesn't work as intended with NDI)
Enable network optimizations: checked, though I don't think it does anything with NDI
NDI Version Info: NDI SDK WIN64 03:41:34 May 20 2020 4.5.2.0
Streaming Laptop Config:
OBS: 25.0.8 (64-bit)
SLOBS: 0.22.3
Video: BASE: 1920 X 1080 / OUTPUT: 1280 X 720 / BICUBIC / 30FPS
Output (Simple): 2500Kbps / Encoder: Hardware (NVENC)
Process Priority: High
Enable network optimizations: unchecked - should I check on the laptop?
NDI Version Info: NDI SDK WIN64 06:20:19 Apr 1 2020 4.5.1.0 (Just noticed this isn't the same as the desktop - will try updating, but I assume this is because I reinstalled everything on the desktop two days ago with the Windows reinstall... The issue was happening prior to that Windows reinstall, so this *shouldn't* fix anything.)
Any ideas that I could try to fix this weird "stuttering" thing that's somehow also causing the issue with ping in Tarkov? I feel like if I could figure out what's causing that, I could go back to using SLOBS and that would "get around" me having all of these annoying audio-sync issues...
Thanks for any ideas that you guys have. I just don't know what to do... I think I've overthought it. Lol.
-D