obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
59.96k stars 7.94k forks source link

Videos WIth Alpha: Obs only allows alpha of fully transparent, or fully opaque. #6143

Open TheBitcoinBaron opened 2 years ago

TheBitcoinBaron commented 2 years ago

Operating System Info

Windows 10

Other OS

Windows 10

OBS Studio Version

27.2.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/lHZBPEdwtvftDbNd

OBS Studio Crash Log URL

No response

Expected Behavior

OBS to read the MOV file with alpha transparency fading off (e.g. show the outer "glare" effect which is visible in Blender as well as the VLC media player.

Current Behavior

Can download the movie file from my drive: https://drive.google.com/file/d/1vPc5mLpUoqFwq3WV3ObvdMd-pO91C7v8/view?usp=sharing

This is a file exported as animated file from blender with QUICKTIME container, QT RLE / QT Animation codec and RGBA

A still to show what is solid and semi transparent is as follows:

imgur.com

The graphics have glare extending outwards from them, as per the following screenshot (from VLC media player): 1647274461002.png

However, inside OBS, the solid edges of the graphics are where alpha changes from being 1 to 0 without any gradient:

1647274522119.png

LOG FILE (Current session - Movie file is named "Media Source" inside the "GAMING SCENE" scene) https://obsproject.com/logs/lHZBPEdwtvftDbNd

Steps to Reproduce

  1. Download given media file above.
  2. Put in a scene.
  3. Outer Glare stops at the edges of the object. ...

Anything else we should know?

No response

flaeri commented 2 years ago

Not sure what to tell you. Ffmpeg, which is what OBS uses, does not produce the "glary edges". Tested with ffplay and MPV, neither has the behavior you're showing. Tested Adobe products (Photoshop), and it behaves the same (no glary edges). Dont think one can toss this up to an OBS bug, as it seems to be decoding the same way the others do.

VLC player (and the VLC source is OBS) does have the behavior you want, but its not decoded with alpha channel, which I assume defeats the purpose.

You could always try authoring the file with a different codec, and see if that plays nicer. Raw BGRA in a quicktime container works well for me.

TheBitcoinBaron commented 2 years ago

But blender exports with FFMPEG for movies,, and VLC does show the effects going past the hard edges of the objects, so that video data IS there in the file, but OBS isnt reading it. There isnt any option to export from blender with quicktime and "Raw RGBA" in blender.

If you know a different codec which works and produces the effect (Which can be selected in blender) I will happily try it, but the semi-transparent glare beyond the edges of the objects, which is visible in the source file if you play it in VLC, does show the glare is there, so indeed it must be OBS isnt reading the alpha data correctly, and assuming anything above 0% transparency, is 100%.

RytoEX commented 1 year ago

The sample video file is no longer available. To have a better chance of investigating this, we would also need a sample image file to attempt to recreate the issue as described.