Introducing ButtleOFX, free node-based compositor
A group of French students is completing the first stage of implementing a new free node-based compositing application, ButtleOFX.
Let's face it: creating a free node compositor seems to be quite a challenge, both in terms of programming and project management. Previous attempts, Ramen and Synapse, weren't exactly successful. Quite a few people even voiced an opinion that OFX support should be "just" added to Blender to fix it once and for all. And now there's a new kid on the block: ButtleOFX.
The project was started in October 2012 by 5 students of the IMAC Engineering School (France) as part of a 6 months tutored project.
ButtleOFX has a rather solid foundation: the open source TuttleOFX framework is based the OpenFX standard. The framework is actively maintained by a French visual effects studio Mikros Image, with initial contributions from Duran Duboi and HD3D SAS.
You can enable captions for subtitles in English
The main advantage of relying on TuttleOFX is compatibility with pretty much all available OpenFX plugins. For instance, the team successfully tried using Sapphire from within their application.
TuttleOFX itself comes with its own pack of OFX plugins: various color correction operations based on Color Transform Language, OpenColorIO LUT etc., all sorts of useful filters, geometric distortions, and text objects support.
For input and output ButtleOFX uses a variety of 3rd party libraries via its own internal plugins system: OpenImageIO, ImageMagick, LibRaw, OpenJPEG, OpenEXR, TurboJPEG. It also has its own code for supporting DPX files. The video plugin is based on the Libav library. The user interface is created with QML, Qt's declarative language.
And speaking of solid foundation, the students — Arthur Tourneret, Aurélien Greffard, Clément Champetier, Elisa Prana, and Xochitl Florimont — are mentored by Fabien Castan, a member of the TuttleOFX team.
We asked the team a few questions.
How much prior programming experience for digital imaging or special effects did you have before starting to work on ButtleOFX?
Before starting the project we had no such experience, we didn’t even know what compositing was! But we found it very interesting, it was a great opportunity to research post-production techniques.
Did you have much interaction with the TuttleOFX team?
Except for Fabien, we didn’t talk to the TuttleOFX team much, but we know they followed our work throughout the year. We recently had the opportunity to meet the team and we will certainly stay in touch in the future!
What about VFX studios? Did you ask any for consulting you on the feature set, usability etc.?
No, we were free to choose the features we wanted to implement. It was part of the first steps of the project, after carrying out a competitive analysis. So we had the chance to decide on both the user interface and the features we wanted for ButtleOFX.
How far in the future is your work planned?
A new team of students will most likely take over the project next year (for 6 months starting from October 2013), in order to improve ButtleOFX and implement new features.
Besides, the TuttleOFX framework is continuously developed by another team, comprised of industry professionals.
Will Fabien mentor the next group of students?
Yes, Fabien will submit a new project to the next year students so they can take over our work. He will supervise their work like he did for us.
How much secure is that in terms of project maintenance and further development? After all, having a dedicated team is typically decisive.
It is 90% secure. The future team will have time to focus on this project, so that will ensure the development of ButtleOFX.
We will be in our last year of studies, so we will have many other projects to work on, and very little time for ButtleOFX. However, we will be studying in the same school, so if the new team has any questions about our code, we will be there to help. And, of course, Fabien will be leading the project.
What are the topmost priorities regarding further development?
The current version of ButtleOFX does not cover all TuttleOFX tools yet, but we aim for complete support. E.g. we can currently apply effects on images and videos without keyframes. So the next main step is to implement this feature and provide a timeline.
Another feature we need to improve is the viewer: at the moment it is very basic, but we plan to leverage the power of OpenGL to make it more useful.
Will this work be done by the current team or the next team?
It is certain that the future team will implement new features, but they will have to discuss and decide on their own objectives in October. The keyframe management will probably be one of the first things given that it is essential for a compositing application.
What are your personal experiences from working on this project?
It was interesting in every way. From technical point of view, we discovered the QML and Python languages which are great! It was also our first large project, so we have improved various skills: software architecture design, programming, group work.
It was interesting to collaborate with the other students of the team, we had to divide up tasks, and we could see the project progressing while everyone was working on separate parts of the application.
It was difficult in the beginning to start from a big existing project (TuttleOFX), but so enriching! Working in an open source environment is also very stimulating, because during development we knew that people supported us.
Finally, it was a first approach to the world of post-production!
Is it something you would be interested to do in the future professionally?
In the future, we might like to continue in this field. We will see next year, when we graduate from our school!
The team is currently working on providing builds for testing by a wider audience. You can follow the team's blog for related news, or try building everything yourself. In the latter case you will need Git repo checkouts for both TuttleOFX and ButtleOFX.