VSE milestone: feathered masks for color grading!

As of commit 49806, feathered masks are available in the sequencer for color grading!!!
About (f-word) time! Is this (almost) better than sex or what? :wink:

Seriously, though, we are now able to grade directly in the sequencer using feather masks which can be easily animated. I’ve just tested this and it is sooooooooo coooooooool!

Rough guide:

#1. load image/movie in the sequencer as usual
#2. use cool extra sequencer actions addon to open (a) image in the UV editor and (b) movie in the clip editor
#3. On either editor, switch to mask mode
#4. Ctrl+LMB click to create a spline (continue clicking until you’re done with an outline of the area of interest)
#5. Alt+C to make spline closed group (or click on checkbox “Cyclic” on the Active Spline panel on the properties window)
#6. Also click on checkbox “Fill” to fill the mask on the same pane as #5 (optional if it’s on by default don’t remember)

Now this creates a mask which can be added on top of any strip in the sequencer. In the sequencer window hit Shift+A and select “Mask”. This will add a mask which can be multiplied over strips below but it’s not feathered. The tricky part for me was to figure out how to activate the feather. Shift+F worked but created a feather inside the initial spline which did not work as a feather. The solution is to go to the Mask menu (on either editor) and select “Switch Direction”. This reverses the order and the inner spline becomes the outer (i.e. feather) one so that when it is imported in the VSE it is actually feathered. (Btw Shift+LMB allows the moving of the feather nodes).

That’s it! Now that you have added the mask to the sequencer above an image or movie strip set its mode to multiply and change its opacity so as to make the blend with the strip underneath smooth and the fall off imperceptible. Now activate color balance through the sequencer N-panel checkbox and grade as you like (actually this could have been the very first step, even before the masks but oh well…). It will update in real-time! (I’ve tested an HD clip and didn’t seem to require proxies but this should be further investigated)

In case you need to animate the mask (obviously for movie strips only), you could use the movie clip editor to move the mask, adjust its general shape, and insert a keyframe by hitting I on the keyboard. Move a few frames forward and repeat. Shrinking, rotating, and moving all work with the standard shortcuts. Overall, animating works like a charm! It’s very fast, responsive and you also get real-time updates!!!

The 12th August 2012 will be remembered for the incredible world record set by the Jamaicans and the fully working VSE feathered masks! :slight_smile:

Final notes:
#1. in his commit Sergey writes that the mask should be used with adjustment layers. While it makes perfect sense to call the mask directly through the adjustment layer (i.e. without having to add each and every mask on the sequencer), I cannot get it to work using r49813 on my linux box. Maybe it’s not implemented or fully functional yet. That would be some workflow as it would eliminate the need to insert dozens of masks and mask layers.
#2. while multiplication works without problems, mask-controlled saturation is not implemented yet.

A big thanx to devs and to anyone involved! :slight_smile:

PS: in the unlikely case that people feel that a mini-tut would be helpful please say so and I will prepare one.

Good catch, I haven’t been watching the commit logs as I should!

It’s a shame that you can’t use the mask as a matte shape, controlling the alpha between 2 other strips :frowning: really would love that for simple effects work.

  1. add mask above your clip and set blend mode to alpha under
  2. add adjustment layer above mask layer and color balance on this layer


Nice! Any improvement to the VSE is always welcomed. :slight_smile:

EDIT: Further improvements to the VSE:

Sergey Sharybin worked on Sequencer improvements last week:

  • Improved caching so now tweaking settings of a single strip wouldn’t free the whole cache
  • Made effects and color balance multithreaded
  • Added masking for adjustment effect, docs on this will follow.
  • Split view support



I notice that when using the mask (through the adjustment layer), the multiply value works within the mask shape but the color saturation value works on the whole image. That is rather annoying when you only want to affect part of the image.

Also I could not configure the strips to achieve the alpha under, so mask strip performs hole cutting of adjustmnt layer? I don’t seem to be getting an alpha channel with the mask?

Well, it appears to works as expected on my system.

ungraded shot:

color-correction through adjustment layer:

mask-controlled color correction through adjustment layer:

//follow up post due to max file attachment number per message limitation

multiple effects (e.g. glow added on top of the former ones):

The thing is that I’m not sure if I’ve figured out how exactly this is supposed to work, i.e. what the indented workflow is. I mean, it would be ideal to add an adjustment layer and determine which mask/mask layer to use without the need to add the mask strip as well. As it stands it looks a bit redundant because the mask needs to be imported both as a separate strip and be specified as a property of the adjustment strip. Or am I missing something?

@3point: Sergey mentioned that mask controlled saturation is not coded yet. But I guess that he meant the saturation field directly available through the N-panel. In my tests, it was possible to control saturation through the color balance node.

