SpoutVideoPlayer not sending accurately?

I was planning on doing some “live” duets with some of my friends and i wanted to use webm for transparency to place my friends’ recorded videos into my stream.
I can’t sing with the videos being monitored through obs because there is monitoring delay.

So I downloaded spoutvideoplayer in hopes that it would send this webm video to obs spout input and show transparency.

Unfortunately, as you can see in the image, it is not sending correctly.
the video looks correct in the video player, but depending on what options in composite i choose, the result does not behave as intended.

In the picture, the one that has 3 copies of my model, the left one is the webm imported into obs, the middle one is the vtubestudio spout capture, and the right one is the spoutvideoplayer.

The color on the video is correct when i choose opaque, but obviously i’m left with the black background (no transparency)
when i choose the legacy premultiplied alpha no video is shown/it’s blank (this is the same with the default option)
and if i choose the regular premultiplied alpha, i get this very high contrast washed out semi-transparent result seen on the right.

i’d rly love a solution to being able to show transparent videos without green screen and without delay ):

I have not looked at SpoutVideoPlayer for a long time, so I can’t say immediately where the problem is. It plays videos using the Openframeworks “ofVideoPlayer” class and that should pass alpha through assuming the webm video file has alpha. The OBS plugin should also receive that alpha. I have no way of confirming any of this. Can you share an example webm video file that you know has alpha?

Ty for ur reply! I can send u that same video in the op
Sample webm

Since i use premiere as my video editor, i can’t say if it loads transparently in a video editor since it doesn’t support it, but for sure it does load into obs with transparency as a media source :saluting_face:

Not sure if it’s helpful, but here’s my output settings on obs in the case the settings for the output is maybe not something the video player likes/is compatible with

Did a test with an mov png sequence video that also has transparency and I get the same issue.
It looks like the information being sent from spoutvideoplayer to obs is with like, the black “lifted” out of the entire video and not necessary the alpha channel :thinking:

I believe the problem is with the Openframeworks “ofVideoPlayer” class that reads the movie file and plays the frames. My tests show that all pixels have alpha set to 255, completely opaque, including the black pixels. The original video transparency is lost.

The only way to restore transparency would be to key on black and set all black pixels transparent. This would require a new shader dedicated to that and I will look at what is involved.

Meanwhile I have uploaded binary files for the latest version which is still a work in progress. It’s likely to give the same result but it’s worth a try.

1 Like

Oh gosh that sounds complicated. Ty for posting the binaries! I’ll still give it a try just to check. I understand if it may not be worth the time though so I’m just happy to have received a reply.

I do hope there can be a video player solution that can feed transparency into obs for these types of occasions :face_holding_back_tears::face_holding_back_tears: