philhk / Vencord

The cutest Discord client mod
GNU General Public License v3.0
51 stars 21 forks source link

Brightness control for stream or tonemapping support to fix HDR streaming #13

Closed SouljaVR closed 9 months ago

SouljaVR commented 9 months ago

Content

Not sure how possible this would be, but some kind of stream brightness control would be really cool. I stream with a HDR monitor and while the HDR toggle improves things, the final image is still very bright on stream vs what I see on the monitor. I noticed that I could take a screenshot of the stream and just reduce the exposure in photoshop or something to make it almost look 1:1 with SDR. So if a generic exposure filter or something could be implemented into the streaming pipeline it could be a great solution to the issue. Thank you for all of your work with this.

Request Agreement

philhk commented 9 months ago

I sadly don't have an HDR monitor to test some things out, and besides that, I don't even know how exactly the HDR feature works. I just saw that you can enable it in Discord's code, so I thought why not add it as a feature. One of my friends tried it some months ago, and for some time, it worked, and it wasn't too super bright. However, he says that it isn't working anymore. I looked through the code but couldn't find any errors, and without an HDR monitor, it's hard to test. Maybe someone who has an HDR monitor and experience with Vencord can search for a solution and open a pull request. But for now, I don't see a solution for that problem.

SouljaVR commented 9 months ago

Do you think it would be possible to use the main streaming source as a duplicate camera source? so you could essentially have two cameras on at once in total? If this could be done, OBS could be used as an input source to stream to discord through its virtual camera. OBS has full HDR to SDR support etc. and it wouldnt affect the original webcam functionality.

philhk commented 9 months ago

I actually wanted to add support for that but for some reason discord crashes because of my plugin. If I get motivation to either fix the plugin or rewrite it I will definitely add support for that.