Need help with color correction / grading workflow

Hello everyone,

I'm starting to get a coherent workflow together using Kdenlive and MLT tools, but at the moment what I'm really lacking is a good color correction and color grading strategy.

This has been on my mind quite a bit recently, since I have a few short films which are finished but in desperate need of a final overall "look" to glue the various scenes together. This is really the last piece I need to complete my general workflow.

I've read Granjow's tutorials, which were very helpful for understanding the analysis tools, but he only briefly mentions secondary color correction in passing at the end. I like the examples he gives, but unfortunately he doesn't go into detail of how he got there:

http://kdenlive.org/users/granjow/introducing-color-scopes-vectorscope

What I'd like to know is:

1) Has anyone developed a good strategy or personal recipe for color correction and grading in Kdenlive?

2) How can you create masks and select ranges for secondary color correction in Kdenlive?

3) Does anyone use other programs in conjunction with Kdenlive (Blender, for example) to do primary and/or secondary color correction? What is your workflow?

Many thanks in advance!

Hi Delfine,

Good question actually and I also hope someone will come up with an enlightening answer.
I just love kdenlive, especially since version 0.9 (and even more especially since it's stopped crashing during rendering) but I also sometimes find it rather limited when it comes to colour correction/grading, especially when it comes to secondaries.
For primaries, I find that curves work reasonably well (though they are - or at least used to be - limited to three points, I think), SOP/SAT and RGB are also good tools to use in conjunction with the parade and vectorscope.
Anyway, as for your questions:

1) I don't know, but this is what I do: in simple situations, I do primary colour correction and some grading in kdenlive.
2) Rotoscoping is the only way I've found to do this in kdenlive. You may want to have a look at this article (http://opensource.com/life/11/11/kdenlive-part-4-colour-correction), if you haven't already. It quickly becomes quite limited, though, when you want to work in more than one area of the image. It's hard to beat a node-based approach in such a case, I believe, which brings us to...
3) I use Davinci Resolve Lite, I think it's hard to beat in terms of sheer colour correction/grading power at that price (free). The workflow is not the easiest, I admit, since kdenlive cannot export EDL or XML (not that I know of, at least). When I'm completely done cutting the video, I render every single cut separately using a lossless profile (I can't remember off the top of my head which profile I use right now, cause I'm on a different machine) and transcode them using 5DtoRGB into ProRes. When importing the transcoded cuts into Resolve, you can create a master session with all your cuts so you can compare them and reuse some of your grades/nodes if needed. I then export the cuts one by one, probably in DNxHD (again, I'd need to check) and reimport them directly into kdenlive. If all goes well (check your fps carefully during the process!), it's then just a question of replacing the old cuts in kdenlive's timeline with the graded ones.
Having said that, I also use Blender/Cycles a lot and I should probably try to see if the same can be done using its compositor. For some reason I never really got comfortable with Blender VSE.

That's just one way. I'm sure there are better ways to get to the same result. I'd love to be able to do secondary correction efficiently in kdenlive and I hope to read some other strategies in this thread.

Just a few hints how to do some secondary (non-global) color manipulation in Kdenlive:

1. Level-selective: (lows, mids, highs)
Use the "curves" tool. The three points are movable in two dimensions, so this tool gives you more options than the traditional "color wheels"!
Three point balance will do level-selective color shifts too, but is a bit counter intuitive, as it moves the color AWAY from the selected color. This is good for removing unwanted color casts (white balancing), but not so handy for creative color manipulation.

2. Color-selective: (based on hue, saturation....)
First, make an alpha mask using the color selection tool. Next,
For simple adjustments, use RGB adjustment with "Alpha controlled" ON.
For more complex tasks, composite the image with itself, then use any color tool, or a combination of them, on one or the other track. The only thing that will not work well this way is hue rotation, because it is not a linear operation.
btw, the new key spill mop up tool could probably also be abused to do some color dependent color change, directly, without the compositing step.

3. Position selective:
Use rotoscoping to make the alpha mask, then proceed as in 2.
For very simple masks, alpha gradient could do too.

Garp, thank you for sharing your workflow.

I'm actually quite excited about the SOP/SAT filter because of its relation to ASC CDLs, which (if I understand correctly) open the possibility of reusing and sharing color correction recipes. I don't know in practice yet how useful this might be, but it sure is an interesting idea.

I downloaded and tried to install Davinci Resolve Lite a few months ago, but from what I could glean from the failed installation message (while installing Visual Studio I think), I need Windows 64, and my Windows machine is 32 bit. Can you confirm this?

You're right that Kdenlive can't export EDL. I'm not really sure of the reason for this (probably low priority on the developers' to-do list), but in my case it wouldn't help anyway. CMX 3600 only works with reel names and timecode baked into the file, and my DSLR doesn't do that, so that type of EDL is quite useless for my purposes. I can only work with progams that read from absolute file names and locations. In any case, one of the reasons I like Kdenlive is because a .kdenlive or .mlt file is pure XML. It's very complex XML, so you need a script to parse it and pull out the relevant information. Fortunately it looks like someone has already written such a script in Python. I haven't used it myself, but it's worth a look:
https://github.com/barry-lyndon/KdenParse

