Glow Transparency Issue in OBS

fowskate

New Member
I'm a designer and having issues getting glow to show up properly in OBS.

I've been trying my hand at creating an animated border with glow around it, however my pink glow turns into a dark color, like a black shadow instead of being a nice bright pink glow like how it was when exported from Adobe After Effects. When moved to OBS I lose the glow and a shadowy like effect takes it's place. This is especially apparent with lighter colored backgrounds. With darker backgrounds it looks pretty much entirely visible.

If possible, may I know the technique used to make the glow animate properly when in OBS? It seems tricky and I've not found a solution anywhere online.

In the files below I've posted the Incorrect OBS (What the OBS software does to my export) and the 2nd file contains the Correct Adobe (The way my file originally looks and is supposed to look with it's beautiful glow)

Other tests I've done to try to resolve the issue myself:
Multiple codes
Webm, vp9, png, and mov formats
I've tried using OBS on 3 different computers, thinking that maybe it may have been an installation error on my end, however on each different computer, the end result was a dull, shadowy effect in place of what was originally a nice glow.
I've also experimented with the screen blending mode after adding my project to a black background. The result of that ended with my file becoming less opaque. To try to add some opacity back into my project I even tried copying my media source 5 times, overlapping one another, the process was a failure. When using the screen blender mode, my project was never able to return to how opaque it was originally.
 

Attachments

  • Incorrect OBS.png
    Incorrect OBS.png
    173.6 KB · Views: 100
  • Correct Adobe.png
    Correct Adobe.png
    177.1 KB · Views: 100

Synergist

Member
What's your AE render workflow? Are you rendering with RGB + Alpha, what codec are you exporting as, and are you choosing straight alpha (unmatted) or premultiplied (matted)?

I've not tested myself whether this is an issue with OBS 27, I don't have any suitable RGBA clips to hand to test render. If you can upload the actual clip you've made we could take a look.


I noted this issue with scaling non-premultiplied PNG images a while back -- https://github.com/obsproject/obs-studio/issues/3055 -- and the suggestion was to export premultiplied alpha for scenarios where you may need to scale. https://www.cgdirector.com/premultiplied-alpha-vs-straight-alpha/


EposVox made a helpful video on which codecs and formats work best with OBS for alpha in various situations: https://www.youtube.com/watch?v=X9jMna8KQyA

Plenty of people have discussed this topic; this video recommends CineForm with straight alpha and adjusting your quality settings to taste.

Personally as I run assets from a separate SSD I have no problem using ProRes HQ 4444, but ProRes HQ bit rate can become prohibitive for some.

There's been issues noted in the past about the WebM container not having full alpha support, I've not investigated further since I learned about that last year. (also discussed in the EposVox video comments)
 

Synergist

Member
Ran out of time to edit my last post. Here's what I wanted to add:


Your screenshots also jogged my memory... See this old discussion about incorrect alpha interpretation on fill+alpha video from a while back: https://magicmusicvisuals.com/forums/viewtopic.php?t=1354 (and related obs-ndi bug discussion, this related to how the plugin passed alpha to OBS https://github.com/Palakis/obs-ndi/issues/30)

