VSE problems with scenes input and AlphaOver

Hello there!

I am trying to put several videos side by side with a common background some of them have a black background. The strips, are directly rendered from scenes.

The problem is that apparently, when rendering from scenes, the VSE takes alpha where there are no objects, so it blends with the color of the background instead of staying black as it should be. I don’t want the VSE to interpret the black background of my image as alpha.

As a workaround I could render them first and sequence them later, but I find it more useful using direct scene input.

I attach the image.

Thank you very much

Andrés

Sequencer config:



Obtained Image:

Problem of the image:


Looking at the strip (scene) attributes, try turning off Alpha Over.

Doesnt work, If I select replace I will get the full Image covered by the only video in the right (with the black background). One workaround I found is using the transform effect, but then the displacement of the strip is referenced to the center of the image, and I prefer the reference from the bottomleft border (x=0,y=0), because I can position the strips exactly where I want and they are rendered in its original size.

I had another Idea. I could use compositing to turn the alpha channel into a black one. Do you know how to tell blender to composite a scene and then send it to the sequencer?

If I understand the problem correctly it shouldn’t be too hard to solve. Go to the world settings of each scene and render it using black as sky color (i.e. set both zenith and horizon color to black). Overlaying them in the VSE should not require transparency data at all, so set blending mode to replace and transform each scene to the proper coordinates, namely one on the top left area and the other on the bottom right of the frame.

Replace doesn’t do the job… you don’t see the background if you use replace and transform. You need alphaover

Are you sure you need alphaover ;-). If you have no alpha, yours are black backgrounds then Overlay will do the job? Long time since I used 2.49 though.

Ooops! Didn’t realize this 2.49 we’re talking about here. :0
Shouldn’t make much difference though, the principles at work are the same.

Have to admit it was trickier than I initially thought but still doable through a hack.
See screenshot and attached blend file for info on the blending modes of all strips involved.
It’s not a generic solution but oh well. And it works in 2.59, haven’t tested it with 2.49.

Attachments


alphaOverHack.blend (645 KB)

Hey guys! I managed to do it :smiley:

the trick was to composite the separate scenes so I turn the alpha background into a plain black colour ;D

I am not very expert in using nodes so it currently works only for turning alpha to black, but if I ever need to change the background color, I think the node editor is the way to go. I attach you the results. By the way, blendercomp, your solution doesn’t work in 2,49 …

Thank you very much for your help.

Node config:


Results:


:eyebrowlift::eyebrowlift: :evilgrin::evilgrin:

Attachments


Glad you managed to solve it though I understand neither the problem nor the solution.
Needless to say that everything is possible with nodes. I thought you were after a scene-to-VSE solution only.

Ok I will try to explain myself better in case you are interested.

The thing is that when you render a scene you get alpha wherever there is not an object, even if you set sky in the render options and a world color different from black. If you use nodes you can see the background is alpha indeed. You could work around this by placing a giant plane of a solid color in all the field of view of the camera.

When you get to the VSE, when you want to put videos side by side, you have two options:
Option 1
You can use a transform effect and the strip but it will be stretched to fill the output and you will have to scale it down, move it and then use alpha over. This would have worked fine, but it is a worse solution since you have to calculate the exact amount to scale it (because transform effect doesnt restore original strip size) and even worse… I don’t know where the reference is taken for the displaceX and displaceY so you have to just try until you put it where it should be. In other words, you cannot position the strip exactly where you want.
Option 2
If you activate the “Use translate” option from the strip options panel, the strip transforms to its original size (this is very nice!) rather than stretching to fill all the render output. However, if the scene has an alpha background, when using the alphaover effect, the background color on which you want to lay the strip will blend through the strip background! (through the parts of the strip where there are no objects). That is why you need a previous node editing to convert the strip background to any color you like.

I hope I explained myself better this time :confused:

I recall a similar problem trying to generate a shadow pass, needing to add a giant card in the background to replace the sky that always rendered as alpha. The solution in that case was learn how to do shadow pass properly.