I've written scripts to translate XML from other programs to Kdenlive/Melt, but I haven't tried the other way around yet. I'm not sure what kind of XML Resolve needs, but you might be able to write a translation script in Perl or Bash (or whatever your language of choice is).

I also find Blender fascinating and overwhelming at the same time. I want to learn more about it, but I reckon the learning curve is about as steep as any program I've encountered.

Marko, THANK YOU for your very clear and specific advice about masking. I'll give your suggestions a try this weekend.

Thanks for explaining the three-point balance to me. Until now I couldn't figure out why it acted so "funny". I'll have another look at it.

You're right, so far curves have seemed to be the best tool for color correction in Kdenlive. Some questions I have, however, are: for Curves and Bezier Curves, do you need to create a new effect in your stack for every channel (R, G, B, luma)? I'm used to using Photoshop, where one Curves layer can contain adjustments to all four, so I'm not sure if I'm doing it right in Kdenlive. Also, is there any way to keyframe the Curves effect or the opacity of the effect to account for slight changes in the color/lighting of the shot?

A big thank you to both of you for your help!

Hey, thanks to you both for the advice and ideas.

Marko, that was an extremely clear and useful summary of secondary corrections in kdenlive. I'm looking forward to trying out your point 2 especially and see how it compares with using qualifiers in Resolve. Also want to look into the key spill mop up tool asap! (did you write the plug-in?)

Delfine, I'm not sure whether a 64bit OS is a strict requirement for Resolve but it's definitely mentioned everywhere in the documentation. I never tried to use it on 32 bit so I can't be more specific. What is definitely true, though, is that Resolve is rather demanding in terms of hardware. It was chugging along ok-ish with 8GB of RAM but it's much happier now with 16GB. Also, you really want to have a dedicated nvidia card in your system for rendering (the faster the card, the better) and another video card for the GUI (though you can get away with the HD3000/4000 sub-system in a core i5 or i7 for this task).
I'll have a look at the script for parsing kdenlive xml, many thanks for the tip. I have written python scripts for blender before but I'm not that fast or good at it - let alone the fact that I should also study Resolve's XML requirements for imports. I suspect that I'd spend more time to get a translation script to work than I spend now doing my return trips to Resolve.

Finally, to my knowledge, curves in kdenlive are not keyframable, not at the moment at least, so what you're after may require either splitting your clips or some compromise in the correction. In resolve each node and each corrector is keyframable*.
And, yes, you need to create a stack of curves if you want to work on more than one channel (L, R, G, B), see also the article I've linked in the previous post. Also, you may want to take into consideration the order in which effects are applied in the stack, which, afaik, is bottom-to-top, so you want to have your luma curve at the bottom of the stack of curves (first correction applied).

While we're at it, what I find a little counterintuitive is that new effects are added to the bottom of the stack, so as basis on which pre-existing effects will work, as opposed to on top of what you've done so far. This, of course, assuming that my understanding of the order in which effects are applied in the stack still holds true in the most recent version of kdenlive (any devs that can confirm this?).
I'd find it more logical if new effects were added on top of the stack, but maybe that's me.

*Disclaimer: before this conversation gets interpreted in the wrong way, I'm not trying to advocate the use of other software in the kdenlive forum, if nothing else because a) couldn't care less and b) my workflow has so many drawbacks in terms of time spent recoding/rewrapping files and of GB of hard drives wasted with multiple copies of the same files that I wouldn't really want to waste anybody's time with it. It just suits my needs, sort of, and I was sharing some experience.

Temos um "Big Linux".Qual Editor Kdenlive devo baixar:Debian , Fedora , Gentoo , Mandriva , OpenSUSE , Slackware ou Ubuntu ?

Antecipo agradecimentos!