Re the scaling of straight alpha PNGs (https://github.com/obsproject/obs-studio/issues/3055), the suggestion was to export premultiplied alpha for scenarios where you have bloom/flare/emissive style lighting effects, not just where you need to scale.

If you're not using premultiplied alpha at render time, try that. Use AVI or MOV wrappers, try with ProRes RGBA (aka 4444), Animation codec (computationally simple, but quite read-intensive), CineForm or a flavour of DNx which supports alpha.

Some reading and watching on premult/straight alphas:

The video recommending use of CineForm does also recommend using straight alpha, so use your own judgement. Elsewhere it's also widely recommend to use premultiplied alpha with OBS assets.
 

fowskate

New Member
What's your AE render workflow? Are you rendering with RGB + Alpha, what codec are you exporting as, and are you choosing straight alpha (unmatted) or premultiplied (matted)?

My render workflow has been a number of different things. I am working with RGB + Alpha, the transparent glow is where the entire issue lies. I have tried straight alpha, and premultiplied alpha on both AVI and Proress 4444. I have also tried many other mov codecs, as well as webm. As far as I know the webm format has been the most popular option for OBS assets. I gave it a try and still unfortunately had an unsuccessful result. I get the same error every time with every codec. I have used Premiere, Adobe media encoder, shutter encoder, and After Effects itself just to try other encoders and none seem to resolve the issue I've been facing. I've tried different color spaces, I've tried looking at my OBS settings and my friends’ OBS settings, and I just can't seem to put my finger on what's missing. Interestingly enough, I stumbled upon a webcam outline that was free on the internet that actually had properly functioning glow (https://kudos.tv/products/neon-webcams?variant=42155557257432). Nothing else I tested came close to this file. I downloaded it from the website I linked and inspected it and noticed it was a webm. I'm quite envious of it's creator because this result is what I'm working to achieve with glow! Alas I am not the creator and this is just something I found online. Another interesting detail is - the lighter the background the less visible the glow is. While that is normal from my experience, my issue seems to be more extreme than the average case. The glow just cuts off at a certain point and shows up dark (similar to a shadow) instead of the vibrant pink, leaving the entire animation dull.

I've not tested myself whether this is an issue with OBS 27, I don't have any suitable RGBA clips to hand to test render. If you can upload the actual clip you've made we could take a look.

I am more than happy to upload a test! I will include a download link to the webm test version here

I noted this issue with scaling non-premultiplied PNG images a while back -- https://github.com/obsproject/obs-studio/issues/3055 -- and the suggestion was to export premultiplied alpha for scenarios where you may need to scale. https://www.cgdirector.com/premultiplied-alpha-vs-straight-alpha/

Yeah I'm not sure if premultiplied and straight alpha is the issue because I've tried them and unfortunately didn't have a successful result.

EposVox made a helpful video on which codecs and formats work best with OBS for alpha in various situations: https://www.youtube.com/watch?v=X9jMna8KQyA

Ahh I remember this video and actually messing with stuff back then. I checked it out again to see if maybe there was something important in it I missed, but both times no success.

Plenty of people have discussed this topic; this video recommends CineForm with straight alpha and adjusting your quality settings to taste.

Hmm, I don't have Cineform so I've never tried this option. I'll give it a go and update you with my results!

Personally as I run assets from a separate SSD I have no problem using ProRes HQ 4444, but ProRes HQ bit rate can become prohibitive for some.

There's been issues noted in the past about the WebM container not having full alpha support, I've not investigated further since I learned about that last year. (also discussed in the EposVox video comments)

I'm quite familiar with how these file types handle glow, the only issue I'm running into is just how they translate to OBS. At first I was thinking that maybe it's just the way OBS handles the colors, but that doesn't make sense because I have seen streams on Twitch that have the glow effects that I'm trying to achieve but I just cant seem to get it. I almost wonder if I just need to make my source file glow more. I noticed that's kinda what was going on in that Neon download border I linked you above. When you look at the file it shows an INSANE amount of color, but on OBS it looks so cool and normal. After seeing that, I tried amping up the glow immensely on my project as well. It still however ended up being surrounded by a (rather more intense) shadow instead of a nice glow. I am truly stumped… thank you so much for helping me look into this. I very much so appreciate the help!
 

fowskate

New Member
Ran out of time to edit my last post. Here's what I wanted to add:


Your screenshots also jogged my memory... See this old discussion about incorrect alpha interpretation on fill+alpha video from a while back: https://magicmusicvisuals.com/forums/viewtopic.php?t=1354 (and related obs-ndi bug discussion, this related to how the plugin passed alpha to OBS https://github.com/Palakis/obs-ndi/issues/30)

I checked out the thread and they seem to be talking exclusively about pre multiplied and straight alpha compatibility. Unfortunately when I tried them it still didn't quite do the trick. On a related note - I went into photoshop and created a random file that was just glowing text and glowing brush strokes, and while it looks good on darker backgrounds, even the PNG suffers from the same problem. So I'm not sure why this issue is translating that way to OBS when the original files I make look fine regularly. I'm just confused because I've seen glow work properly on various Twitch streams before.

Re the scaling of straight alpha PNGs (https://github.com/obsproject/obs-studio/issues/3055), the suggestion was to export premultiplied alpha for scenarios where you have bloom/flare/emissive style lighting effects, not just where you need to scale.

If you're not using premultiplied alpha at render time, try that. Use AVI or MOV wrappers, try with ProRes RGBA (aka 4444), Animation codec (computationally simple, but quite read-intensive), CineForm or a flavour of DNx which supports alpha.

The only options I have yet to dabble with are Cineform and DNx… though I'm not sure how to go about trying those either. Will need to do some research.

Some reading and watching on premult/straight alphas:

The video recommending use of CineForm does also recommend using straight alpha, so use your own judgement. Elsewhere it's also widely recommend to use premultiplied alpha with OBS assets.

Thank you for these, I will be looking into them and trying to use Cineform. Hopefully will have time to do so later this week. I feel like I've tried nearly everything to find a solution, so hopefully there's a light at the end of the tunnel. Maybe you can take the file and see if it works on your end? Thank you so much for your time and I will keep this forum updated with my progress!!
 

WolphieGGs

New Member
Did you ever find the solution, I am having a similar issue with web development. Again using webm files. I came here since they show up the same in OBS as they do on my website. Any help would be most appreciated, will update if I find anything.
 
Top