Coder Social home page Coder Social logo

Comments (32)

Gigosh avatar Gigosh commented on August 21, 2024 1

Ok so if I game capture from source OBS its woeful performance, lots of stutter and chugging sending 1080p downscaled from 1440p over the network.

The moment I use Display Capture its day and night difference better. Not sure if its a frame buffer + ndi encode performance issue but the moment its display capture its almost perfect.

from obs-ndi.

 avatar commented on August 21, 2024 1

Oh alright, i realize now that my router does not have gigabit speeds, both my computers do have gigabit speeds available on their motherboards! also i found your stream and checked your VOD and it looks great. silky smooth 60 fps, i'm happy to see that it's just me that's doing something wrong since i dont have the money to spend on a expensive capture card at the moment! Thanks for the help Helgaiden!

from obs-ndi.

gamespeaker avatar gamespeaker commented on August 21, 2024

NDI needs 1GB connections.

from obs-ndi.

Gigosh avatar Gigosh commented on August 21, 2024

Yep each PC is 1gbit connected

from obs-ndi.

 avatar commented on August 21, 2024

on my streaming pc i get like 1fps from the ndi source, through gigabit ethernet. But for some reason when using wifi on the stream pc it works fine.

from obs-ndi.

Gigosh avatar Gigosh commented on August 21, 2024

What brand is the stream PC's network card?

from obs-ndi.

 avatar commented on August 21, 2024

Killer e2400

from obs-ndi.

Gigosh avatar Gigosh commented on August 21, 2024

Killer nics have always been problematic. Both PC's are onboard Intels for me.

@gamespeaker The hardware acceleration side enabled GPU from source to encode instead of CPU?

from obs-ndi.

Roxasnovaliches avatar Roxasnovaliches commented on August 21, 2024

I can also reproduce this bug with my 2 pc setup.

from obs-ndi.

Farmagud avatar Farmagud commented on August 21, 2024

Same issue with my setup. Gaming PC has a Ryzen 1700x and a GTX 1080 while my streaming PC has a i7 2600 and a GT 1030. Performance is much better using Display capture rather than game capture, but it’s still not perfect.

The stream will start out smooth but quickly deteriorate into a stuttering mess in less than 10 minutes.

Both PCs are hooked up to a Gigabit LAN switch with CAT6 cables.

edited

from obs-ndi.

Farmagud avatar Farmagud commented on August 21, 2024

Just tried again, XSplit seems to work fine when sending a game capture over to OBS on the encoding PC. Might be an issue with OBS's capture method.

from obs-ndi.

Palakis avatar Palakis commented on August 21, 2024

Do I need to perhaps have dedicated PCIE gigabit nics and crossover between them? Also is there a way to fix the bandwidth?

