Service Documentation
-Copyright (C) 2004-2005 Ushodaya Enterprises Limited
Authors: Charles Yates <charles.yates@pandora.be>
Dan Dennedy <dan@dennedy.org>
-Last Revision: 2005-04-22
+Last Revision: 2009-05-08
SERVICES
--------
- Services marked as "(Proprietary)" are not distributed with the GPL version
- of mlt.
+ Services marked as "(Proprietary)" are not distributed with the LGPL
+ version of mlt.
Producers
---------
Read Only Properties
string resource - file location
- double fps - this is fixed at 25 for PAL currently
double source_fps - the framerate of the resource
double aspect_ratio - sample aspect ratio of the resource
- this is determined on every frame read
Dependencies
- ffmpeg must be configured as --enable-shared and installed prior
- to compilation of mlt.
+ ffmpeg
Known Bugs
Audio sync discrepancy with some content.
Not all libavformat supported formats are seekable.
- Ogg Vorbis is currently broken.
- MPEG seeking is inaccurate - doesn't seek to i-frames so you may
- get junk for a few frames.
- RAW DV seeking not supported.
Fails to play beyond first frame of video of sources with PTS not
starting at 0 (video4linux).
- fezzik
+ loader
Description
DVCPRO is incorrectly identified as 16:9 aspect ratio. You must use
libdv from CVS or a post 0.101 release.
- mcdv (Proprietary)
-
- Description
-
- MainConcept based dv decoder for video and audio.
-
- Constructor Argument
-
- 'file' - produce a/v from file
-
- Initialisation Properties
-
- int in - in point
- int out - out point
-
- Read Only Properties
-
- string resource - file location
- double fps - output frames per second
- int length - duration of resource (in frames)
-
- Dependencies
-
- MainConcept DV or DVCPRO SDK, libdv.
- "dv_sdk" installed parallel to mlt.
-
- Known Bugs
-
- None
-
- mcmpeg (Proprietary)
-
- Description
-
- MainConcept based mpeg decoder for video and audio.
-
- Constructor Argument
-
- 'file' - produce a/v from file
-
- Initialisation Properties
-
- int in - in point
- int out - out point
-
- Read Only Properties
-
- string resource - file location
- double fps - output frames per second
- double aspect_ratio - sample aspect ratio of video
- int length - duration of resource (in frames)
-
- Dependencies
-
- MainConcept MPEG SDK.
- "mpeg_sdk_release" installed parallel to mlt.
-
- Known Bugs
-
- None.
-
noise
Description
Details
- Supplying a filename with extension ".txt" causes the Fezzik
+ Supplying a filename with extension ".txt" causes the loader
producer to load with pango. If the filename begins with "+" the
pango producer interprets the filename as pango text. This is a
- shortcut to embed titles in inigo commands. For westley, it is
+ shortcut to embed titles in melt commands. For MLT XML, it is
recommended that you embed the title text in the property value.
Pango has builtin scaling. It will rescale the originally rendered
load all pictures with matching extension from a directory.
- If filename contains the string "<svg", then pixbuf tries
to load the filename as inline SVG XML, which is convenient
- for inigo commands.
+ for melt commands.
Details
Since it uses pipes, it is not compatible with bluefish.
- westley
+ xml
Description
Construct a service network from an XML description.
- See docs/westley.txt.
+ See docs/mlt-xml.txt.
Constructor Argument
- URL - an XML text file containing westley XML (schema/DTD pending)
- - Since westley files can be parameterised, the URL syntax is:
+ URL - an XML text file containing MLT XML
+ - Since MLT XML files can be parameterised, the URL syntax is:
{file-name}[?{param-name}{'='|':'}{param-value}[&{param-name}{'='|':'}{param-value}...]]
- A colon is allowed instead of an equal sign to pacify inigo,
+ A colon is allowed instead of an equal sign to pacify melt,
who tokenises anything with an equal sign as a property
- setting. Also, when running inigo from the shell, beware of
+ setting. Also, when running melt from the shell, beware of
the '?' and shell filename expansion. You can surround the URL
- with single quotations to prevent expansion. Finally, fezzik
+ with single quotations to prevent expansion. Finally, the loader
will fail to match the filename when you use parameters, so
- preface the url with 'westley:' to force fezzik to load with
- the westley service.
+ preface the url with 'xml:' to force the loader to load with
+ the xml service.
Read Only Properties
Description
Scale the producer video frame size to match the consumer.
- This filter is designed for use as a Fezzik normaliser.
+ This filter is designed for use as a normaliser for the loader producer.
Constructor Argument
Details
If you are using a consumer that uses ALSA, then you should start
- jacks with the dummy driver: jackd -d dummy.
+ jackd with the dummy driver: jackd -d dummy.
I also recommend using a period size of 2048: -p 2048.
jackd -ddummy -r48000 -p2048
none
- mcrescale
-
+ mirror
+
Description
-
- Scale the producer video frame size to match the consumer.
- This filter is designed for use as a Fezzik normaliser.
+
+ Provides various mirror and image reversing effects.
Constructor Argument
-
- interpolation - the rescaling method, one of:
- nearest (lowest quality, fastest),
- bilinear (default; good quality, moderate speed),
- hyper (best quality, slowest).
-
+
+ mirror - horizontal, vertical, diagonal, flip, flop
+
Initialisation Properties
-
+
+ int reverse - being 0 or 1
int in - in point
int out - out point
-
+
+ Read Only Properties
+
+ none
+
Mutable Properties
-
- string interpolation - see constructor argument above
-
- If a property "consumer_aspect_ratio" exists on the frame, then
- rescaler normalises the producer's aspect ratio and maximises the
- size of the frame, but may not produce the consumer's requested
- dimension. Therefore, this option works best in conjunction with the
- resize filter. This behavior can be disabled by another service by
- either removing the property, setting it to zero, or setting
- frame property "distort" to 1.
+
+ none
Dependencies
-
- the mainconcept rescaling sdk.
-
+
+ none
+
Known Bugs
-
+
none
-
- mirror
+
+
+ mono
Description
- Provides various mirror and image reversing effects.
+ Mix all channels of audio into a mono signal and output it as
+ N channels.
Constructor Argument
- mirror - horizontal, vertical, diagonal, flip, flop
+ channels - the number of output channels (default 2)
Initialisation Properties
- int reverse - being 0 or 1
- int in - in point
- int out - out point
+ none
Read Only Properties
Initialisation Properties
- string start - in the format X,Y:WxH[:PWxPY]
+ string start - in the format X/Y:WxH[:PWxPY]
- PWxPY is the size of the averaging region in pixels.
- string end - in the format X,Y:WxH[:PWxPY]
+ string end - in the format X/Y:WxH[:PWxPY]
int in - in point
int out - out point
Adjust an audio stream's sampling rate, and duplicate channels if
producer provides less than consumer requested.
- This filter is automatically invoked by Fezzik for the sake of
- normalisation over inputs and with the consumer.
+ This filter is automatically invoked by the loader producer for the
+ sake of normalisation over inputs and with the consumer.
Constructor Argument
Description
Scale the producer video frame size to match the consumer.
- This filter is designed for use as a Fezzik normaliser.
+ This filter is designed for use as a normaliser for the loader producer.
Constructor Argument
This filter also adjusts the field order to lower field first
if the frame property "top_field_first" has been set to 1.
Therefore, when done, it sets the top_field_first to 0.
- This filter is automatically invoked by Fezzik as part of image
+ This filter is automatically invoked by the loader as part of image
sample aspect ratio normalisation.
Constructor Argument
Initialisation Properties
string resource - the producer to use
- string factory - producer required for the resource ('fezzik')
- string geometry - composite geometry
- string distort - control scaling
+ string factory - producer required for the resource (default: 'loader')
+ string composite.geometry - composite geometry
+ string composite.distort - control scaling
int in - in point
int out - out point
Dependencies
- mlt core modules and optionally, fezzik
+ mlt core modules and optionally, loader
Known Bugs
int in - in point
int out - out point
string factory - The name of a factory service used as a non-PGM
- producer loader. The default is fezzik.
+ producer loader. The default is 'loader'.
Read Only Properties
Deprecated Properties
- string start - a geometry specification as X,Y:WxH[!][:mix]
+ string start - a geometry specification as X/Y:WxH[!][:mix]
- X, Y, W, H are assumed to pixel units unless they
have the suffix '%'
- '!' is a shortcut to specify distort, see below.
- mix is always a 2 digit percentage, defaults to 100.
- - default is "85%,5%:10%x10%"
+ - default is "85%/5%:10%x10%"
string end - the ending size and position.
- string key[F] - X,Y:WxH[:mix] - set a key frame for geometry between
+ string key[F] - X/Y:WxH[:mix] - set a key frame for geometry between
the in and out. F is a frame number and can be
negative to make it relative to the out point.
int in - in point
int out - out point
string factory - The name of a factory service used as a non-PGM
- producer loader. The default is Fezzik.
+ producer loader. The default is 'loader'.
Mutable Properties
string resource - nothing is rectangle, "circle" is a pixbuf-
generated SVG circle, anything else is loaded by the factory.
string factory - the service that creates the shape producer.
- - the default is fezzik.
+ - the default is 'loader'.
string filter[N] - one or more filters to apply. All filter
properties are passed using the same filter "key"
Any property starting with "composite." is passed to the
Plenty.
- bluefish (Proprietary)
-
- Description
-
- BlueFish444 audio and video output module.
-
- Constructor Argument
-
- card - a numeric card id starting at 1, default is 1.
-
- Initialisation Properties
-
- string standard - "PAL" (default) or "NTSC"
- - default is based upon MLT_NORMALISATION
- environment variable, which defaults to PAL.
- int frames - the number of DMA video frames. default is 8.
- minimum is 2. maximum on my system is 11.
- int buffer - the number of frames to buffer within MLT, minimum 1,
- default 25.
- string rescale - a rescale method, see the Filters/rescale.
-
- Read Only Properties
-
- none
-
- Dependencies
-
- BlueVelvet SDK installed parallel to mlt in "bluefish."
-
- Known Bugs
-
- Does not work with any service that uses pipes!
-
- If mlt crashes, you might need to reload the BlueDriver kernel
- module due to unreleased DMA buffers.
-
- Only supports 2 channel audio at the moment.
-
libdv
Description
none
- mcmpeg
-
- Description
-
- Mainconcept MPEG encoder.
-
- Constructor Argument
-
- string target - the filename to write to.
-
- Initialisation Properties
-
- int buffer - the number of frames to buffer, minimum 1, default 25.
- string rescale - a rescale method, see the Filters/rescale.
- string format - vcd [default], svcd or dvd provide base settings
- int motion_search_type - 0 to 16 - reduces quality/cpu usage
- int gop - group of picture size (default: format dependent)
-
- Mutable Properties
-
- int progressive - indicates whether to use progressive or field-
- based rendering, default 0 (off).
-
- Read Only Properties
-
- none
-
- Dependencies
-
- Mainconcept MPEG SDK
-
- Known Bugs
-
- none
-
sdl
Description
none
- westley
+ xml
Description
Serialise the service network to XML.
- See docs/westley.txt for more information.
+ See docs/mlt-xml.txt for more information.
Constructor Argument