Mix video in only in area where there is other image...

  • Probably just an blackout...

    But I have this video where there is an image against a blank background (no video, so no black or white or anything). Now I want to mix that image with other footage, but only where there is image, so not in the area around it. So simple. Why don't a get my mind and fingers around this problem?

    Thanks for your light on this matter, Peter

  • I would probably just map the video to the desired location, or duplicate the image with a black background and a white rectangle where the picture is and use this for alpha mask.

  • @reinhard

    Would be an approach. Unfortunately the image is quite irregular so duplicating it with a rectangle is rather impossible...

  • @plem

    The issue here is, how to tell Isadora (or any other video manipulating tool) which area to ditch or make transparent. I guess the best way would be to edit every video manualy and replace the black area with an alpha channel.
    A little bit faster but more complex to program option, would be to create an alpha mask for every clip you use and combine these with the alpha mask actor.

    Another possibility would be to try the luma key actor, but as black is often a part of pictures, it probably will key these parts as well.

  • Beta Platinum

    @plem said:

    image against a blank background (no video, so no black or white or anything

     Hi Peter,

    Some good advice already suggested.

    You can also look at making a clean mask inside your Isadora patch. Use the Threshold actor with your existing video file, the one you want to use as an alpha channel. Run your mask video thru Threshold and convert the irregular shape into a solid black or white to use as an alpha mask.

    Best Wishes


  • The direction is clear. i will try going there on monday.

    But for the sake of argument: wouldn’t it be nice to just make a shader where you multiply the new video with 0 or 1, based on the the presence of image in the source or not. I’m not a shader specialist, but I think that could be quite simple for someone that is.

  • @plem

    Ok, I'm curious now. Maybe we have an misunderstanding. The 'Black frame' around your video clips, is it actualy IN the clip? Which means you don't only see it in Isadora but in any mediaplayer, like Qicktime, Windows Media Player or VLC?

    Or did you scale it down / zoom it in isadora somehow, like with the size value of the projector actor!?

    This is fundamental to know!

  • @plem said:

    But I have this video where there is an image against a blank background (no video, so no black or white or anything).

    Are you referring here to an Alpha Channel?
    Maybe it is obvious for you, but for the sake of not talking in rounds: Unless you use special codecs that support the so called Alpha channel, like Prores 4444 or HAP Alpha, every 'black' part in your video is just that: black! If you want parts in your video hardcoded 'transparent', you need to render it with an alpha channel beside the RGB channels.

  • @plem said:

    But for the sake of argument: wouldn’t it be nice to just make a shader where you multiply the new video with 0 or 1



    If it still is what we understood from the beginning, and it is a videoclip with true (non Alpha) black, the luma key is kind of exactly doing what you asking for.
    But as black in a usual video is black, it can not distinguish between the black in the outer area and a black pixel in between the colored image, as there is no information about a difference. Every black pixel in a frame does have the RGB values of 0 0 0 (255 255 255 is white).
    When edited (while production in an editing Software, like Premiere) the parts where you don't put any content, there is truly nothing there. But if you render it to a conventional codec, every empty space is converted to RGB black (0 0 0).
    If you want to differentiate between black and 'nothing' you have to render it with the Alpha information, which is one more bit (byte actualy) that is added to the RGB (0 0 0 0). but as told before, this is only supported by certain codecs.

  • @dillthekraut

    We’re talking about an 3d generated image within Isadora with no background, the famous checkerboard. And would life be as simple that I can use a lumakey to fill only that? Going to try that first thing in the morning. (Maybe then I only have to invert the mask).


  • @plem

    this sounds totaly different then "I have this Video". Maybe it is helpful to show a screenshot of your patch or upload the patch itself.
    If the picture is generated in Isadora itself, there are several possibilties to handle the 'background'. One is the 'layer' value of the projector actors.
    But it seems to me, that we are missing some basic information about what your setup is about.

  • And, of cause, as usual, the solution is simple. 

    Thanks to all. Peter

    (PS. Still think that a simple shader with simple multiplication tricks could do flexible wonders too.)


  • @plem

    Ok, as expected some misunderstandings.
    In this case, you could use the 'texture map' input of the 3D Player. Just conntect the Background color actor to it.
    Then set the 3D Light Orientation actors 'specular' color to something darker or even set the 'lighting' value of the 3D Player to off.

    If you just want to replace the 3D object with a flat image, you can go with any color and replace it with the key actors (luminance or chroma) or again with the alpha actors. I don't know how it could be any simpler.

  • The problem arose when I wanted to do that trick not on one 3d player but on a virtual stage where different players were combined. With “get stage image” I got the video back in Isadora, and there I wanted to do the mixing.

    But anyway, it’s all good now. Thanks for the tips!