Producers
---------
+ avformat
+
+ Description
+
+ ffmpeg libavformat based producer for video and audio.
+
+ Constructor Argument
+
+ 'file' - producer a/v from file
+
+ Initialisation Properties
+
+ int video_index - index of video stream to use (-1 is off)
+ int audio_index - index of audio stream to use (-1 is off)
+ int in - in point
+ int out - out point
+
+ Read Only Properties
+
+ double fps - this is fixed at 25 for PAL currently
+ double aspect_ratio - this is determined on the first frame read
+
+ Dependencies
+
+ ffmpeg must be configured as --enable-shared and installed prior
+ to compilation of mlt.
+
+ Oddities
+
+ There seems to be a discrepancy between audio and video pts (time
+ stamps) which causes audio seeking to be unreliable in some cases.
+ If audio playback is broken, try adding discrepancy=3 as a
+ property.
+
+ Not sure of the exact reasons, but am investigating.
+
+ Known Bugs
+
+ Fixed frame rate.
+ Audio sync discrepancy with some content.
+ Not all libavformat supported formats are seekable.
+ ogg is currently broken.
+ mpeg seeking is inaccurate - doesn't seek to i-frames so you may
+ get junk for a few frames.
+
ffmpeg
Description
int audio_channels - audio channels (default: 2)
int audio_track - audio track to use (default: 0)
int audio_loop - loop audio until video exhausted (default: 0)
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
double fps - output frames per second (default: 25)
double aspect_ratio - aspect ratio of video
Implementation does not allow fast random access.
+ fezzik
+
+ Description
+
+ A freindly giant that likes to throw rocks
+
+ 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 - aspect ratio of video]
+ int length - duration of resource (in frames)
+
+ Dependencies
+
+ all.
+
+ Known Bugs
+
+ None.
+
libdv
Description
Initialisation Properties
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
Read Only Properties
string resource - file location
- double fps - output frames per second
+ double fps - output frames per second
double aspect_ratio - aspect ratio of video]
- timecode length - duration of resource (in seconds)
+ int length - duration of resource (in frames)
Dependencies
Initialisation Properties
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
Read Only Properties
string resource - file location
- double fps - output frames per second
+ double fps - output frames per second
double aspect_ratio - aspect ratio of video
- timecode length - duration of resource (in seconds)
+ int length - duration of resource (in frames)
Dependencies
mainconcept dv sdk and libdv.
+ "dv_sdk" installed parallel to mlt.
Known Bugs
Initialisation Properties
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
Read Only Properties
string resource - file location
- double fps - output frames per second
+ double fps - output frames per second
double aspect_ratio - aspect ratio of video
Dependencies
mainconcept mpeg sdk.
+ "mpeg_sdk_demo" installed parallel to mlt.
Known Bugs
None.
pango
-
+
Description
A title generator that uses the Pango international text layout
Constructor Argument
- 'markup' - a string containing Pango markup see:
+ string file - a text file containing Pango markup, see:
http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
- - requires xml-like encoding special chars: <, > ( and '&' and '"' ?)
+ - requires xml-like encoding special chars: <, >, & to <, >, &
Initialisation Properties
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
int video_standard - enum mlt_video_standard from mlt_frame.h
PAL = 0, NTSC = 1
this determines proper pixel aspect ratio
+ string markup - a string containing Pango markup see:
+ http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
+ - requires xml-like encoding special chars: <, >, & to <, >, &
+
int fgcolor - an rgba color specification of the text (i.e. 0xrrggbbaa)
int bgcolor - an rgba color of the background rectangle
int align - paragraph alignment: 0 = left, 1 = center, 2 = right
Read Only Properties
- string resource - "pango"
+ string resource - the text/markup file or "pango" if no file
Dependencies
Initialisation Properties
- timecode in - in point
- timecode out - out point
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
int video_standard - enum mlt_video_standard from mlt_frame.h
PAL = 0, NTSC = 1
this determines proper pixel aspect ratio
double ttl - how long (seconds) to repeat each picture in file sequences
+ int x - the horizontal offset from the left edge of the frame
+ int y - the vertical offset from the top edge of the frame
+ double mix - the opacity factor to apply to the second frame
+ (used in addition to alpha channel).
+
Read Only Properties
Dependencies
- libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
+ libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
Known Bugs
- none
+ in/out settings are incorrectly handled.
ppm
+
+ Description
+
+ Reads a stream of contiguous PPM images.
+
+ Constructor Argument
+
+ command - a shell command to run something that produces ppm
+ streams on stdout.
+
+ Initialisation Properties
+
+ none
+
+ Read Only Properties
+
+ string resource - the command
+
+ Dependencies
+
+ none
+
+ Known Bugs
+
+ Since it uses pipes, it is not compatible with bluefish.
+
+ westley
+
+ Description
+
+ Construct a service network from an XML description.
+
+ Constructor Argument
+
+ file - an XML text file containing westley XML (schema pending)
+
+ Read Only Properties
+
+ string resource - file location
+
+ Dependencies
+
+ libxml2
+
+ Known Bugs
+
+ Non-referenced producers and playlists are not destroyed.
+ A referenced producer or playlist must appear before the reference.
+
+ vorbis
+
Description
+
+ OGG Vorbis file reader.
+
Constructor Argument
+
+ 'file' - file to use (only .ogg supported at the moment)
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ double fps - this is fixed at 25 for PAL currently
+
Dependencies
+
+ libvorbisfile
+
Known Bugs
+ Fixed frame size (PAL audio chunks).
+ Doesn't cover ogg files with multiple, differing sections.
Filters
-------
deinterlace
Description
+
+ Deinterlace a frame consisting of two fields by linearly blending.
+
Constructor Argument
+
+ none
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ none
+
Dependencies
+
+ none
+
Known Bugs
+
+ Not a bug, but it only provides fair quality at a fair performance;
+ i.e., it excels at neither.
ffmpeg_dub
Description
+
+ Use ffmpeg executable to substitute audio stream.
+
Constructor Argument
+
+ file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
+ MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ string resource - file
+
Dependencies
+
+ ffmpeg plus for ffmpeg:
+ libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
+
Known Bugs
+ Uses pipes and is therefore not compatible with bluefish.
+
gamma
Description
+
+ Adjust image luma using a non-linear power-law curve
+
Constructor Argument
+
+ gamma - a floating point value
+
Initialisation Properties
- Read Only Properties
+
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
+ double gamma - the exponential factor of the power-law curve
+
Dependencies
+
+ none
+
Known Bugs
+
+ none
greyscale
Description
+
+ Convert color image to greyscale
+
Constructor Argument
+
+ none
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ none
+
Dependencies
+
+ none
+
Known Bugs
+
+ none
+
+ obscure
+
+ Description
+
+ Obscuring filter.
+
+ Constructor Argument
+
+ none
+
+ Initialisation Properties
+ string start - in the format X,Y:WxH[:PWxPY]
+ string end - in the format X,Y:WxH[:PWxPY]
+ int in - in point
+ int out - out point
+
+ Read Only Properties
+
+ none
+
+ Dependencies
+
+ none
+
+ Known Bugs
+
+ none
+
resize
Description
+
+ Image scaling and padding
+
Constructor Argument
+
+ scale - "affine" to use affine transform scaling, otherwise
+ center and pad.
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ none
+
+ Dependencies
+
+ none
+
+ Known Bugs
+
+ none
+
+ volume
+
+ Description
+
+ Adjust an audio stream's volume level
+
+ Constructor Argument
+
+ gain - a string containing one of:
+ - a floating point value of the gain adjustment
+ - a numeric value with the suffix "dB" to adjust in terms of decibels
+ - "normalise" to normalise the volume to the target amplitude -12dBFS
+
+ Initialisation Properties
+
+ int in - in point
+ int out - out point
+ int window - the number of video frames over which to smooth normalisation.
+ defaults to 75.
+
+ Mutable Properties
+
+ string gain - same as constructor argument above
+
+ string normalise - normalise the volume to the amplitude:
+ - a numeric value with the suffix "dB" to set amplitude in decibels
+ - a floating point value of the relative volume
+ - an unspecified value uses the default -12dBFS
+
+ string limiter - limit all samples above:
+ - a numeric value with the suffix "dB"
+ - a floating point value ( dB = 20 * log10(x) )
+ - an unspecified value uses the default -6dBFS
+
+ double max_gain - a floating point or decibel value of the maximum gain that
+ can be applied during normalisation.
+ - an unspecified value uses the default 20dB
+
+ Dependencies
+
+ none
+
+ Known Bugs
+
+ none
+
+ resample
+
+ Description
+
+ Adjust an audio stream's sampling rate
+
+ Constructor Argument
+
+ frequency - a numeric value for the new sample rate
+
+ Initialisation Properties
+
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
+ int frequency - the target sample rate
+
+ Dependencies
+
+ libresample
+
+ Known Bugs
+
+ none
+
+ rescale
+
+ Description
+
+ Scale the producer video frame size to match the consumer.
+
+ Constructor Argument
+
+ interpolation - the rescaling method, one of:
+ nearest (lowest quality, fastest),
+ tiles,
+ bilinear (good quality, moderate speed),
+ hyper (best quality, slowest)
+
+ Initialisation Properties
+
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
+ string interpolation - see constructor argument above
+
Dependencies
+
+ libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
+
Known Bugs
+ none
+
Transitions
-----------
composite
Description
+
+ An alpha-channel based compositor for two frames.
+
Constructor Argument
+
+ string start - X,Y:WxH[:mix]
+
Initialisation Properties
+
+ string end - X,Y:WxH[:mix]
+ int in - in point
+ int out - out point
+
Read Only Properties
+
+ none
+
Dependencies
+
+ none
+
Known Bugs
+ Need to add field-based rendering.
+
luma
Description
+
+ A generic dissolve and wipe transition processor. It gets its name
+ from how it uses a grayscale "map" file. As the luma value varies
+ over time, a threshold filter is applied to the map to determine
+ what parts of frame A vs. frame B to show. It only reads PGM
+ files, but it does handle 16 bit PGM. This performs field-based
+ rendering.
+
Constructor Argument
+
+ string resource - the luma map file name. If not supplied, a dissolve.
+
Initialisation Properties
+
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
+ string resource - same as above
+ double softness - only when using a luma map, how soft to make the
+ edges between A and B. 0.0 = no softness. 1.0 =
+ too soft.
+
+ Read Only Properties
+
+ none
+
+ Dependencies
+
+ none
+
+ Known Bugs
+
+ The luma map must be the same size as the B frame.
+ The PGM parser does not handle comments.
+
+ mix
+
+ Description
+
+ An two stream audio mixer.
+
+ Constructor Argument
+
+ mix - see below
+
+ Initalisation Properties
+
+ int in - in point
+ int out - out point
+
+ Mutable Properties
+
+ double mix - the mix level to apply to the second frame.
+ - any negative value causes an automatic crossfade.
+
Read Only Properties
+
+ none
+
Dependencies
+
+ none
+
Known Bugs
+ Samples from the longer of the two frames are discarded.
+
Consumers
---------
bluefish
Description
+
+ BlueFish444 audio and video output module.
+
Constructor Argument
+
+ string video_standard - "PAL" (default) or "NTSC"
+
Initialisation Properties
+
+ int video_standard - 0 = PAL, 1 = NTSC
+
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 must reload the BlueDriver kernel module
+ due to unreleased DMA buffers.
+
+ Needs an argument or property for multi-card address.
ffmpeg
Dependencies
Known Bugs
- sdl
+ libdv
+
Description
+
+ libdv dv producer.
+
Constructor Argument
+
+ string video_standard - "PAL" (default) or "NTSC"
+
Initialisation Properties
Read Only Properties
Dependencies
Known Bugs
+
+ sdl
+
+ Description
+
+ Simple DirectMedia Layer audio and video output module.
+
+ Constructor Argument
+
+ string video_standard - "PAL" (default), "NTSC", or "WxH"
+
+ Mutable Properties
+
+ double volume - audio level factor
+ int video_off - if 1, disable video output
+ int audio_off - if 1, disable audio output
+ int scale_overlay - if 1, resample video from source pixel aspect
+ ratio to square pixels.
+
+ Read Only Properties
+
+ none
+
+ Dependencies
+
+ libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
+
+ Known Bugs
+
+ NTSC handling needs tightening up - sdl:NTSC is the only valid
+ constructor for NTSC playback at the moment.
+
+ westley
+
+ Description
+
+ Serialise the service network to XML.
+
+ Constructor Argument
+
+ resource - the name of a file in which to store the XML.
+ stdout is used if not supplied.
+
+ Initialisation Properties
+
+ string resource - same as above.
+
+ Dependencies
+
+ libxml2
+
+ Known Bugs
+
+ Untested arbitrary nesting of multitracks and playlists.
+ Property "id" is generated as service type followed by number if
+ no property named "id" exists, but it fails to guarantee uniqueness.
+