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.
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.
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.
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.
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 …
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 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.