Dedicated GigE NICs are necessary only with more than two NDI streams in one direction. Using a crossover cable between the two computers isn't of much help here, except if you want to reuse the switch for something else.
Speaking of switches, make sure the Ethernet switch linking the two computers is a Gigabit Ethernet switch, and that the two computers show a Gigabit link (seen either in Windows or on the switch's status LEDs)

What does the hardware acceleration actually do, use the source or destination GPU?

It applies to the NDI receiver in OBS, so the destination GPU is used.

@Gigosh

The moment I use Display Capture its day and night difference better. Not sure if its a frame buffer + ndi encode performance issue but the moment its display capture its almost perfect.

Maybe an issue with video or audio frame timestamps. Does the OBS logs show messages like "added x ms of audio buffering"?

@Roxasnovaliches

I can also reproduce this bug with my 2 pc setup

Can you also reproduce the workaround discovered by @Gigosh?

from obs-ndi.

Gigosh avatar Gigosh commented on August 21, 2024

@Palakis Everything is gigabit, nic to switch. What I have noticed is if I drop my graphics settings the stream becomes very smooth. I think its got to do with the preview rendering on gaming PC needing GPU. I have a 1080ti but the moment I cap game framerate or drop quality to give it some breathing room it becomes smooth. Usually GPU is 99% usage trying to achieve the highest framerate.

I have confirmed this by running 1440p 60fps video on main pc with display capture and the stream PC is perfect. Its OBS rendering with not enough GPU I'm assuming.

from obs-ndi.

Palakis avatar Palakis commented on August 21, 2024

I released 4.1.3 minutes ago. It fixes some timing/sync issues, so you may be interested in trying this latest release.

from obs-ndi.

Palakis avatar Palakis commented on August 21, 2024

I repeat to everybody who had this issue with obs-ndi: please try the latest release, as it fixes an important timecode problem.

from obs-ndi.

Daner01 avatar Daner01 commented on August 21, 2024

I'm also having this issue but using the workaround @Gigosh didnt fix the issue for me. I have found that if OBS is no longer in focus it will degrade the performance down to 30-40 FPS but the moment OBS is back in focus it will jump back to smooth 60 FPS on the source PC. Source PC is a I7 7700k Asus Strix 1080TI also check that it does have a 1 GB to my stream PC that is I7 3770k Nvidia 960.

Edit: This was with the new OBS-NDI plugin. I just started to use this program recently

from obs-ndi.

BadsStar avatar BadsStar commented on August 21, 2024

I repeat to everybody who had this issue with obs-ndi: please try the latest release, as it fixes an important timecode problem.

I've been using 4.1.3 since release and it seems to have fixed my issue!

2 PC setup - 4.1.3 NDI OBS Plugin - 60 FPS Footage

from obs-ndi.

wazerstar avatar wazerstar commented on August 21, 2024

There's some serious issues still, example running a game capture on this map in CSGO and when the "grey" color starts from smokes, it stutters like mad almost like the recording stops for a few seconds and then gets back into recording.

https://steamcommunity.com/sharedfiles/filedetails/?id=500334237

Using display capture vs game capture is night and day for me too

Capture Streaming PC
Ryzen 1700x
with 3600mhz ram cl14

Main PC
8700k @ 5ghz.
16gb ram

Both machines have m.2 960 ssds and are using cat6 and have full 1gbit speed to each other.

Latest OBS and ndi plugin and ndi installer 4.1.3

from obs-ndi.

koeniig2 avatar koeniig2 commented on August 21, 2024

any solutions?? i got the same problem, it stutter every few seconds. CPU is on 45 % and PCs running good. its something with the network

from obs-ndi.

Palakis avatar Palakis commented on August 21, 2024

Can't remember where, but I remember talking with somebody about disabling TCP congestion control (NDI uses TCP) on the system.

from obs-ndi.

Helgaiden avatar Helgaiden commented on August 21, 2024

@Palakis
I remember reading that one.
Command prompt with admin privleges then type
Netsh int tcp reset

That or it's netsh int in reset. Or both. I don't remember. Easy and quick though.

from obs-ndi.

 avatar commented on August 21, 2024

Hey everyone, did you guys manage to get the stuttering fixed? I've been trying stuff myself but have not managed to get it to be smooth 60 FPS.

from obs-ndi.

Helgaiden avatar Helgaiden commented on August 21, 2024

i''ve been using NDI thru OBS for months. Never had stuttering issues but i also ensured that my connections on both PCs (and the switch) are gigabit 10/100/1000. Most of the time people have had issues, its because one or both computers weren't on gigabit, or they thought it would be fine over WiFi. I would check that, do the command prompt commands in my previous message above this one, and go from there.

from obs-ndi.

 avatar commented on August 21, 2024

That's interesting, when i run the prompt command you posted previously i get the text "Reset of all TCP parameters OK! Ok." that's it.

Maybe i'm not on a gigabit connection then. When i open the Ethernet status it says speed "100.0 Mbps" would i be required to have "1 Gbps" there?

from obs-ndi.

Helgaiden avatar Helgaiden commented on August 21, 2024

Your command operation worked. However yes, where it says "100.0 Mbps" it should say "1 Gbps." That is probably the source of your issue. Check your computer's ethernet port to see if its fast ethernet (10/100) or gigabit, and also check the 2nd computer for same, and check that your router/switch's ports you're connected to are also Gigabit capable. You can lookup the model of the router/switch to find that info.

from obs-ndi.

Helgaiden avatar Helgaiden commented on August 21, 2024

Happy to help. Glad you found the stream and you liked it.

from obs-ndi.

Palakis avatar Palakis commented on August 21, 2024

Quality is amazing, its just not smooth. Juddery at times, then its super smooth for a few seconds then it stutters and I can see the bandwidth vary (I'm assuming depending on scene complexity).

I had a similar issue three weeks ago during a live show, sending 2x NDI streams from vMix Desktop Capture to one OBS. Didn't much more debugging then, but I guess it was a bandwidth issue.

Do I need to perhaps have dedicated PCIE gigabit nics and crossover between them?

No, no need for dedicated NICs or crossover cable. Just make sure the network (NICs + switches + cables) is fully Gigabit Ethernet-capable.
Also make sure the Gigabit switch detects connected NICs and cables as Gigabit Ethernet, and doesn't downgrade any link to 100 Mbit/s in case of a defective cable or NIC. This can be easily checked with the blinking lights color of each port (generally orange for 100 Mbit/s and green for 1000 Mbit/s, but check your switch's manual for correct colors).

Also is there a way to fix the bandwidth?

Have a look at this: #59
Looks like the installer of the NDI runtime changes a setting that reduces available bandwidth on Windows.

What does the hardware acceleration actually do, use the source or destination GPU?

It's hardware-accelerated decoding, so it uses the destination GPU.

Sorry for the ton of questions.

I'm here to help! πŸ˜„

from obs-ndi.

sorenhoyer avatar sorenhoyer commented on August 21, 2024

@Palakis it's still not clear to me, whether chosing "allow hardware acceleration" will impact image quality?

from obs-ndi.

PizzaPeter1998 avatar PizzaPeter1998 commented on August 21, 2024

@Helgaiden I had the same issue not long ago however I sorted it out by distributing my resources effectively throughout both PC's which then allowed me to stream at 900p @60fps as the issue occurred due to lagged frames which then reflect upon your streaming.

One thing you have to take into consideration is that OBS uses your GPU no matter what as this is how the software is built in order to capture and render the scenes which then takes the information of your output resolution as well as your FPS using your GPU to send it to the encoder or over NDI.

The common solutions for this is to lower your games GPU usage by using FPS limiters, lowering GPU based details or enabling V-Sync.

Unfortunately lagged frames and other issues around it are not caused 100% by GPU usage but the issues can also be inherent issues for example Windows 10, Nvidia or AMD that unfortunately does not split the usage and resources effectively which means that in some cases it will provide priority of the game over OBS which will take resources away from it in which it needs as OBS is quite demanding, its pretty much hit and miss as one user with a 1080ti will lag frames and another user with a 1080ti might not it doesn't really make sense.

I hope this helps!

from obs-ndi.

WreckedMech avatar WreckedMech commented on August 21, 2024

So I made a bit of a discovery regarding those lost frames.

In a two system setup I was getting major frame drops on the incoming NDI connection. The OBS monitor on the giving side appeared smooth, but the receiving OBS was far from it. The odd solution was to Minimize a browser window i had set to monitor my Twitch broadcast. Not Close, just Minimize, although i bet closing works too.

My advice if your having the OBS-NDI frame loss issue is to go through your windows and minimize them until you locate the one causing the stutter by being active.

from obs-ndi.

TheOnlyTwiTchR6 avatar TheOnlyTwiTchR6 commented on August 21, 2024

It took me 3 second to realize my ndi stream stuttering was due to high gpu usage, every time I hit 100% usage (like it should be for high refresh rate gaming) my stream PC stutters like crazy. The second I add vsync with a low frame cap, or lower detail until my cpu because message the bottleneck then it'll be a smooth 60fps stream.

Other than enabling a frame cap, is there a way to limit gpu usage to around 90% while using ndi, or set the PC to prioritize ndi usage over the game so the stuttering issue can get fixed?

I'm using both the newest version of obs, and ndi

from obs-ndi.

Helgaiden avatar Helgaiden commented on August 21, 2024

@TheOnlyTwiTchR6 Depending on your game, especially a game like Apex Legends, Blacks Ops 4 Blackout, and i think Forza Horizon 4 amongst others, the way the game works is that it demands everything from the GPU leaving nothing left for OBS to render itself to run at 60fps. This has nothing to do with NDI and everything to do with the way Windows 10 interacts with OBS Studio. There are a few solutions to maintain stream smoothness with games coded this way. I know because i've encountered the same issues with my 144hz screen the above stated games.

  1. Lower your game settings enough that OBS FPS output smooths out. If just lowering your game settings doesn't fix this, then you have to start lowering your refresh rate and turn V-Sync on in the games you're playing. This will ensure enough GPU resources are leftover for OBS to operate properly.

  2. Use a capture card.

Here is more information on your issue.

https://www.youtube.com/watch?v=OyjeJVwKoq0

from obs-ndi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.