News

time properties

Apr 2, 2012

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.

Kdenlive fundraising on indiegogo

Mar 15, 2012



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




v0.7.8 released

Feb 13, 2012

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 

End of 2011 Update

Dec 31, 2011

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.

v0.7.6 released

Oct 31, 2011

This is a bugfix and minor enhancement release.
  • Improved support for v53 of libavcodec/libavformat (0.7 and 0.8 releases)
  • Major DeckLink consumer improvements
  • Much more metadata
  • Added audio-only JACK consumer
  • Added video stabilization filters
  • Added dual pass audio normalization to sox filter
  • Added VITC and VANC capture to DeckLink producer
  • Added support for writing timecode tracks
  • Added MLT, frei0r, and SoX version to xml serialization
  • Added D-10, XDCAM, DNxHD, and Sony-PSP encoding presets
  • Can now use rotoscoping for masking filters
  • Added dynamictext filter makes burned-in timecode and similar easier
  • Added support for consumer element in MLT XML
  • Added outlining, padding, and alignment to pango filter
Special thanks go to contributors Maksym Veremeyenko, Brian Matherly, and Marco Gittler.

Search

Subscribe

Subscribe to News via RSS.

Recent Posts

About

MLT enables you to author, manage, and run multitrack audio/video compositions. Copyright © 2008-2026 by Meltytech, LLC.

Social Links