KDEnLive: Most Promising, But Not Quite There Yet

KDEnLive 0.7.5 was released a few days ago, so I installed it on my Ubuntu machine to see how the app has been progressed since the last time I tried it. KDEnLive is the most actively developed, and easiest to use Linux video editor. Its UI resembles Sony Vegas in many ways; if you know how to use Vegas, you won’t have trouble with KDEnLive.

Upon loading the app you will see a project media bin, an effects stack, a transitions stack, the video preview window, and a history undo/redo stack. Below these tabs there’s the timeline. After you setup the “project properties” to match your source footage’s properties, you can drag n drop some clips in your media bin or timeline, and start editing. When selecting a clip in the timeline, you can choose from a number of effects, or add transitions. You can easily cut a clip, move it around on different track positions, you can group/ungroup clips or audio from video, add fades, etc. All the basic functions are there.

In addition to these features, there’s also a DVD exporting wizard, and the ability to record from a V4L device (e.g. a webcam). KDEnLive is able to export in various formats, e.g. OGG, XViD, h.264, mpeg2 etc. There is also the ability for batch exporting, via scripts.

I threw many different formats in KDEnLive to test it, and the editor was able to read most of them properly (I was using Ubuntu’s unrestricted ffmpeg version that had support for unlicensed codecs). I tried footage from 4 different AVCHD manufacturers, HDV cameras, the Canon 5D-MII, the Olympus Pen E-P1, the Panasonic GH1, the Panasonic LX3 and FX150, the Canon SX200 IS, the Kodak MPEG4-SP cameras, DV AVI, Aiptek h.264 MOV, Samsung’s h.264 MP4, Ogg Theora, WMV, and XViD. KDEnLive supported all these formats properly, except a .MOV h.264 format with MS-DVI audio (freezing while playing back), and the Olympus E-P1 MJPEG footage (it would load it and play it right, but it thought that the clip had no ending, so the clip was taking over the whole timeline!). Another problem I had with KDEnLive was that one of my MP4 h.264/AAC files (created with the MainConcept encoder) had its audio not recognized, while a MOV h.264/AAC file (encoded with Apple’s FCP) was recognized (my ffmpeg does have AAC support btw).

When I say that KDEnLive supported all the other formats, I mean that when I actually exported out, they looked/sounded right. But you see, while editing, the footage was not always right, e.g. AVCHD has terrible artifacts, as you can see in the picture below (artifacts that do not show up if you export). Also, no matter which format I used, even low-res formats, the audio was always choppy while playing it back (something that other editors make sure that first audio is smooth and then they take care of the video, if there’s enough CPU left to use).

On top of that, add frequent crashes while editing. HDV’s MPEG2 .m2t proved to be the most stable format to edit, while MJPEG from the various digicams seemed to have problems. Funnily, while .m2t was somewhat stable while editing, it would crash the app completely if I used its undo/redo stack — something that wouldn’t happen with 5D’s h.264 format for example. Overall, I found KDEnLive unstable. It would crash out of the blue at various points. At one point, even its automatic recovery-saved project was crashing the app on load (obviously it was corrupted too)!

