Stream/capture while gaming in HDR

Hello,

First I would like to thank the team for the HDR feature.

I have been using Special K HDR while playing Scarlet nexus and it is a game changing.
But my issue here is that when OBS capture the game it will not capture it correctly because of HDR to SDR thing.
Is there any guide on how to stream/integrate special K with OBS?

Screenshot below for an example of what I see in OBS, and what twitch/youtube see

sorry if this topic has already been discussed.

Thanks,

The problem here is that OBS doesn’t tonemap the HDR image back to SDR for broadcast on traditional streaming platforms.

According to YouTube’s article, the only software they claim supports streaming HDR content directly to YouTube is Mirillis Action.

Stream HDR video on YouTube - YouTube Help (google.com)

It’s been my experience that Action’s HDR support is terrible though :-\ I have my doubts about this, but it’s apparently supported.

Thank you for the reply.

Already tried Action and it wasn’t that great with handling HDR.

I will try to play with OBS filters and LUTs to get an acceptable result for now.

Thanks,

Hi Guys, i’m Paul from Mirillis (Action’s developer). Can you please let me know what problems do you have with HDR (livestream in true HDR10 or tone mapped). We have been working on this for 3 months with Google Team and they were impressed by the results and the quality was very good (i guess they would not inform about this if it was crap). Thus I would like to understand what the problem is and help. BTW. the tone mapping algorithm in Action (from HDR to SDR) is very complex and should give good image quality.

BTW. If you stream HDR10 to YouTube they will tonemap the video for users who are not viewing in HDR. Those who have HDR display will see true HDR10 content.

Hi Paul,

My first use case is that I want to play games in HDR while capture/stream to twitch/youtube in SDR.
My attempt to manually tone map from hdr to sdr through OBS failed with the below results.
Playing games_test - Twitch

The raw out from obs when it capture my games is like the below images

HDR Captured through OBS
Screenshot by Lightshot (prnt.sc)

SDR

HDR Captured through OBS

I have tried Mirillis Action but it wasn’t a pleasant experience and the capture quality wasn’t that great that I will switch from obs to it.

I am fine with streaming to SDR to twitch/youtube if there is a way to auto tone map the stream

Thanks,

Hi jeezany,

Thank you for replying.

As for the screenshots this is exactly what you will see when you try to capture/stream FLOAT16 or RGB10 HDR content without proper HDR gamma BT.709/BT.2020 handling and conversion. There is no way to do it in OBS (since there is no detection of the color space and in each color space HDR needs to be converted differently).

Action does auto tone mapping from any HDR color space if you select non-HDR10 video hardware acceleration (like NVENC or NVENC HEVC for Nvidia and AMF or AMF HEVC for AMD). The quality should be perfect.

As for HDR screenshots Action captures HDR both in tone mapped SDR and in JPEG XL HDR (both at the same time).

I will send you a link to screenshot and a sample HDR capture/stream of Scarlet Nexus to verify.

Thanks,

Hi jeezany,

Seems that Scarlet Nexus is not running in HDR in DX12 mode (-DX12 option in command line). Moreover when running the game in fullscreen (not borderless window) the colors are messed up after capturing. I will check why this happens tomorrow but looks like a bug in the game.

Special K does not use HDR10, at least not the part that a software capture solution would see. It uses an FP16 scRGB SwapChain. Should be relatively straight forward to tonemap back to Rec 709 for broadcast, simpler than the other type of HDR anyway.

My personal problems with Action had nothing to do with streaming, but the fact that its scRGB capture produces different, more saturated, results than using ShadowPlay in the unaltered HDR video. This is all before any sort of request to tonemap.

Hi Kaldaien,

Thank you for joining.

FP16 scRGB works with gamma 1.0 (yes its easier than RGB10 just like you said). I have only verfied the game itself. There was a bug with scRGB (FP16) capture (not in RGB10 mode) in Action some time ago but this has been fixed during YouTube HDR HLS streaming integration. Could you please let me know what scRGB source (game) was the capture over-saturated so I can double check? Thank you in advance!

EDIT: Are you converting SwapChains to FP16 scRGB during processing? And if yes do you override the colorspace with IDXGISwapChain3::SetColorSpace1 (to DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709)