Natron 0.92 released with new roto and keying nodes

When it comes to compositing, there are, in fact, more options than Blender, Synfig, and ButtleOFX. Natron 0.92 has just been released with major new features.

The project is a free (Mozillla Public License v2) node-based compositor that relies on OpenColorIO for color management, OpenImageIO for file formats support, and Qt for user interface. It also works with 32bit float per channel precision and supports OFX plugins, both free and commercial.

Natron was started last year at Inria, a public science and technology institution that unites several research centres in France. Alexandre Gauthier, the lead developer of Natron, got the required funding from the institution, and last December he additionally won a “Boost Your Code” contest at Inria that offered him 12 months of paid development. In May this year, Alexandre presented the project at Libre Graphics Meeting in Leipzig.

Since then there have been two releases of Natron, including the last one that features:

  • New (rewritten) rotoscoping and chroma keying nodes.
  • New CornerPin/CornerPinMasked, Retimer, Crossfade, Crop nodes.
  • Bypassing of nodes (disable in properties dock).
  • Faster, more stable rendering engine.

We spoke to Alexandre Gauthier about some specifics of his work.

During your talk at LGM this year you stated that no open source project supports OFX which is not entirely correct, given availability of ButtleOFX and Ramen. While the latter project is inactive, ButtleOFX seems alive and kicking. Do you see a way for ButtleOFX and Natron to eliminate fragmentation and converge, since both project use the same toolkit and underlying technologies?

When I claimed at Leipzig that Natron would be the only graphical software to support OpenFX, I was indeed not being entirely honest.

