Question / Help Issue with Elgato Game Capture and OBS

davisland25

New Member
Hello,
I am a streamer and have used OBS with my elgato HD 60s with my PC for about a month now, but I have noticed a glaring issue with my setup. The only way I can use my elgato with OBS is to add it as a "video capture device", but I want to use it as a "game capture device" but I cannot. Essentially, I only want to capture the game I am playing when I am streaming, and not everything that is on my screen. Is there a way to do this? It is incredibly annoying to me and my viewers that they have to see me shut down a stream or change windows, and I hope there is a fix out there for this issue.
 
Doing exactly this is not possible. The Elgato grabs what is sent through the hdmi cable. It's pure picture data. This data does not contain information about which pixel belongs to which app. Every hdmi capture device is is a screen capture that always captures the whole screen.

You can crop the frame, clipping away borders and unwanted screen areas, but your app must stay on exactly the same place on the screen to make this work.

If you capture the screen of your PC where the capture device is actually installed, you missed the point of a capture card. A capture card is primarily meant to capture screen data from devices where no software capturing software can be installed. Gaming Consoles, for example.

And it is used in two-PC setups where the streamer wants to prevent the system load that streaming through software puts upon the machine.

But capturing "yourself" with a capturing device, on the same PC, makes no sense. You gain nothing by doing this. No performance gain, no system load gain, no stability gain. Use the OBS capture sources directly without the capture card.
 
Alright, thanks for explaining how it works with OBS. I won't be switching anything, I got the elgato for a reason so my gpu wasnt handling running games AND encoding, that would hinder the performance of both no matter how good my gpu is. So there is a reason why I am using the elgato.
 
Because you were duped into thinking that it would help in a single computer setup. It won't.
 
From what it looks like, OBS uses the elgato software when you set it up as a video source, as per the tutorial elgato has on their website to use it with OBS? Or is that tutorial incorrect?
 
The Elgato doesn't do encoding that helps the graphics processor if used with OBS. If it comes to OBS, it works this way: The Elgato grabs the video signal from hdmi, encodes it with h264 and sends it through USB to your PC. In your PC, it is decoded by the Elgato drivers and provided as directshow source, similar how webcams are provided. From this directshow device the decompressed frames are grabbed by OBS and sent to the graphics card, where the compositing of all sources is done and the output video frames are created. The output video frames are then downloaded into CPU memory and encoded by one of the encoders OBS supports. In case of x264, encoding is done by the CPU and stresses the CPU. In case of hardware encoders (nvenc, quicksync, amd vce) the encoding takes place in the GPU, which means the frames are uploaded again into the GPU and compressed frames are downloaded again. These encoded frames are then output to wherever it is configured: either to stream or to local file for recording.

If you grab the video via game capture instead of a hdmi device, you will:
- not stress the USB bus
- not stress the CPU for decoding the encoded usb signal
- upload one uncompressed stream of video to GPU less than with game capture (which saves cpu and pci-e bandwidth)
- use less CPU, because no USB handling has to take place and no decoding of the usb data

The encoding the Elgato does is only relevant if you use the Elgato software and save the encoded stream. OBS needs to decode the signal and re-encode later, because it composites the video from multiple sources. It does not and cannot pass-through any pre-encoded data.
 
so the elgato is total bs, and if i were to stream a graphics instensive game it would still be better to use the normal gpu encoding?
 
The Elgato is no bs, it is a usb hdmi capture device suitable for capturing game consoles and other external hdmi video for recording or streaming directly to some streaming service. You can plug it in into any laptop if you like. It has its use case. But a single PC setup, capture this PC itself and with a compositing streaming processor like OBS that will add additional content to the video, is not the use case for a hdmi capture device.
I recommend that you research better before you do an investment, not after.
 
Back
Top