Keyer composite node

I don’t know that much about windows, but I suppose the commands, to get a svn copy and patch it, must be the same with cygwin (maybe tortoise svn can help here).
The difference must be in building the resulting code source, on linux a simple “scons -j 2” do the job, but I have no idea if this work on windows or not. But there are tutorial on the web concerning building blender for windows.

Xat, thanks for a great node. :yes:

You are welcome, and thanks for testing it.
I made a small change to avoid clipping value (when the foreground have sub-black and over-white value). Now it occurs only with sub-black value and only if you use the “processed foreground” compositing method. I will make a few test to see if I can limit this to the background area only and will upload a new patch.

New patch (same link) and wiki updated.

I will also try to make a build available on graphicall, does somebody knows the best way to build for portability issue. For the moment I build with gameengine, local ffmpeg, and following flags:

CCFLAGS.extend( [ '-march=pentium-m', '-O2', '-pipe', '-ffast-math', '-ftree-vectorize', '-fweb', '-fomit-frame-pointer', '-mfpmath=sse' ] )
CXXFLAGS.extend( [ '-march=pentium-m', '-O2', '-pipe', '-ffast-math', '-ftree-vectorize', '-fweb', '-fvisibility-inlines-hidden', '-fomit-frame-pointer', '-mfpmath=sse' ] )

I suppose it is best to desable gameengine and use internal ffmpeg, but what about the flags?

thanks

Not to poke. But how well does it handle spill suppression and getting crisper and fuzzy mattes sorta like the gold of Shake?
As example http://library.creativecow.net/articles/shanks_andrew/dv_keying3/video-tutorial.php
http://leaders.creativecow.net/leaders/shanks_andrew/

Well, I am maybe biased but I really find the despill operation very effective:
-The video in your link show a despill operation and next “manual” despil with color correction tools (all this oustside a keyer)
Note that to use your own node setup for despill you must do the compositing outside of any keyer (shake is not an exeption) but you can use the matte output of the keyer if you want to. So if you want to do everything in the keyer you are limited to the incorporated tools of the keyer (same for color correction but not for edge blending blur).

Back to my node, the despill operation is quite usual:
-create a spillmap (map of the excess of green)
-substract the sillmap value from the green channel
Such method have prooved to work well (much more then manual color correction) and you have different methods to create the spillmap (selecting a limit and scaling it)

Further, the “unspill” option permit to aplly the spillmap to all channel manually, this permit to:
-compensate the luminosity drop (small) due to lowering the green channel, by adding blue and/or red
-if you have unprecise matte, you will have some background color (despilled so kind of grey) in the composite; with this parameters you can virtually drive this color yto any kind of color you want so that it can fit in the background and be “not visible”.

For cool soft edge, once you have farely good composite, the included edge blending blur is quite simple and produce great results also :slight_smile:
-enable “edge blending” option
-blur the edge matte so that it have a width equal to the with of the desired soft edge
-scale the edge matte (by lowering the “W” parameter) so that it have white in the center and slowly fade to black
-set the last blur size to about the widht of the desired soft edge
-watch the result.

xat:

Is this node like a group of existing nodes put together to create the ‘keyer’ node or have you taken and improved on the existing nodes in your development not sure which to use in a project I’m doing.

Just thinking a loud: Would it be better to improve the existing nodes, create the noodle, use the existing node group feature to create the single ‘keyer’ node and then code a cool addition to blenders node system instead, that being the ability to create an ‘interface’ over the top of a node group where you expose the necessary parameters from the underlying noodle? then there would be no duplication of code for the various node elements that someone would have to maintain from now on if it got into svn.

The interface feature could allow various types of gui elements like sliders, knobs, dials to create ‘dashboard’ style interfaces for those who find a great mass of noodle difficult to track and view on screen.

Hello,

I splitted the keyer node:

  • a new greenscreen node fro pulling the matte
  • improving the existing colorspill node
  • a new edgeblur node

http://wiki.blender.org/index.php/User_talk:Xat#Keyer_Node

yellow: sorry, I did saw your post. This is entirely new nodes, no groups. Groups could be fine but slower and messy (switching from bluescreen to greenscreen will required connect and reconnect a lot of noodles)

is this new node for 2.49 or 2.5?

It is a patch for current 2.4x svn trunk (see link in my first post) I don’t think there is any chances for it to be included in 2.49 as I think the trunk is freezed but who knows…

I made a windows build with the patch to test.
Thank you xat for your nice work.

Thank to you for the build, I hope this will bring testers :slight_smile:
I will upload a linux 64 build when my registration to graphicall is accepted.

both the color spill and the green screen nodes work extremely well

Thank you for your feedback.
Does that mean that the edgeblur node does not “work extremely well” ? :slight_smile:

I uploaded a linux 64bit build on graphicall:

I hope this will be usefull

OSX build added :slight_smile:

Nice work xat!

Can Windows builders build with Quicktime support please a lot of greenscreen samples are mov’s. Sure it’s no problem to open an official blender build and render a sequence to png but all the same, less hoops to jump through. :slight_smile:

i haven’t gotten around to testing that feature just yet but i will try it.

i made a video testing the nodes out you can fin it below.

http://vimeo.com/4224539

Rexprime: cool video, I want to do one small video tut to show the best way how to use the nodes, but I have annoying opengl bugs for the moment :frowning:

Fot the greenscreen nodes:
-try not raising B so much (just enought for the Backgroung area to be black)
-lower W alittle (just enought for the foreground area to be white)

For the edge blur node:

  • Input your composition in the Image socket
  • Input the “matte” output of the greenscreen matte in the “Matte socket”
  • With a viewer connected to the “edge matte output” and playing with blur (raising it) an W (lowering it) to setup the widht of the effect