Other problems and missing features (that I consider important):
– No 3-way color corrector for white balance with a color picker that let’s you pick a white point in the preview window. The current white balance plugin is the suck.
– Contrast, and brightness plugins don’t start at a neutral position when loaded, so you never know how far you should go with them.
– No gain, unsharpen mask, blur, bump map, or vector colors, levels effects available. As a colorist myself, I feel extremely limited with KDEnLive.
– No way to tell the app that it might have gotten the aspect ratio or progressiveness of a clip/format wrong before we import it to the timeline. Vegas let’s you change that, and it remembers the setting for any future such formats added to it.
– The Project Properties dialog need more precision (they should at least copy Vegas’). How do I drop a field off a PF30, PF25, or 24PsF file, for example? These are progressive files wrapped in an interlaced stream. There’s no way to tell that to the editor (with Vegas, there is, and iMovie, it does that automatically).
– No way to drop quality in the preview window in order to accelerate the previewing speed. Vegas and Adobe’s CS4 have this ability.
– Overall, the app is about 2-3 times slower than Vegas with AVCHD/HDV formats. It’s about the same with other h.264 formats (as we already know, Vegas sucks with non-AVCHD h.264 files because it’s using Quicktime to decode these).
– The app’s DNxHD transcoding menu item only does PAL by default. Most NTSC users would never notice that they wasted a transcoding process to an intermediate codec in PAL! I noticed by accident myself, because it was just not obvious.
– There is no “3D plane” support for the whole track, while its pan/crop ability needs more features. In fact, pan/crop/3D should be part of KDEnLive, not as a plugin.
– There is no way to apply an effect or setting to the whole video track.
– No secondary previewing monitor support (in fullscreen with or without 1:1 size playback).
– No way to enable/disable the whole of the effects stack of a clip. You have to uncheck checkboxes one by one! Bad productivity there.
– Not all of its effects are keyframeable (on Vegas all of them are, even third party ones).
– The generated text clips’ dialogs are very primitive, and require manual work via “templates”. That solution is not exactly visual.
– The slow/fast motion dialog is primitive, doesn’t allow for different ways to enter the speed number, it’s not keyframeable, and doesn’t allow to drop frames while fast-motioning something (to make normal video look like it’s a timelapse).
– Transitions don’t show up in the preview window. You have to render them out, check them out, and then decide if you want to use them or not. In other editors, transitions are of course slow too, but at least you get an idea of how they look like in their preview window.
– The exporting dialog is very limiting and requires ffmpeg knowledge to do “more” with it. I have written about the kind of fields needed on KDEnLive here.

One thing that KDEnLive does better that Vegas/Premiere is that it has visual cues when you place your mouse over the edges of a clip in the timeline. You can set the fade in-out points, add transitions etc. In Vegas, if someone never shows you all the things you can do by placing the mouse cursor on the edges of a clip, probably you will never find out yourself (let’s face it, who in your family reads manuals?). In KDEnLive this will never be the case, because of these well-designed visual cues.

Having criticized KDEnLive enough above, rest assured, I don’t dislike the app. In fact, I find it to be the most promising video editor on Linux. But it’s not there yet. It’s not as good as the free iMovie in terms of capabilities/stability, let alone the more advanced (but still consumer-grade) $70 Vegas Platinum. But it beats any other free editor on Linux in usability (yes, I have tried them all because it’s what I do), so if you are an exclusive Linux user, this editor is your best bet to not get crazy in the process of editing your vacation’s video. In many ways, for a free app, KDEnLive is as advanced/stable as its version number indicates: 0.7.5. No better, no worse.

This is one project I will be looking at with great interest in the future. Now, if you will excuse me, I will go and file some bug reports and feature requests. I am interested in seeing the app grow and mature further.

Related reading:
Exporting with KDEnLive for YouTube/Vimeo HD, PS3/XBox360/AppleTV
Video editing with Blender
Basic video editing with FFmpeg on Linux


  1. 2009-07-07 10:24 am
  2. 2009-07-07 10:33 am
  3. 2009-07-07 10:41 am
  4. 2009-07-07 10:49 am
  5. 2009-07-07 12:56 pm
  6. 2009-07-07 1:54 pm
    • 2009-07-07 3:56 pm
      • 2009-07-07 6:48 pm
        • 2009-07-08 4:02 am
    • 2009-07-07 4:27 pm
      • 2009-07-07 6:46 pm
        • 2009-07-08 3:21 am
  7. 2009-07-07 2:52 pm
  8. 2009-07-07 4:01 pm
  9. 2009-07-07 6:40 pm
    • 2009-07-07 6:48 pm
  10. 2009-07-08 2:54 am
    • 2009-07-08 3:33 am