Copyright (C) 2004-2009 Ushodaya Enterprised Limited
Author: Charles Yates <charles.yates@pandora.be>
Copyright (C) 2004-2009 Ushodaya Enterprised Limited
Author: Charles Yates <charles.yates@pandora.be>
Options:
-attach filter[:arg] [name=value]* Attach a filter to the output
-attach-cut filter[:arg] [name=value]* Attach a filter to a cut
Options:
-attach filter[:arg] [name=value]* Attach a filter to the output
-attach-cut filter[:arg] [name=value]* Attach a filter to a cut
-filter filter[:arg] [name=value]* Add a filter to the current track
-group [name=value]* Apply properties repeatedly
-help Show this message
-filter filter[:arg] [name=value]* Add a filter to the current track
-group [name=value]* Apply properties repeatedly
-help Show this message
-join clips Join multiple clips into one cut
-mix length Add a mix between the last two cuts
-mixer transition Add a transition to the mix
-join clips Join multiple clips into one cut
-mix length Add a mix between the last two cuts
-mixer transition Add a transition to the mix
-query "filters" | "filter"=id List filters or show info about one
-query "producers" | "producer"=id List producers or show info about one
-query "transitions" | "transition"=id List transitions or show info about one
-query "filters" | "filter"=id List filters or show info about one
-query "producers" | "producer"=id List producers or show info about one
-query "transitions" | "transition"=id List transitions or show info about one
+ -query "profiles" | "profile"=id List profiles or show info about one
+ -query "presets" | "preset"=id List presets or show info about one
+ -query "formats" List audio/video formats
+ -query "audio_codecs" List audio codecs
+ -query "video_codecs" List video codecs
-serialise [filename] Write the commands to a text file
-silent Do not display position/transport help
-split relative-frame Split the last cut into two cuts
-serialise [filename] Write the commands to a text file
-silent Do not display position/transport help
-split relative-frame Split the last cut into two cuts
is very mlt-centric. Producers produce MLT frame objects and consumers
consume MLT frame objects. The distinction is important - a DV producer
does not produce DV, it produces MLT frames from a DV source, and similarly
is very mlt-centric. Producers produce MLT frame objects and consumers
consume MLT frame objects. The distinction is important - a DV producer
does not produce DV, it produces MLT frames from a DV source, and similarly
for (so this can be anything from .dv to .txt).
You can also specify the producer directly, for example:
for (so this can be anything from .dv to .txt).
You can also specify the producer directly, for example:
Note that while some properties have meaning to all producers (for example:
in, out and length are guaranteed to be valid for all, though typically,
Note that while some properties have meaning to all producers (for example:
in, out and length are guaranteed to be valid for all, though typically,
MLT will take care of 'normalising' the output of a producer to ensure
that the consumer gets what it needs. So, in the case above, the mlt
MLT will take care of 'normalising' the output of a producer to ensure
that the consumer gets what it needs. So, in the case above, the mlt
Filters are frame modifiers - they can change the contents of the audio or
the images associated to a frame.
Filters are frame modifiers - they can change the contents of the audio or
the images associated to a frame.
As with producers, properties may be specified on filters too.
Again, in and out properties are common to all, so to apply a filter to a
range of frames, you would use something like:
As with producers, properties may be specified on filters too.
Again, in and out properties are common to all, so to apply a filter to a
range of frames, you would use something like:
Again, filters have their own set of rules about properties and will
silently ignore properties that do not apply.
Again, filters have their own set of rules about properties and will
silently ignore properties that do not apply.
Note that the last -group settings also apply to the following filters,
transitions and consumers, so:
Note that the last -group settings also apply to the following filters,
transitions and consumers, so:
is *probably not* what you want (ie: the greyscale filter would only be
applied to the first 50 frames).
To shed the group properties, you can use any empty group:
is *probably not* what you want (ie: the greyscale filter would only be
applied to the first 50 frames).
To shed the group properties, you can use any empty group:
The -attach family of switches simplify things enormously. By default, -attach
will attach a filter to the last service created, so:
The -attach family of switches simplify things enormously. By default, -attach
will attach a filter to the last service created, so:
would only apply the filter to clip2.dv. You can further narrow down the area of
the effect by specifying in/out points on the attached filter.
This might seem simple so far, but there is a catch... consider the following:
would only apply the filter to clip2.dv. You can further narrow down the area of
the effect by specifying in/out points on the attached filter.
This might seem simple so far, but there is a catch... consider the following:
The second attached filter is actually attached to the watermark. You might
think, yay, nice (and it is :-)), but, it might not be what you want. For example
you might want to attach both to clip1.dv. To do that, you can use:
The second attached filter is actually attached to the watermark. You might
think, yay, nice (and it is :-)), but, it might not be what you want. For example
you might want to attach both to clip1.dv. To do that, you can use:
As you shall see below, there are still another couple of gotchas associated to
-attach, and even another variant :-).
As you shall see below, there are still another couple of gotchas associated to
-attach, and even another variant :-).
would provide both an audio and video transition between clip1 and clip2.
This functionality supercedes the enforced use of the -track and -transition
would provide both an audio and video transition between clip1 and clip2.
This functionality supercedes the enforced use of the -track and -transition
These can be used in combination, so you can for example do a fade from black
and to black using the following:
These can be used in combination, so you can for example do a fade from black
and to black using the following:
colour:black out=24 -mix 25 -mixer luma
while this may not be immediately obvious, consider what's happening as the
colour:black out=24 -mix 25 -mixer luma
while this may not be immediately obvious, consider what's happening as the
As noted, -attach normally applies to the last created service - so, you can
attach a filter to the transition region using:
As noted, -attach normally applies to the last created service - so, you can
attach a filter to the transition region using:
Again, nice, but take care - if you want the attached filter to be associated
to the region following the transition, use -attach-cut instead.
Again, nice, but take care - if you want the attached filter to be associated
to the region following the transition, use -attach-cut instead.
example, the following would show the video from the a track, but the audio
would come from the second track:
example, the following would show the video from the a track, but the audio
would come from the second track:
Here we need tracks to overlap, so a useful multitrack
definition could be given as:
Here we need tracks to overlap, so a useful multitrack
definition could be given as:
- The saved file can be subsequently used as a clip by either
- miracle or inigo. Take care though - paths to files are saved as
+ The saved file can be subsequently used as a clip by melt or other
+ MLT applications. Take care though - paths to files are saved as
- A more expressive serialisation can be obtained with the westley consumer
- - this will provide an xml document which can be used freely in inigo and
- miracle.
+ A more expressive serialisation can be obtained with the xml consumer
+ - this will provide an xml document which can be used freely in melt and
+ other MLT applications.
track or a watermark which you want composited on every frame, and of
course, there's the obscure filter....
track or a watermark which you want composited on every frame, and of
course, there's the obscure filter....
- $ inigo a.dv -track -blank 100 b.dv -consumer westley:basic.westley
- $ inigo basic.westley -filter watermark:watermark.png
+ $ melt a.dv -track -blank 100 b.dv -consumer xml:basic.mlt
+ $ melt basic.mlt -filter watermark:watermark.png