Elgato 4k60 pro destorying stream in OBS

jonno_44

New Member
Hi,

I'm trying to run a stream through OBS with my Elgato 4k60 Pro.

The problem I'm having is that when I use an NDI source in OBS (my Elgato), have my Elgato software open (can't close it otherwise it doesn't appear in OBS), and run my game using 4000GB VRAM, it lags. To the point where it won't even run 30 FPS, 4/5000 bit rate.

I am unsure whether this is a CPU, GPU or another problem. At the moment I run my streams through the screen capture in OBS at 48 PFS and 4000 bit rate, anything more and my computer can't handle it, this is without the Elgato software open.

I did think maybe having a second GPU might help, but I watched a YouTube video that suggested not to do that and that it'll actually make performance worse.

My GPU is a GTX 2070 8GB, and my CPU is a i7 Six core 78000x 3.5ghz.

Can anyone give me some suggestions on why my Elgato destroys my streams or what I can do to counteract this? Do I need a new CPU or another GPu, or potentially a second GPU?

If you need some screenshots I can send some.

https://obsproject.com/logs/id28tqpd2ySISp3l


Thanks

Jonno
 

Attachments

  • elgato.png
    elgato.png
    10.6 KB · Views: 64

jonno_44

New Member
mmmm

please test
run obs as admin and disable F-secure

Game DVR: On
disable windows Game DVR

and first set the recording settings to same as streamencoder !
you did try to record and stream at the same time on the GPU with rate_control: CQP for recording and rate_control: CBR for streaming so he must do the job 2 time this didnt work

Just to clarify, as I'm not a PC nerd ahah. Do I turn Game DVR on in the elgato software or OBS? Or somewhere else?

And I didn't really understand your next part, went straight over my head, sorry!
 

carlmmii

Active Member
I'm very confused about your setup.

You're using a capture card... yet one of your monitors on this PC is listed as being connected to your capture card. Do you have a 2nd PC, or are you trying to use your capture card on a single PC?
 

jonno_44

New Member
I'm very confused about your setup.

You're using a capture card... yet one of your monitors on this PC is listed as being connected to your capture card. Do you have a 2nd PC, or are you trying to use your capture card on a single PC?

I run a dual monitor set up. 1 monitor is HDMI'd to the Elgato (this monitor is the one I use to play my games), the second monitor is just a standard HDMI/Display port to my PC's GPU.

I have a HDMI cable going from my GPU to the IN HDMI slot on my Elgato. I then have a HDMI cable going form the OUT port to the monitor. I hope that helps?

It could be setup wrong but I just followed what was listed on the box, elgato's website and what I've done previously with the HD60 pro.
 

carlmmii

Active Member
I run a dual monitor set up. 1 monitor is HDMI'd to the Elgato (this monitor is the one I use to play my games), the second monitor is just a standard HDMI/Display port to my PC's GPU.

I have a HDMI cable going from my GPU to the IN HDMI slot on my Elgato. I then have a HDMI cable going form the OUT port to the monitor. I hope that helps?

It could be setup wrong but I just followed what was listed on the box, elgato's website and what I've done previously with the HD60 pro.
What you're doing is not the use case for a capture card. A capture card's intended purpose is to take a video feed from another source (i.e. console, another computer, etc) so that your streaming computer can process only the video feed and stream elements, while your other system is dedicated to the game without anything bogging it down.

In your situation, unless you have any consoles or other computers you're capturing, you should actually remove your 4k60 as it is A) adding extra complexity to the setup, and B) most likely forcing your GPU PCIe lanes down to 8x.

Just use Game Capture or Display Capture to grab your game footage in OBS.
 

jonno_44

New Member
write in the windows 10 search game DVR and you find the settings

View attachment 63590Rightklick on the OBS Icon and then run as admin
View attachment 63591

I have just tried your help. I no longer get encoder lag which is good, however my stream still lags so much in preview and on Twitch when I watch. I have even reduced my game quality so that it is only using 3000gb VRAM and it's still having the issues.

