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
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.
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
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.
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.
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)