p-rivero / DiscordAudioStream

Windows utility for streaming (with audio!) in Discord. Easily share the the audio of entire screen, or even use OBS for streaming!
GNU General Public License v3.0
187 stars 7 forks source link

Feature Request: "Force SDR" Option #28

Open FleXi2108 opened 1 year ago

FleXi2108 commented 1 year ago

I've noticed when trying to stream my Screen with HDR enabled, everything is blown out. I know OBS has a "Force SDR" Option, so maybe it's also possible to add it here?

p-rivero commented 1 year ago

I don't have an HDR monitor, so it will be hard to find the cause of the issue and verify the fix, unless there's a way to emulate HDR support. I'll have a look when I have some time, but if I can't find a way to emulate it, then I don't know when or if this issue will be fixed.

p-rivero commented 1 year ago

I wasn't able to find a way to emulate HDR support, but we can still try to find the source of the issue by using your computer.

First, you should open the DiscordAudioStream settings and go to the "Capture" tab. Try all the capture methods and see if any of them work. If your capture area is the entire screen, try changing the "Fullscreen" capture method. If you are capturing a window, change the "Window" method.

diolesinge commented 1 year ago

You can setup the source on obs to be rec 2100 PQ or use an hdr tonemapping filter. WIll fix it for the preview.

p-rivero commented 1 year ago

@FleXi2108 Are you still having this issue? If so, please download this API example project and tell me if changing the Pixel format to R16G16B16A16Float has the desired effect. If it makes the image look better, I could try to implement this setting.

FleXi2108 commented 1 year ago

It does make some of the darker colors more accurate, but blows out the brighter colors more. Also makes standard SDR look way worse

kobiek225 commented 11 months ago

I also have an HDR monitor. If you change the capture to either BitBlt or Windows 10, it looks fine. DXGI is the only one to where the colors are all out of whack. Hope this helps

kobiek225 commented 11 months ago

Actually I lied. I was only comparing the stream to my homescreen which is SDR. But actual HDR content will cause an over-exposed type of effect with both BitBlt and Windows 10. It's still better than DXGI that will completely mess up the colors but it's still not great. See attachments from Overwatch from what it looks like with HDR enabled vs. disabled. BitBlt and Windows 10 both look like this. I attached DXGI too in case that can be fixed somehow. 1st pic: HDR Enabled (Over-exposed) 2nd pic: HDR Disabled (this is how it looks regardless of capture method. SDR works on all 3 perfectly fine) 3rd pic: DXGI enabled (complete color and over-exposed issue)

HDR Enabled (Over-exposed) HDR Disabled DXGI with HDR enabled

I don't know if this will help but there's an HDR Screen Capture expiremental feature within Discord that does handle this HDR issue pretty well. It unfortunately only works with natively capturing my screen/window. If I use this app then stream to Discord, the experimental feature does not have access to the HDR encoding/data to fix the overexposing.

p-rivero commented 11 months ago

Unfortunately, as I said, I don't have an HDR monitor nor was able to emulate it. This issue will remain open for the foreseeable future. If someone with an HDR monitor and knowledge of how to implement this feature wants to give it a shot, feel free to open a PR.