MLT gets a video stabilizer, Kdenlive is next


The quest of telling Kdenlive developers about an existing open source video stabilizer and getting it in Kdenlive is about 1/2 done.

Earlier today Dan Dennedy merged to MLT a new filter that is a port of KLT Video Stabilizer. If you are not much into Kdenlive’s architecture, MLT stand for Media Loving’ Toolkit, and it’s a multimedia framework used by various applications including Kdenlive for IO and processing.

The original KLT Video Stabilizer is a project by Leonardo Masoni, and it uses Kanade-Lucas-Tomasi feature tracker. Most work of porting the application to MLT was done by Marco Gittler. Just like the original algorithm, the filter makes two passes, first to analyze data, then to apply corrections.

Right now if don’t mind building MLT from Git (or using a build from PPA on Ubuntu) you can test it using melt. Dan graciously provided example commands.

Pre-processing:

$ melt -verbose -profile quarter_ntsc_wide capture001.m2t.mpg out=1000 -filter videostab -consumer xml:capture001-vstab.mlt all=1 real_time=-2

Previewing:

$ melt capture001-vstab.mlt

Encoding:

$ melt capture001-vstab.mlt  -verbose -consumer avformat:capture001-vstab.webm properties=webm real_time=-2 threads=3

The two-step nature of the process means that user interface cannot be automagically generated in Kdenlive like it’s done for other MLT and frei0r filters, and the filter will probably not be animatable (should it be, anyway?).

Right now Kdenlive team is wrapping up v0.8.2 release and is planning to move source code repository to KDE after that. Then we’ll see how much time it will take to finish integration of the video stabilizer into Kdenlive.