Kdenlive is broken

I've seen plenty of interesting ways for software to break, but recently I experienced a peculiar way how some very basic functionality in my video editor of choice, Kdenlive, utterly broke.

You see, while I was on call at work, I needed to stay reasonably near my computer, in case someone else's code would break and I'd have to swoop in to save the day. So, I decided to do something fun and set out to write a blog post on porting a LOD plugin for the Godot game engine from its proprietary GDScript language to something more common, like C#. As a part of that post, I wanted to include a video with the performance comparison between the implementations.

I shot the videos with OBS with no issues, even found some copyright free music to use... and then Kdenlive ruined everything.

What went wrong

You see, I had a pretty simple timeline set up, with a few videos of the various implementations, some title captions over them to explain which is which and a music track. About as simple as video editing gets and something that almost any piece of software should handle nicely:

Kdenlive lies

Emphasis on should, because it did not. You see, when I exported the video, it appeared that my captions were all offset rather oddly. For example, I have a bit in the video where a bunch of spheres are rendered and are colored yellow to show when a lower detail model is used, whereas they become red once I disable the LOD mechanism.

Yet, in the video, the new caption showed up seconds earlier than it should have, when the LOD mechanism was still enabled:

wrong timestamp

Whereas in actuality, it should have been (also according to the timeline) showing up a bit later, once the spheres actually change color to indicate that the mechanism has been disabled:

right timestamp

Curiously, Kdenlive at least has log files for the export process, which indeed did display an error, about the underlying processes not being given all of the necessary data:

broken project

Yet, there was nothing in the UI to tell the user that something has gone wrong! Well, apart from the fact that the video rendering refused to finish and got stuck, in a "Waiting..." state:

job queue gets stuck

So, now what?

What to do about it?

My first instinct was to drag around the titles on the timeline, to see if maybe the UI has broken in some way and the timing information has actually been lost. That did not work.

Then I thought that maybe I should attempt exporting the video in WebM instead of MP4, perhaps the VP8 encoder would give me proper results. That also did not work.

After that, I considered to maybe save the project, close Kdenlive and open it again with the project, in case something has gone wrong in the running software. That actually revealed something a bit worse. You see, Kdenlive had decided to move around stuff in the timeline and place things where it thinks they should be, not where I explicitly told it to put things:

Kdenlive breaks your project

Essentially, it's no different than letting someone come in and randomly mess around with your project and ruin it. I mean, my video was relatively simple and I could put it back together in a manner of minutes, but consider what if something like that happened with something longer, like a video essay, with dozens if not hundreds of individual elements. That could be days of work for someone, to fine tune everything, just to have your software pull the rug out from under your feet.

There was no solution, other than to use another program. In the end, I opted to post the broken video, because I don't care that much about it in this case.

Summary

It's sad to see that even such basic functionality is broken in video editing software.

Then again, the question becomes, what other software can you even use?

In my case, the choices are limited:

  • Kdenlive - despite this flaw (which might turn out to be a dealbreaker) is one of the few actually viable options
  • OpenShot - utterly broken and crashes when you try moving clips around the timeline, snapping is broken, even setting aspect ratio or cropping the viewport didn't work
  • Shotcut - the performance was oddly bad last I checked, though it seemed more promising than OpenShot (might just be my AMD hardware)
  • DaVinci Resolve - seems to place limitations on the formats that you can export in an effort to upsell the Studio version (though those seem more lax in the recent versions, e.g. up to 60 FPS)
  • Sony Vegas - paid software, cannot afford it
  • Adobe Premiere - paid software, cannot afford it

So, it seems like I might have to either look at the very latest updates to Kdenlive in the near future, or try something like Shotcut or DaVinci Resolve again.