New XML format questions
amindfv at mailbox.org
amindfv at mailbox.org
Wed Aug 25 18:35:53 BST 2021
Hi Camille, thanks for the response! Hopefully the devs will be able to chime in with more detail.
The issues in this case are definitely Kdenlive-specific: MLT actually does have a DTD [0], which I've helped update a couple times in order to keep in-the-wild .kdenlive files compliant with the MLT spec. [1][2] I'm able to parse .kdenlive files as MLT XML, but I can't make sense of the Kdenlive-specific features below.
Thanks,
Tom
[0] https://github.com/mltframework/mlt/blob/master/src/modules/xml/mlt-xml.dtd
[1] https://sourceforge.net/p/mlt/mailman/message/37335893/
[2] https://sourceforge.net/p/mlt/mailman/message/37125973/
On Wed, Aug 25, 2021 at 05:36:21PM +0200, Camille wrote:
> Hi Tom,
>
> I have no precise answers to your questions, so that's just a quick message
> to let you feel not completely on your own on this topic, which is a complex
> one and lacks documentation indeed.
>
> Kdenlive's file format depends a lot on MLT's file format, which is also
> lacking documentation. Typically, there is no validating DTD or schema.
>
> Maybe devs will have time to chime in to give you more precise details on
> the points you raised.
>
> Cheers,
>
> Camille
>
>
> Le 25/08/2021 à 03:06, amindfv at mailbox.org a écrit :
> > Or is there a better place to ask questions like this than the mailing list?
> >
> > Thanks,
> > Tom
> >
> > On Sat, Aug 21, 2021 at 12:20:04PM -0600, amindfv at mailbox.org wrote:
> > > Can anyone help with this? The Kdenlive File Format docs (https://community.kde.org/Kdenlive/Development/File_format) are out of date and don't discuss any of the below.
> > >
> > > Thanks!
> > > Tom
> > >
> > > On Thu, Aug 19, 2021 at 10:34:51PM -0600, amindfv at mailbox.org wrote:
> > > > With the new Kdenlive version I've got (20.12.3), there are a bunch of new things I'm trying to get my head around in the project XML. Here's a snippet with a few of them:
> > > >
> > > > <playlist id="playlist6">
> > > > <entry producer="1" in="00:00:00.000" out="00:00:22.042">
> > > > <property name="kdenlive:id">2</property>
> > > > </entry>
> > > > <blank length="00:00:01.042"/>
> > > > <entry producer="producer0" in="00:00:01.125" out="00:00:04.958">
> > > > <property name="kdenlive:id">3</property>
> > > > </entry>
> > > > <blank length="00:00:01.208"/>
> > > > <entry producer="1" in="00:00:00.000" out="00:00:04.958">
> > > > <property name="kdenlive:id">2</property>
> > > > </entry>
> > > > <entry producer="producer0" in="00:00:00.000" out="00:00:01.083">
> > > > <property name="kdenlive:id">3</property>
> > > > </entry>
> > > > </playlist>
> > > > <playlist id="playlist7"/>
> > > > <tractor id="tractor3" in="00:00:00.000" out="00:00:34.292">
> > > > <property name="kdenlive:track_name">Video 1</property>
> > > > <property name="kdenlive:trackheight">71</property>
> > > > <property name="kdenlive:timeline_active"/>
> > > > <property name="kdenlive:thumbs_format"/>
> > > > <property name="kdenlive:audio_rec"/>
> > > > <track producer="playlist6"/>
> > > > <track producer="playlist7"/>
> > > > </tractor>
> > > >
> > > > The above makes a Kdenlive track ("Video 1"). In previous versions, this would have been represented as a single playlist. Now there seem to be two playlists - one empty - fed into a tractor.
> > > >
> > > > Here's an example of the new grouping syntax as well:
> > > >
> > > > <property name="kdenlive:docproperties.groups">[
> > > > {
> > > > "children": [
> > > > {
> > > > "data": "3:555",
> > > > "leaf": "clip",
> > > > "type": "Leaf"
> > > > },
> > > > {
> > > > "data": "0:555",
> > > > "leaf": "clip",
> > > > "type": "Leaf"
> > > > }
> > > > ],
> > > > "type": "AVSplit"
> > > > }
> > > > ]
> > > > </property>
> > > >
> > > >
> > > > I have many questions. Help with any of them is much appreciated:
> > > >
> > > > - Why are there two playlists for "Video 1"? What is the purpose of the empty "playlist7"?
> > > > - Entries now have a "kdenlive:id" property. What is this ID? Note in the above the IDs are doubled: there are two different Entries with ID 2, and two with ID 3.
> > > > - In the group syntax, what is the "data" property? As a guess, is it a kdenlive ID and a number of frames from the beginning of the track?
> > > > - What group types are there other than "AVSplit" and "Leaf"? Where can I find a list of the types and their meanings?
> > > > - What "leaf" types are there other than "clip"?
> > > >
> > > > Thanks,
> > > > Tom
More information about the kdenlive
mailing list