I still dont see how the mask strip interacts with the adjustment or original footage? I notice that you have filled the mask field of the adjustment layer, so that you are not using the mask strip. I can turn the mask strip off or remove it for no effect.

After playing with mask editing in movie clip window, it is anoying to hit refresh sequencer button all the time to see a change in effect.

Oh i see you need to have the mask present as a strip in the VSE for the adjustment layer to use. I thought that it was pulling it from the editor window. But I guess it needs to know the frame offset to syncronise the keyframes in the VSE.

To get it to work you need to add the mask as a separate strip && fill the same mask in the respective adjustment layer field. I attach the blend file without the still (am on vacation and I’ve only got pathetic Edge coverage around here).

This is why I was puzzling about the intended workflow: why should we need to add the strip mask per se if it can be called via the adjustment layer? At least that’s what I understood from Sergey’s commit description. Maybe he’s not done coding yet.


newSequencerMaskTest.blend (477 KB)

It must use a seperate Mask strip so that you can define the start frame. This way you can trim the begining or slide the timing of any animation you may have produced in the mask (tracking a face for example). This makes it independent of the adjustment layer, which is quite useful really.

I think that setting start/end frames could be easily added as an extra field on the adjustment layer. This would make more sense than loading dozens of masks on the VSE. In fact, I think that Sergey is ultimately aiming for that

And while making it independent of the adjustment layer might help, consider all those cases where you simply need to duplicate a graded adjustment layer over other strips and use it as a base to fine tune color values.

On a side, I was doing some CC yesterdays and getting confused by the new color wheel layout. I was expecting lights to be at the top, but Sergey put the darks, from the left, at the top. Labeling would be helpfull or fliping them for logic’s sake.

I totally agree.
There’s two interrelated problems. First, the new vertical layout takes up more screen space so one would need to make the sequencer window huge to see all three wheels at the same time. The previous color wheels layout (horizontal) was more manageable at least for me because I could just extend the N panel sideways and keep the image preview window big. Maybe it’s just an issue of getting used to a new layout.

Second, the notation of each wheel (lift/gamma/gain) is needlessly cryptic. I wonder if these names are standard in other editing/compositing apps. Why don’t we just label them blacks/mids/highlights? Moreover, I think it would make more sense to provide visual cues as to which wheel is which, i.e. make the wheel for the blacks appear somewhat dark, the mids grey-ish and the highlights brighter. This is “natural” mapping so no matter how they are arranged confusion is eliminated. It’s what they’ve tried to implement on the RGB node in the new compositor where e.g. the red curve appears uh…yeah… red. It’s not very successful though because it’s way too subtle and making the whole channel area appear e.g. red (and not just the curve) would have been more appropriate IMHO.

I know this is open source but I wonder if they accept proposals! :wink:

lift/gamma/gain is industry standard and has been for many years. I still call video footage and I film stuff, so much is anachronistic. I guess it depends on the expected end user.

I agree that there should be more choice for the wheel layout, I don’t mind vertical but think labels/shading would go a long way to communicating use.

Not sure how you get to suggest stuff/proposals to devs. There doesn’t seem to be any constructive interface other than the bug tracker. I guess you could contstruct a really good proposal with images and make a thread, then shout about it everywhere. With a poll in discussion might be good.

In the mango weekly I saw that they made much easier to use the mask with color corrections and you can stack the corrections as layers.

Yep, jaw-dropping experience! :slight_smile:
Lots of goodies to come.
It looks like Sergey was stacking layer effects as modifiers directly in the sequencer.
I tried tomato but it’s not there yet, must have been some internal/test build.

Use the + & - keys to zoom them :wink: If choice between vertical and horizontal wheels I’d go for in a triangle shape, close to each other, less mouse mileage. :slight_smile:

Wow, those color tools will be a welcome relief for the poor old VSE. Should only have to go out to nodes for actual effects work instead of just grading.

i prefer the horizontal version of the 3 wheels… and also like the lift/gamma/gain nomenclature, it remember me the analog times in the darkroom…

a few days ago i started a script to manage the VSE color wheels with hotkeys, but with the new version it doesnt work, i had to wait a little to see how it is going and then i will script it again.

The hotkey i am planning:

press 1 over the VSE and you are rotating the color lift with the mouse movements,
pressing 2 for the gamma
3 for the gain…
shift+1 for the luma lift
shift+2 for the luma gamma
shift+3 for the luma gain…
4 to change saturation
and shift+4 to reset saturation
and 5 key to reset all wheels values…

What do you think about it? There is no need to go to the panel and back with the mouse with this method…