Media Lovin' Toolkit

Media Lovin' Toolkit (MLT) is an open source software multimedia framework, designed and developed for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications. The functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API.

It is used by video editors Kdenlive and Shotcut among others.

Technical overview
MLT provides an API with minimal dependencies (POSIX and C99). The design is modular allowing for the addition of new components and making integration simple with other multimedia libraries and applications. Support is available for the authoring and manipulation of time-based media including playlists, multiple tracks, filters, and transitions using DOM.

High-level language bindings exist for C++, Java, Lua, Perl, PHP, Python, Ruby, and Tcl. MLT takes advantage of multi-core processors and GPU processing.

MLT has a modular design that supports multiple libraries like FFmpeg and Jack. Through FFmpeg, MLT is able to support nearly all audio and video formats with optimized operations. Video and audio effects include image scaling, alpha-compositing, deinterlacing, masking, motion-tracking, audio mixing, audio gain, and wipe transitions.

Other features include:
 * A selection of output targets/profiles including HD
 * Lossless video editing up to 4K resolution using FFV1
 * An XML authoring schema
 * YAML-based metadata and schema for documentation of modules, their services, and parameters
 * Live IP streaming output via FFmpeg
 * Command line program: melt
 * Comprehensive client–server protocol and API for playout scheduling
 * MLT Video Control Protocol (MVCP) based upon work in dv1394d and designed based upon SGI MVCP