Feature: Graphics & Multimedia

Cinelerra community forks the video editor

The community surrounding Cinelerra, one of the premier non-linear video editors for Linux, has decided to strike off in its own direction and rewrite Cinelerra under a new codebase.

Cinelerra has its roots in Broadcast 2000, a rewrite of Broadcast 2.1 in the late 1990s by its owner Heroine Virtual Ltd. (HV), a mysterious group that has stated its anonymity is necessary to keep the division between personal and professional projects. The Broadcast 2000 name was discontinued in September 2001, and Cinelerra 1.0.0 appeared in August 2002 using the same codebase.

A community of users, developers, and Linux students eventually grew up around Cinelerra and tried to offer patches and fixes to HV. According to the Cinelerra site, "As time passes and new students come and go from the Linux scene, new forks of Cinelerra emerge that are more suited to the community but not what Heroine Virtual Ltd. needs." HV did not accept a significant amount of the updates, patches, and requests made by the community.

As a result, the Cinelerra community decided in April 2003 to maintain its own copy of HV's open source code, bringing about Cinelerra-CV. The project's Web site says, "[W]e maintain a copy that is fairly similar to the official release (i.e. we don't do code-tidying patches) [b]ut apply our bug fixes, compiler compliance fixes, and enhancements.... Thus the CV has a number of features that the official version does not have."

Gaps between the two Cinelerra development ideals became more evident last summer after community members began delving into the current code. According to Hermann Vosseler from the Cinelerra-CV community, "Chances are that by simply continuing as we always did, Cinelerra will suddenly be really outdated. Some other free tool with many effect plugins, bangs, and whistles -- but delivering only amateur quality -- will eventually take most of the user base, leaving the (obviously small number of) people needing professional grade quality with no free alternative to the commercial video editing solutions."

A new direction

The realization that HV and the Cinelerra community have different goals prompted a new milestone. The community is now creating a total rewrite of Cinelerra and striking out on its own, starting with version 3.

"Initially," says Vosseler, "we wanted to create a breach by reworking some inner parts of the existing codebase. This made us choose the name Cinelerra-3, as all of the current development is in the 2.x line. But it became clear that HV doesn't want to participate in such an effort. We don't need to reinvent video editing from scratch, because basically Cinelerra's approach is valid; and we can't reuse much code from the current code base because of its structural deficiencies."

Although HV remains cordial with the Cinelerra community and does not deride the effort, its spokesman stresses, "Heroine Virtual's roadmap is to reduce bloat, increase reliability, and focus on value instead of popularity." HV has requested that the new, forked version no longer use Cinelerra in its name. On the Cinelerra-CV mailing list, it asked, "Could you rename it something besides Cinelerra for version 3? As the creator of Cinelerra, we have a different schedule and feature set and would like to avoid the confusion of a version 3 from website B which is released before a version 2.2 from website A or a version 4 from website C which is completely different than version 5 from website D."

In the "already coding, but pre-alpha" stage, the community is happily obliging by looking for a new name. The core team for Cinelerra-3 (or Cin-3) has asked the community to brainstorm for a new name at the same time it is seeking programmers to help flesh out the new codebase. "We have an architecture draft (and a vision), we have more detailed plannings for some modules," Vosseler says. "We jumped into coding these first modules in August 2007, and we have a test suite but no finished modules yet."

Vosseler further explained Cin-3's status and needs:

"We are in a very early stage. We need people willing to get deeply involved, engage in design discussions, take a subsystem and substantiate the planning and start turning it into working code in accordance with what's already there. (Re)writing a video editor is thrilling, because you need to cover a broad range of skills and abstraction levels.

We have the large task of creating a high-performance data back end. Most of this will be done in plain C. We already have some contributors here, but the task is huge and requires experience in system programming, video and audio processing, writing performance critical code....

The middle layer -- where the editing operations are carried out -- is thoroughly object-oriented and implemented in C++. At the moment, I am working alone here. Lots of different tasks and subsystems are to be targeted, needing experience with large layered architectures, design patterns, modern C++ programming. I won't waste my time with "OO sucks, plain C is cleaner" discussions though.

