Media Lovin' Toolkit

 Melted

“author, manage, and run multitrack audio/video compositions”

“the engine of a non-linear video editor that can be used in all sorts of apps, not just desktop video editors”

MLT is an open source 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.

Download

News Subscribe to RSS feed

server reorganization

Turnkey Linux Hub

The MLT web/wiki and git server has moved out of the garage and into the cloud to offer better uptime, responsiveness, and collaboration. Turnkey Linux has a TWiki appliance, so we moved the web site to its hub service, which provides cloud-computing for its appliance images. This greatly simplifies management partly because it has many things related to security and backup already setup.

github - social coding
Then, we had to decide what to do about the git daemon and gitweb service - whether to migrate that to the hub instance as well or whether to use a popular git hosting service. GitHub has really become a great collaboration service with code reviewing, pull requests, and issue tracking, giving it an edge over others. Not to mention, so many developers are already registered and ready to fork. So, effective immediately the authoritative git repositories are now at https://github.com/mltframework/.

TeamCity
Not done yet. A new contributor has setup an automated build server that uses the build scripts, which are now being maintained in git instead of the wiki. The build server is primarily for quality assurance purposes at this point, but there are plans to offer nightly builds of popular MLT applications from this service. We have a little more work to expose that properly.

(Thu, 26 Apr 2012 04:13:00 +0000)
 
time properties
Support for time values in properties just landed in git. This means properties like in, out, and length that used to take and provide frame counts now also support timecode and clock values. This makes manual authoring and reading XML easier. For example,


$ melt color: out=:5.0 -consumer xml no_meta=1 time_format=smpte
returns the following XML that can also be parsed:
<mlt LC_NUMERIC="en_US.UTF-8" version="0.7.9" title="color:">
  <profile description="DV/DVD PAL" width="720" height="576" progressive="0" sample_aspect_num="16" sample_aspect_den="15" display_aspect_num="4" display_aspect_den="3" frame_rate_num="25" frame_rate_den="1" colorspace="601"/>
  <producer id="producer0" in="00:00:00:00" out="00:00:05:00">
    <property name="mlt_type">producer</property>
    <property name="length">00:10:00:00</property>
    <property name="eof">pause</property>
    <property name="resource"></property>
    <property name="aspect_ratio">1.066667</property>
    <property name="mlt_service">color</property>
  </producer>
  <playlist id="playlist0">
    <entry producer="producer0" in="00:00:00:00" out="00:00:05:00"/>
  </playlist>
  <tractor id="tractor0" title="color:" global_feed="1" in="00:00:00:00" out="00:00:05:00">
    <track producer="playlist0"/>
  </tractor>
</mlt>


Hour, minute, and second components are optional, but there must be at least one colon for a string value to be interpreted as time. If the last component contains a radix, then it is interpreted as a clock value instead of a SMPTE timecode. That means, in the above, ":5.0" means 5 seconds, which for 25 frames per seconds, yields a timecode of 00:00:05:00, which could be abbreviated as 5:00 or even 5:. Of course, the numeric locale is supported for period or comma as radix, as needed.

This is exposed through the Mlt::Properties API as well for applications. Variants of other functions that deal with time are slowly being added, but Mlt::Producer::get_length_time() was already added. User interfaces often need to show and accept time values, and this makes it easier to support that in your MLT application.

Lastly, another benefit, is that one can use the clock values in XML, and they will automatically adapt to changes in the profile framerate. Of course, you may lose frame accuracy if you do change the framerate, but that may not matter for some use cases.

(Tue, 03 Apr 2012 06:13:00 +0000)
 
Kdenlive fundraising on Indiegogo


Kdenlive is running a campaign on Indiegogo.com. Check it out.




(Fri, 16 Mar 2012 00:44:00 +0000)
 
