Re: [Mlt-devel] Date Overlay (aka Dynamic Titles)
Brought to you by:
ddennedy,
lilo_booter
From: Dan D. <da...@de...> - 2011-05-05 03:52:45
|
On Wed, May 4, 2011 at 7:42 PM, Brian Matherly <pez...@ya...> wrote: > Hi Dan (and anyone else), > > You may remember me from this thread: > http://www.kinodv.org/dcforum?az=show_topic&forum=101&topic_id=2491&mesg_id=2491&page=#3030 > > Now that I'm forced to move away from Kino, I went searching to see if > anyone has put any work into this feature for other NLEs. I didn't find > anyone working on it, but I found some requests: > > Openshot: > http://www.openshotusers.com/forum/viewtopic.php?f=27&t=528 > > Kdenlive: > http://www.kdenlive.org/mantis/view.php?id=643 > http://www.kdenlive.org/mantis/view.php?id=1588 > http://www.kdenlive.org/mantis/view.php?id=1597 > http://www.kdenlive.org/forum/can-kdenlive-display-datetime-info > > So I'm here to offer my services to get this feature implemented. I can > write the code and test it if someone can help me produce a design that will > fit into the MLT framework and can be accepted into the main codebase. > > The plan I have in mind is as follows: > 1) Implement a dynamic title feature in MLT that provides access to metadata > that is available from the file attributes that don't require understanding > the codecs within the file (filename, modification date, etc). Mlt already has dynamic titles. See the FAQ item about burning in timecode. > 2) Implement the feature in Kdenlive and Openshot > 3) Extend libav to extract timecode and date/time metadata from applicable > codecs and make it available in the API. This is the hard part. A way to handle DV only is to attach the raw DV packets to the mlt frames and make a libdv filter that reads the timecode and date/time and applies them to the mlt frame as metadata properties. > 4) Extend MLT to support the new timecode and date/time metadata provided by > libav for dynamic titles. done. The data_feed and data_show combo is extensible to any meta attributes. Also, mlt already supports the FFmpeg AVMetadata API, but that API is currently stream-oriented and not temporal in nature. If you look at the discussion forum on mltframework.org, I just had a discussion with another guy about the inability to support QuickTime timecode tracks. > After these steps, Kdenlive and Openshot would match the current dynamic > title functionality of Kino. > > I started to examine the MLT source to get an idea of what it would take to > implement this feature. I see that titles are typically generated using the > Gtk2 Pixbuf producer. So it stands to reason that we can simply extend the > implementation to support dynamic text which can be replaced in an SVG file, The component that handles dynamic titles is core/filter_data_show.c. It reads a mlt properties file. If you still feel the need to use SVG, you could make make a new data_show that is a generic text template processor ala web server app technologies. > and the pixbuf can be re-rendered with each frame using new text. After some > examination, I think I understand what makes this request non-trivial. The > producer has no knowledge of other producers. So there is no way for the > pixbuf producer to know the creation date of file being used by an other > producer. Maybe there is some hidden trick that I don't know about. Or maybe > the feature needs to be implemented as a transition so that it has access to > the frames that it is being mixed with. > > So, that's where I'm at. I hope you can afford some time to engage in a > dialog about how this can be implemented. Maybe you already have something > in mind. > > Please let me know how we can proceed from here. Get the metadata. > Regards, > > ~Brian > -- +-DRD-+ |