Creating a Video With Scheme


Hacking the MLT Framework with Guile

Before this week got completely lost to the events of life, I was actively working on a new video for the channel.

However, I didn’t really want to settle with the typical old format of me just talking over a screencast in realtime. I’d like to increase the quality of the videos and make them more impactful through good editing.

This lead me on a bit of an oddysey both through the current set of Linux video editors (because Blender has unexpected limitations), leading me to once again try to write my own editor or video creation toolkit using Scheme.

The two options were libav which powers ffmpeg or a library I’ve been looking at for a while but never tried called the MLT Framework:

This library is really interesting because it has a really simple C interface and internal data representation, making it easy to write my own Guile library on top using the dynamic FFI feature.

Ultimately I ended up making a short video using the Shotcut editor (built with MLT), but now that I’ve learned the capabilities of MLT better through Shotcut, I think it’s time to try and replicate that video with the library that I’ve been working on.

Let’s see what we can do!

Here’s the code:


Subscribe to the System Crafters Newsletter!
Stay up to date with the latest System Crafters news and updates! Read the Newsletter page for more information.
Name (optional)
Email Address