We could use the help of people knowledgeable with current media production workflow to catch up with the necessary interfaces and integration hooks.

For now, we postponed the GUI, but we really need the help of people able to plan, design, and coordinate the implementation of an interface suitable for professional work. Supporting the openness and high degree of configurability we are about to implement in the bottom and middle layers is a real challenge at the GUI level and probably requires us to go beyond the conventional."

For the new code, contributors will have equal rights with each other, and use a distributed development model backed by the Git version control system.

So what does this mean for the current HV and the symbiotic Cinelerra-CV versions? The HV spokesman states, "We don't promise new features except for more bug fixes and migration to a newer Linux derivative." Asked if the community's Cinelerra-CV version will continue development alongside Heroine Virtual's version, Vosseler says, "Doing so seems reasonable. Cinelerra-2.x-CV is the same codebase. Lately, there was some brainstorming to allow the CV version to diverge a bit more from the HV version, which you could well read as 'even if it diverges a bit more, it is the same codebase.' Maybe Cin-3 inspires the other devs to invent some new things -- who knows?

"Personally, I am interested in Cinelerra-2.x being usable for day-to-day editing work, because it will be a looong journey for Cin-3 to even catch up."

Cinelerra community forks the video editor

I think this is one of the unusual instances where forking will really benefit the user base, rather than mainly solidifying the idealogical differences of the two tines. Development seemed to stagnate terribly around 4 years ago. I look forward big changes, and hopefully to its return into the multimedia-centric repositories and distributions it was dropped from during the last couple of years.

Cinelerra community forks the video editor

Cinelerra community forks the video editor

Posted by: Anonymous
[ip: 76.238.5.254]
on February 07, 2008 07:58 PM

I hope the rewrite works out. Cinelerra was a powerful program. the UI was not the most intuitive, and the rendering options weren't great. And it did crash alot. It would be nice if it were more platform independent. It would be great to see a new an improved version - good luck

Cinelerra community forks the video editor

Mistakenly import a file format it doesn't support (i.e. just about all of them)? Crash.
Render ANYTHING but Quicktime (which most Linux distros won't play back)? Crash.
Run out of memory? Crash (and take the desktop with it).
Cancel a runaway render? Time to fire up "Force Quit" i.e. force it to crash.
Get confused by the crack addict interface and click the wrong button at the wrong time? Crash.
Sneeze in front of it? Crash.

Cinelerra community forks the video editor

Posted by: Anonymous
[ip: 24.82.178.94]
on February 08, 2008 04:45 AM

'Some other free tool with many effect plugins, bangs, and whistles -- but delivering only amateur quality -- will eventually take most of the user base, leaving the (obviously small number of) people needing professional grade quality with no free alternative to the commercial video editing solutions.'

The above line is flame bait . 'Amateur quality'? Prove it. Is Hermann Vosseler saying that a rendered video in Cinelerra is better than one rendered in Pitivi? There are only a few current a few Linux Video editors that provide any 'effect plugins, bangs, and whistles' like LiVES , kdenlive, and OpenMovieEditor. http://en.wikipedia.org/wiki/List_of_video_editing_software#Free_.2F_Open_Source_Software so I guess what Hermann Vosseler is really dissing are these programs Multimedia Frameworks/Backends.

And there is only really one actively developed Multimedia Framework for Linux that has more than one or two people working on it and that is Gstreamer. Gstreamer is the choice of all major distros.

Of Course there are other multimedia frameworks such as MLT (which runs kdenlive and maybe Diva in the future ), mplayer ( Lives ) and libquicktime/ffmpeg (Open Movie Editor ), but MLT has basically a one man show.
libquicktime on linux may not be a "Multimedia Framework" per say and neither is mplayer.

But my point is this... Why start something from scratch ( because they want to... sheesh ) when they could pick one of the currently developed frameworks?

I would suggest these guys should start hacking on Pitivi and make something out of it ( Or even resurrect Diva ) .

I can't believe it, even Richard Spindler ( the creator and sole developer of Open Movie Editor ) seams to be more interested in the 2/3 year plan of rewriting Cinelerra than even his own project.