I have disabled F-secure and turned off game DVR, and tried the settings attached.

 

Attachments

  • Stream test 1.PNG
    Stream test 1.PNG
    20.1 KB · Views: 51
  • Stream Test 2.PNG
    Stream Test 2.PNG
    10.3 KB · Views: 51

jonno_44

New Member
What you're doing is not the use case for a capture card. A capture card's intended purpose is to take a video feed from another source (i.e. console, another computer, etc) so that your streaming computer can process only the video feed and stream elements, while your other system is dedicated to the game without anything bogging it down.

In your situation, unless you have any consoles or other computers you're capturing, you should actually remove your 4k60 as it is A) adding extra complexity to the setup, and B) most likely forcing your GPU PCIe lanes down to 8x.

Just use Game Capture or Display Capture to grab your game footage in OBS.

Right... But surely they aren't that great quality right?

I still don't think this will help my situation as when I run the display capture, I can't even run 60 FPS in that, which is annoying.. There's still something that is lagging my stream down completely. I will remove the 4K60 Pro, but yeah.
 

jonno_44

New Member
@carlmmii you are right i havent see it its total stupid to do that with the capturecard

@jonno_44 this fix you stream problem the problem is with the settings you have now the Gracard cant handle two encodings
diable your display dublication in windows remove the HDMI cable to the capturecard !

Okay so you guys suggest removing my 4k60 pro. Can you guys help with the fact I can't run past 48 fps and 4000 bit rate even on display capture?
 

carlmmii

Active Member
Run OBS as admin, turn off Psychovisual Tuning, and disable "Rescale Output". Then do another recording/stream test and post the log file. Make sure to keep OBS open and upload the "current" log file.
 

carlmmii

Active Member
Right... But surely they aren't that great quality right?

I still don't think this will help my situation as when I run the display capture, I can't even run 60 FPS in that, which is annoying.. There's still something that is lagging my stream down completely. I will remove the 4K60 Pro, but yeah.
There's a lot going on when it comes to capture. Adding a capture card in the local situation as you had means the video gets sent out from the GPU's frame buffer, back through the capture card's input, over the PCIe bus to the CPU, then back to the GPU for the compositing. With Game Capture or Display Capture, the frame buffer can stay within the GPU without any of the transport.

Unfortunately, there's a lot of other things that are possibly interfering. GPU bandwidth, total GPU utilization, OBS's GPU priority, CUDA utilization, lots of things. And that's just the rendering process... before it gets sent to the encoder.

- Running OBS as admin will add OBS to the GPU priority list to reduce rendering lag.
- Disabling "Rescale Output" means the encoder will actually be using the New Nvenc encoder, keeping the composited frame within VRAM, instead of silently falling back to the old encoder which transports the frame from the GPU->CPU (for rescale)->GPU for encode
- Disabling Psychovisual Tuning will disable CUDA processing in the encoding process, meaning only the Nvenc ASIC will be used for encoding instead of requiring extra GPU processing

Small notes to address "other things":
- The bitrate will not prevent the ability to do 1080p60
- No log file has been provided yet to imply that there is a bandwidth issue with dropped frames
 

carlmmii

Active Member
Awesome!

You may want to still disable "Rescale Output" in the Output settings, but other than that looks good. Just remember that OBS needs to be started as admin every time you launch it.

If you want to auto-run as admin, you can pin OBS to the taskbar, right-click on the icon, right-click on OBS.exe, Properties, Advanced, Run as Administrator.
 

jonno_44

New Member
Awesome!

You may want to still disable "Rescale Output" in the Output settings, but other than that looks good. Just remember that OBS needs to be started as admin every time you launch it.

If you want to auto-run as admin, you can pin OBS to the taskbar, right-click on the icon, right-click on OBS.exe, Properties, Advanced, Run as Administrator.

Thanks man, really appreciate it. This has made my dad, it's been bothering me for weeks
 
Top