First off, Ramen is no longer on topic, because its main developer has closed the sources from the web (not entirely true, you can find them on GitHub. No effort is put into that project any longer and I doubt this is going to change soon.

Regarding ButtleOFX, we (the team working on Natron at Inria) know them pretty well. We even met them several times and we regularly exchange.

In fact, the very first reason why we started to make Natron a “100% OpenFX” compatible software is thanks to the TuttleOFX team (more precisely, Fabien Castan who is the teacher of the ButtleOFX student project).

When we got to know there was already a first round of students who started the ButtleOFX project (last year), and Natron was more of a prototype kind with its architecture still being designed, we faced a major issue. We (the Natron team) wanted to make a free open-source compositing software, but with a small team, we would never be able to make all the hundreds of plug-ins that Nuke by The Foundry or Adobe After Effects have.

Fabien introduced us to the OpenFX open-source framework, developed by The Foundry and he presented us the TuttleOFX framework which consists of a set of ~80 plug-ins and a command line host.

What we call an OpenFX host is an application that is able to communicate with OpenFX plug-ins.

So from there we started to talk a lot more about how we could get to team-up, because it was obvious that both our works were heading in the same direction.

Rotoscoping in Natron

Natron had at that time all the engine to run node graphs, but we didn’t have the interface to work with OpenFX plug-ins, nor did we have the plug-ins. This was a great opportunity for us.

We started to work together, but we stumbled upon a small conflict of interest. I will skip the details, but as it turned out we realized we were not really heading in the same direction. With ButtleOFX, Fabien wants to make it a “student project” and a proof of concept, an application to serve small use-cases.

With Natron we wanted to do something else; we wanted to do an actual free open-source compositing software, reusing strengths of existing tools to offer it for everyone.

Another sub-reason why we didn’t use the TuttleOFX for use as a base of OpenFX host is that they didn’t even fork the original repository from the OpenFX association. Instead they changed all the files and renamed everything, making it impossible to track the changes that were made since they forked from the original repo.

So we decided to fork the official repo and provide small enhancements and bug fixes that make it easy for anyone to contribute and hop in. Our fork is on GitHub. We sometimes make pull request to the original repo and thus actually work in the open source ecosystem.

Lastly, we’re concerned about performances. With Natron we didn’t want to do something “sub-par” that would run slower and not produce equal quality to what a professional software would. For that we had to drift apart from the GIL-based implementations of plug-ins that TuttleOFX offers.

I didn’t run any official benchmark yet, but so far Natron appears to be quite competitive to Nuke 8 for rendering, if not faster sometimes.

During your LGM talk you also stated that you are targeting people who are studying VFX (basically, students), because proprietary software is expensive. However typically there’s academic licensing available. E.g. companies like The Foundry can give up to 95% discounts for students, and e.g. DaVinci Resolve 11 has a free Lite version. Since you also mentioned in the talk that most people don’t care about licensing, what other strong (technical?) points do you think Natron has (or will have in due time) as compared to existing free and proprietary solutions?

That’s true, we’re targeting research and education first. Don’t get me wrong, 95% discount is great, but that’s still 180 euros for The Foundry’s Production Collective to just get updates for 12 months.

Plus, there’re not only students out there who study in one of “The Foundry acknowledged” university. There are some people who already have a job, some people learning for leisure… Well, I can’t mention every case possible, but the goal of an open source software is to offer to every-one  the same capabilities.

We believe knowledge and learning should be available for every-one, but not just as a “free lite version”.Of course, Natron is not production-ready yet, but when 1.0 will be released, that will be a great tool to actually get from zero to ready for the usage of a commercial application. And we don’t plan to stop there.

We designed Natron so it can be extremely extensible, with a very small source-code base (~150K lines of code as of writing). We put thoughts in all aspects that would make someone first use a compositing software in the first place and reserved some space for it to be implemented.

So the main advantages of Natron would be…?

I’d say:

  • free compositing software;
  • intuitive state-of-the-art user interface;
  • access to all open-source contributions and dynamism, which means fast bug fixes and updates;
  • access to commercial plug-ins as well;
  • complete state of the art animation engine to provide  accurate control over the animations of the effects;
  • complete rotoscoping tool which will be coupled soon with a Tracker so it can provide the end-user endless possibilities to edit their effects;
  • Natron can handle multiple views in stereoscopic footage and render simultaneously visual effects for all the views;
  • Natron will be entirely scriptable;
  • Natron can run as a background process and doesn’t require a display server which means it can be used on a render farm;
  • if a GPU is available, Natron ’s viewer is hardware accelerated, making it fast and responsive even for very large size images visualisation.

And for developers?

Well, developing a plug-in should not take much more than 500 lines of code and yet still be multithreaded and take advantage of all the architecture your CPU offers. We provide lots of open source plugin examples with Natron — in fact all effects were coded as separate OpenFX plugins, using the well-documented official OpenFX SDK, except for the Roto node.

This is great for students, PhD’s and researcher who want to provide a solid implementation of an algorithm and still provide optimised results easily. Natron takes care of all the burden of multithreading, user interaction, and image drawing for you.

Also, using OpenFX means that your plug-in will be available on all OpenFX platforms, including Nuke, Vegas, SCRATCH, Fusion, DaVinci Resolve, DustBuster, SGO Mistika, Autodesk Toxik, etc.

Natron is also a great open-source multi-threaded Qt application and people can see what’s under the hood for software architecture design purposes.

The resemblance between The Nuke and Natron is quite striking. Why did you reuse so many UI solutions?

I’m glad you’re not asking the usual “Aren’t you worried that The Foundry might get really angry?” question.

While developing the application and implementing the support for OpenFX, we happened to realize that there is not many different ways the architecture of a node based application can be — that is, internally, of course.

The OpenFX specification is really driven to a node graph model such as the Nuke’s one (in fact, its very own inventor is co-founder at The Foundry…), so no wonder why this specification seems very close to how Nuke works.

When you have the same features of an application and follow the same specifications you end up with very little room for user interface differences.

Is the grey looking too familiar? I can’t seem to find a compositing application with a different tone of grey.

Node properties in Natron

Secondly when you implement an application which will be used by professionals who potentially have a lot of background in the usage of such software, you want to make sure you don’t break all their habits, otherwise they won’t bother. When you have an entire keyboard layout in mind and you need to switch to another, this is a lot of pain. When you have to spend afternoons just to find how to configure the same plug-in but on another application this can be very frustrating.

What I mean is, I see the artist carrying his toolbox of plug-ins, as a carpenter would have his toolbox. The carpenter knows how to use them no matter what roof he’s working on, so should the artist. The real value in the end is the ability of the artist to produce outstanding results with plug-ins he or she can master.

I think every software is a piece of all softwares that existed before, take a look at Eyeon Fusion which existed prior to Nuke for instance…

There is nothing wrong in re-using the strengths of other user interfaces, as long as no copyright is infringed regarding artistic work (such as icons etc.), and the underlying source code is different.

Finally, I must say we’re not targeting the same audience as The Foundry is. I don’t think we’re going to create troubles for them, they have big industrial clients whereas we first target teaching and learning. At most we would be glad if people can learn how to use a compositing software on Natron and then move to the super-production tool which is Nuke for professional production work. As I see it we’re more like promoting The Foundry instead of trying to be a competitor.

Have you already given Natron into the hands of people who do compositing by contract — for feedback? I’ve seen a few threads mentioning Natron on BlenderArtists, but people barely reacted. So how good it is in production on deadlines?

We’re in contact with people who do daily professional work on Nuke and After Effects, and we get feedback from them. For now we don’t offer enough tools with Natron for it to be ready for production work. We hope that with the new rotoscoping tool that we will be able to get more people using Natron. The objective is really to offer a toolset that would make Natron be usable for professional purpose.

What kind of contributions are you interested in currently?

We need contributors among Linux user willing to make packages of Natron available for all distributions, so that people had alternatives other than building the software from scratch!

And we need contributors to make more open-source plug-ins, so that the whole open source compositing ecosystem could shine altogether.

In  fact, the question of amount of free OFX plugins popped up a few times during your LGM talk. Do you think the sole existence of projects such as Natron, Ramen, and ButtleOFX could improve the situation, or do you think you could do some extra work to make matters better? What kind of work that would be?

As of today, there is not enough open source OFX plug-ins for someone to be production ready, using only open source tools.

We’re working hard to make that possible. First there is the TuttleOFX plug-ins suite, which is great and gives access to almost 80 plug-ins for basic image modification.

With Natron we also work aside on more complex plug-ins. For example we implemented a complete rotoscoping (mask editor) tool, a good chroma keyer, and we’re working on a tracker.

Are you reusing some existing solutions to create a tracker?

I can’t tell you right now what we’re going to use exactly as we haven’t implemented the tracker entirely yet, nor have we tested it. However, we want the tracker node to be extensible.

What I mean is, we will implement a base algorithm for point tracking, but the plug-in will have space to implement other algorithms so that the user can choose what’s best suited for his needs.

The challenge is also to come up with an intuitive user interface that is similar for all different tracking algorithms that the node may embed.

If you can stand a bit of this sad IT journalism questionnaire, what’s the estimated timeframe for the arrival of the v1.0 release? :)

We will most likely release the v1.0 before ACM SIGGRAPH 2014 in Vancouver, where we will have a booth (I will be there). This week we will release a new beta build including many new features and enhancements. With each build we’re adding nodes and tools growing the software altogether.

Is the funding settled for the next round of the work on the project?

Natron will be funded for another year, and probably also after that another year as well ;)

And your primary objectives for the future are…?

Plans is to get the application entirely scriptable so that things like tracking and rotoscoping can be really used altogether in a production environment.

We also have plans starting October this year to make a full OpenFX suite dedicated to stereo vision and multiview.

What would that suite include?

Natron can already process stereoscopic footage, but it still needs stereo-specific effects such as vertical image alignment (also called rectification), view interpolation, Z-keying and so on.

Natron is currently available as builds for Windows and Mac. Source code repository is being maintained on GitHub.