version 0.7.8 released
Not much to say about this release. It mostly consists of bug fixes, but here is a short list of enhancements:
  • Added a "multi" consumer - multiple, simultaneous outputs 
  • Added framerate adaption to "consumer" producer and "multi" consumer 
  • Can now use YADIF deinterlacer with decklink producer 
  • Added "rtaudio" consumer for native audio support on multiple platforms 
  • Added ability to request image format closest to source (mlt_image_none) 
  • Added more audio formats 
  • Added vqm (video quality measurement) transition 
(Tue, 14 Feb 2012 06:26:00 +0000)
 
End of 2011 Update
It might seem this project is rather quiet lately, but nothing could be farther from the truth. So, here is a quick update on what has been happening lately, what will be in the next release, and what to look forward to in 2012.

New Logo
Did you notice the new logo in the top, left of the page? It certainly can be improved, but the concept is represented. It is kind of like a wax seal, but not exactly - more like a flattened, melted blob.

ASI Consumer
This is mainly interesting only to the broadcast users of MLT. This component actually started development in 2010, but was finally wrapped up and verified DVB compliant recently. For playout, this basically provides a channel-in-a-box solution. When coupled with SDI input, it makes a live encoder for broadcast. This is not yet an open source component, but its existence is not exactly a secret since it has been listed on our Documentation page. With just a little work, I am certain this could be used for ATSC and CBR UDP output as well. If you are interested in this, contact us or B.C.E.

Multi-Consumer
This is an exciting new consumer plugin for the next release that basically lets you have multiple outputs! That could mean encoding from any sort of MLT playlist or composition to multiple files at the same time, each with their own unique attributes including different resolution and frame rate. Here are some other example use cases: simultaneous SDI/HDMI and IP streaming for playout, preview while capturing from SDI/HDMI, simultaneous GUI and SDI/HDMI preview in video editor.

Frame rate adaption
In addition to the multi consumer letting you have outputs with different frame rates, in the next release the special consumer producer lets an input with a different frame rate conform to the composition's profile. Most people do not notice this because the avformat producer is used most often, and it has performed this from the beginning. However, the decklink SDI producer is not quite as flexible. Basically, this means you can do simple (non-interpolated) frame rate conversion with SDI input, but it also means in the future we can fully enable the telecide filter for smart inverse telecine. Also, as a result of this work, now the decklink producer is compatible with the YADIF deinterlacer for superior results when encoding to progressive file or stream.

Meltymedia.net
I have a working prototype of running melt on Amazon Web Services under a job queue that dynamically adds and removes render nodes. The idea here is that there are a number of web and mobile app developers that want to use the power of MLT for advanced processing of XML-based audio/video compositions, but they do not want to deal with the hassle of dependencies, a good-working and current build of melt, compiling melt themselves, or command line usage of melt. Via HTTP, one can simply POST MLT-XML to the web service where the XML contains HTTP or S3 links to the file resources. Then, another service API call lets the client application check on the status and get links to the outputs. This is not quite ready to make available as I have a few more things to do, but it will be a paid service.

Shotcut
Shotcut is an old MLT project that provides a FLTK-based video editor suited to the very particular requirements of the original project sponsor UEL. That project has not been active for a very long time, and I am not really fond of FLTK or the app's design, but I liked the name well enough to reuse it for a new Qt-based cross-platform, open-source video editor. It will also work with the Melted server for broadcast customers that want a client that runs on non-Linux desktops. I am not ready to provide much more information or to provide a sneak peak, but I will soon because this is much more than just an idea at this point - the progress has been very steady and promising!

2012
Now, put this altogether plus the addition of proper support for time formats and property animation, and you get an idea of what is in store for 2012.

(Sat, 31 Dec 2011 22:05:00 +0000)
 

Older News

Learn More

Features

Applications

Documentation

FAQ

Online Support

Build Tips & Scripts

Source Code

Project Management @ SourceForge.net. Fast, secure and Free Open Source software downloads
(Bug Tracker, Patch Tracker, Mailing List)

Roadmap

Hall of Fame

Topic revision: r47 - 2011-11-11 - DanDennedy
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding MLT Wiki? Send feedback
TWiki Appliance - Powered by TurnKey Linux