4 Services marked as "(Proprietary)" are not distributed with the GPL version
14 ffmpeg libavformat based producer for video and audio.
18 'file' - producer a/v from file
20 Initialisation Properties
22 int video_index - index of video stream to use (-1 is off)
23 int audio_index - index of audio stream to use (-1 is off)
29 string resource - file location
30 double fps - this is fixed at 25 for PAL currently
31 double source_fps - the framerate of the resource
32 double aspect_ratio - sample aspect ratio of the resource
33 - this is determined on every frame read
37 ffmpeg must be configured as --enable-shared and installed prior
38 to compilation of mlt.
42 Audio sync discrepancy with some content.
43 Not all libavformat supported formats are seekable.
44 Ogg Vorbis is currently broken.
45 MPEG seeking is inaccurate - doesn't seek to i-frames so you may
46 get junk for a few frames.
47 RAW DV seeking not supported.
53 A friendly giant that likes to rhyme and throw rocks
57 'file' - produce a/v from file
58 - can also be the name of a producer service that can
59 accept the resource specified post construction.
61 Initialisation Properties
65 + all producer initialising properties
69 string resource - file location
70 + all producer read only properties
74 This producer is has two roles:
76 1. it handles the mappings of all file names to the other
78 2. it attaches normalising filters (rescale, resize and resample)
79 to the producers (when necessary).
81 This producer simplifies many aspects of use. Essentially, it
82 ensures that a consumer will receive images and audio precisely as
98 A simple colour generator.
102 colour - A colour value is a hexadecimal representation of RGB plus
103 alpha channel as 0xrrggbbaa.
104 - Also colours can be the words: white, black, red, green,
106 - The default colour is black.
108 Initialisation Properties
129 Test case pipe based producer for video and audio.
133 'file' - produce a/v from file
134 v4l - produce a/v from video4linux and dsp device
136 Initialisation Properties
138 string video_type - "file" or "v4l"
139 string video_file - file or v4l device
140 string video_size - WxH of video to produce (default: "")
141 int video_loop - loop video until audio exhausted (default: 0)
142 string audio_type - "file" or "dsp"
143 string audio_file - file or dsp device
144 int audio_rate - audio frequency (default: 48000)
145 int audio_channels - audio channels (default: 2)
146 int audio_track - audio track to use (default: 0)
147 int audio_loop - loop audio until video exhausted (default: 0)
150 double fps - output frames per second (default: 25)
151 double aspect_ratio - aspect ratio of video
155 string resource - file or "v4l"
156 int end_of_clip - holds 1 when input is exhausted
164 in point setting is broken.
166 Implementation does not allow fast random access.
172 libdv based decoder for video and audio.
176 'file' - produce a/v from file
178 Initialisation Properties
185 string resource - file location
186 double fps - output frames per second
187 int length - duration of resource (in frames)
191 string quality - one of "best," "fast" or anything else chooses
200 DVCPRO is incorrectly identified as 16:9 aspect ratio. You must use
201 libdv from CVS or a post 0.101 release.
207 MainConcept based dv decoder for video and audio.
211 'file' - produce a/v from file
213 Initialisation Properties
220 string resource - file location
221 double fps - output frames per second
222 int length - duration of resource (in frames)
226 MainConcept DV or DVCPRO SDK, libdv.
227 "dv_sdk" installed parallel to mlt.
237 MainConcept based mpeg decoder for video and audio.
241 'file' - produce a/v from file
243 Initialisation Properties
250 string resource - file location
251 double fps - output frames per second
252 double aspect_ratio - sample aspect ratio of video
253 int length - duration of resource (in frames)
257 MainConcept MPEG SDK.
258 "mpeg_sdk_release" installed parallel to mlt.
268 A title generator that uses the Pango international text layout
269 and Freetype2 font renderer.
273 string file - a text file containing Pango markup, see:
274 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
275 - requires xml-like encoding special chars from:
276 <, >, & -to- <, >, &
280 Supplying a filename with extension ".txt" causes the Fezzik
281 producer to load with pango. If the filename begins with "+" the
282 pango producer interprets the filename as pango text. This is a
283 shortcut to embed titles in inigo commands. For westley, it is
284 recommended that you embed the title text in the property value.
285 If you need to embed Pango markup in a westley XML file, then
286 enclose the value inside "<![CDATA[ ... ]]>".
288 Pango has builtin scaling. It will rescale the originally rendered
289 title to whatever the consumer requests. Therefore, it will lose
290 its aspect ratio if so requested, and it is up to the consumer to
291 request a proper width and height that maintains the image aspect.
293 Initialisation Properties
300 string markup - a UTF-8 string containing Pango markup see:
301 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
302 - requires xml-like encoding special chars from:
303 <, >, & -to- <, >, &
304 string fgcolour - an RGBA colour specification of the text
306 string bgcolour - an RGBA colour of the background rectangle
307 string align - paragraph alignment: left, centre, right
308 - also, numbers 0, 1 and 2 can be used respectively.
309 int pad - the number of pixels to pad the background rectangle
310 beyond edges of text. default 0.
311 string markup - see constructor argument
312 string text - non-markup string in UTF-8 encoding (can contain
313 markup chars un-encoded)
314 string font - the default typeface to use when not using markup.
315 default "Sans 48". FreeType2 renders at 72 dpi.
319 string resource - the text/markup file or "pango" if no file.
320 int real_width - the original, unscaled width of the rendered title.
321 int real_height - the original, unscaled height of the title.
322 int width - the last requested scaled image width.
323 int height - the last requested scaled image height.
327 libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0,
328 libglib-2.0, libgobject-2.0, libgmodule-2.0, libfontconfig.
332 The foreground and background Pango markup span attributes are not
334 Word wrapping is not supported.
340 A still graphics to video generator using gdk-pixbuf
344 'file' - The name of a graphics file loadable by
345 a gdk-pixbuf loader. see /usr/lib/gdk-pixbuf/loaders
346 definitely png, jpeg, tiff, pnm, and xpm
347 - If "%" in filename, the filename is used with sprintf
348 generate a filename from a counter for multi-file/flipbook
349 animation. The file sequence ends when numeric
351 - If filename contains "/.all.", suffix with an extension to
352 load all pictures with matching extension from a directory.
353 - If filename contains the string "<svg", then pixbuf tries
354 to load the filename as inline SVG XML, which is convenient
355 for inigo commands. For westley XML, set the resource
356 property value with inline XML embedded using a CDATA node
357 ("<![CDATA[ ... ]]>").
361 Pixbuf has builtin scaling. It will rescale the originally rendered
362 title to whatever the consumer requests. Therefore, it will lose
363 its aspect ratio if so requested, and it is up to the consumer to
364 request a proper width and height that maintains the image aspect.
366 Initialisation Properties
373 int ttl - how long (in frames) to repeat each picture in file
374 sequences. default is 25.
378 string resource - file location. See Constructor Argument above.
379 int real_width - the original, unscaled width of the rendered title.
380 int real_height - the original, unscaled height of the title.
381 int width - the last requested scaled image width.
382 int height - the last requested scaled image height.
386 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
390 XXX: in/out settings are incorrectly handled.
396 Reads a stream of contiguous PPM images.
400 command - a shell command to run something that produces ppm
403 Initialisation Properties
409 string resource - the command
417 Since it uses pipes, it is not compatible with bluefish.
423 Construct a service network from an XML description.
424 See docs/westley.txt.
428 file - an XML text file containing westley XML (schema pending)
432 string resource - file location
440 Non-referenced producers and playlists are not destroyed until the
441 network is destroyed.
442 A referenced producer or playlist must appear before the reference.
443 A filter that occurs before a producer has been defined causes a
450 OGG Vorbis file reader.
454 'file' - file to use (only .ogg supported at the moment)
456 Initialisation Properties
463 double fps - this is fixed at 25 for PAL currently
471 Fixed frame size (PAL audio chunks).
472 Doesn't cover ogg files with multiple, differing sections.
481 Shift the luma component using a constant value.
485 start - the constant floating point numeric value to apply.
488 Initialisation Properties
492 double start - see Constructor Argument above.
493 double end - the ending adjustment value. the filter interpolates
494 between the start and end adjustments over the
495 duration of the effect.
507 Does not go completely to black or white.
514 Deinterlace a frame consisting of two fields using bob, weave,
515 greedy, one-field, and linear blend methods. This code is
516 appropriated from the Xine XV video output plugin.
520 method - a string containing the deinterlace method: bob, weave,
521 greedy, onefield, or linearblend. The default is
524 Initialisation Properties
539 If the frame properties "progressive" or "consumer_progressive"
540 are non-zero, then the filter is not applied. Also, if applied,
541 this sets the frame property "progressive" to 1.
549 Not a bug, but it only provides fair quality.
556 Use ffmpeg executable to substitute audio stream.
560 file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
561 MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
563 Initialisation Properties
570 string resource - file
574 ffmpeg plus for ffmpeg:
575 libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
579 Uses pipes and is therefore not compatible with bluefish.
586 Adjust image luma using a non-linear power-law curve
590 gamma - a floating point value. The default is 1.0, or none.
592 Initialisation Properties
599 double gamma - the exponential factor of the power-law curve
614 Convert colour image to greyscale
620 Initialisation Properties
641 Applies a luma transition between the current and next frames.
642 Useful for transitions from a slideshow created using producer
649 Initialisation Properties
660 int period - how long to wait between success iterations of the
661 transition. For best results set this to a multiple
662 of ttl used in pixbuf. The default is 24.
664 luma. - all properties beginning with "luma." are passed to the
665 encapsulated luma transition. For example, luma.out controls
666 the duration of the wipe.
670 transition_luma and its dependencies
687 Initialisation Properties
689 string start - in the format X,Y:WxH[:PWxPY]
690 - PWxPY is the size of the averaging region in pixels.
691 string end - in the format X,Y:WxH[:PWxPY]
711 Apply one or filters to a region of the video image. The region
712 can be shaped as well using the alpha channel of another producer.
716 file - A file whose alpha channel will "shape" the region.
717 - The string "circle" is a shortcut but it requires pixbuf with
718 the librsvg loader. The circle is automatically stretched
719 to the region to create an ellipse.
721 Initialisation Properties
725 plus and region transition properties
729 see the region transition
737 "circle" is unpredictable in the absence of the librsvg pixbuf loader.
744 Adjust an audio stream's sampling rate.
745 This filter is automatically invoked by Fezzik for the sake of
746 normalisation over inputs and with the consumer.
750 frequency - a numeric value for the new sample rate
752 Initialisation Properties
759 int frequency - the target sample rate
773 Scale the producer video frame size to match the consumer.
774 This filter is automatically invoked by Fezzik in order to normalise
779 interpolation - the rescaling method, one of:
780 nearest (lowest quality, fastest),
782 bilinear (default; good quality, moderate speed),
783 hyper (best quality, slowest).
785 Initialisation Properties
792 string interpolation - see constructor argument above
794 If a property "consumer_aspect_ratio" exists on the frame, then
795 rescaler normalises the producer's aspect ratio and maximises the
796 size of the frame, but may not produce the consumer's requested
797 dimension. Therefore, this option works best in conjunction with the
798 resize filter. This behavior can be disabled by another service by
799 either removing the property, setting it to zero, or setting
800 frame property "distort" to 1.
804 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
814 Image scaling and padding and field order adjustment.
818 Normally resize is used to pad the producer's
819 output to what the consumer has requested after an upstream rescale
820 filter first scales the image to maximise usage of the image area.
821 This filter also adjusts the field order to lower field first
822 if the frame property "top_field_first" has been set to 1.
823 Therefore, when done, it sets the top_field_first to 0.
824 This filter is automatically invoked by Fezzik as part of image
825 sample aspect ratio normalisation.
829 scale - "affine" to use affine transform scaling, otherwise
832 Initialisation Properties
847 Assumes lower field first output.
853 Adjust an audio stream's volume level
857 gain - a string containing one of:
858 - a floating point value of the gain adjustment
859 - a numeric value with the suffix "dB" to adjust in terms of decibels
860 - "normalise" to normalise the volume to the target amplitude -12dBFS
862 Initialisation Properties
866 int window - the number of video frames over which to smooth normalisation.
871 string gain - same as constructor argument above
873 string normalise - normalise the volume to the amplitude:
874 - a numeric value with the suffix "dB" to set amplitude in decibels
875 - a floating point value of the relative volume
876 - an unspecified value uses the default -12dBFS
878 string limiter - limit all samples above:
879 - a numeric value with the suffix "dB"
880 - a floating point value ( dB = 20 * log10(x) )
881 - an unspecified value uses the default -6dBFS
883 double max_gain - a floating point or decibel value of the maximum gain that
884 can be applied during normalisation.
885 - an unspecified value uses the default 20dB
887 string end - a gain value just like the gain property above.
888 This causes the gain to be interpolated from 'gain' to 'end'
891 int window - the size of the normalising smoothing buffer in video frame units.
892 - the smoothing buffer prevents erratic gain changes.
893 - the default value is 75 video frames.
895 gain can be applied as a factor to the normalise amplitude!
909 Add a watermark to the frames.
913 resource - the producer to use (ie: a .png)
915 Initialisation Properties
917 string resource - the producer to use
918 string factory - producer required for the resource ('fezzik')
919 string geometry - composite geometry
920 string distort - control scaling
930 mlt core modules and optionally, fezzik
943 A key-framable alpha-channel compositor for two frames.
947 Performs dissolves and luma wipes in addition to alpha compositing.
949 By default, the aspect ratio of the B frame is respected and the
950 size portion of the geometry specification simply defines a
953 This performs field-based rendering unless the A frame property
954 "progressive" or "consumer_progressive" or the transition property
955 "progressive" is set to 1.
959 string start - a geometry specification as X,Y:WxH[!][:mix]
960 - X, Y, W, H are assumed to pixel units unless they
962 - '!' is a shortcut to specify distort, see below.
963 - mix is always a 2 digit percentage, defaults to 100.
964 - default is "85%,5%:10%x10%"
966 Initialisation Properties
968 string end - the ending size and position.
969 string key[F] - X,Y:WxH[:mix] - set a key frame for geometry between
970 the in and out. F is a frame number and can be
971 negative to make it relative to the out point.
974 string factory - The name of a factory service used as a non-PGM
975 producer loader. The default is fezzik.
983 int progressive - set to 1 to disable field-based rendering.
984 string distort - when set, causes the B frame image to fill the WxH
985 completely with no regard to B's aspect ratio.
986 string halign - when not distorting, set the horizontal alignment
987 of B within the geometry rectangle.
988 - one of: left (0), centre (1), or right (2).
989 - the default is left.
990 string valign - when not distorting, set the vertical alignment of
991 B within the geometry rectangle.
992 - one of: top (0), middle (1), or bottom (2).
993 - the default is top.
994 string luma - the luma map file name. If not supplied, a dissolve.
995 double softness - only when using a luma map, how soft to make the
996 edges between A and B. 0.0 = no softness. 1.0 =
998 Any property starting with "luma." is passed to the non-PGM luma
1007 Assumes lower field first during field rendering.
1013 A generic dissolve and wipe transition processor.
1018 from how it uses a grayscale "map" file. As the luma value varies
1019 over time, a threshold filter is applied to the map to determine
1020 what parts of frame A vs. frame B to show. It reads PGM files
1021 up to 16 bits! Alternatively, it can use the first frame from any
1022 producer that outputs yuv, but it will be limited to the luma
1023 gamut of 220 values.
1024 This performs field-based rendering unless the A frame property
1025 "progressive" or "consumer_progressive" or the transition property
1026 "progressive" is set to 1.
1028 Constructor Argument
1030 string resource - the luma map file name - either PGM or any other
1032 - If not supplied, a dissolve.
1034 Initialisation Properties
1038 string factory - The name of a factory service used as a non-PGM
1039 producer loader. The default is Fezzik.
1043 string resource - same as above
1044 double softness - only when using a luma map, how soft to make the
1045 edges between A and B. 0.0 = no softness. 1.0 =
1047 Any property starting with "producer." is passed to the non-PGM luma
1050 Read Only Properties
1060 Assumes lower field first output.
1066 An two stream audio mixer.
1068 Constructor Argument
1072 Initalisation Properties
1079 double start - the mix level to apply to the second frame.
1080 - any negative value causes an automatic crossfade from 0 to 1.
1081 double end - the ending value of the mix level. mix level will be interpolated
1082 from start to end over the in-out range.
1083 int reverse - set to 1 to reverse the direction of the mix.
1085 Read Only Properties
1095 Samples from the longer of the two frames are discarded.
1102 Apply zero or more filters to B frame as it is composited onto
1103 a region of the A frame. The "shape" of the region can be defined
1104 by the alpha channel of a third producer.
1106 Constructor Argument
1108 resource - a shape producer
1110 Initialisation Properties
1112 string resource - nothing is rectangle, "circle" is a pixbuf-
1113 generated SVG circle, anything else is loaded by the factory.
1114 string factory - the service that creates the shape producer.
1115 - the default is fezzik.
1116 string filter[N] - one or more filters to apply. All filter
1117 properties are passed using the same filter "key"
1118 Any property starting with "composite." is passed to the
1119 encapsulated composite transition.
1121 Read Only Properties
1127 transition_composite
1137 bluefish (Proprietary)
1141 BlueFish444 audio and video output module.
1143 Constructor Argument
1145 string video_standard - "PAL" (default) or "NTSC"
1147 Initialisation Properties
1149 int video_standard - 0 = PAL, 1 = NTSC
1151 Read Only Properties
1157 BlueVelvet SDK installed parallel to mlt in "bluefish."
1161 Does not work with any service that uses pipes!
1163 If mlt crashes, you must reload the BlueDriver kernel module
1164 due to unreleased DMA buffers.
1166 Needs an argument or property for multi-card address.
1171 Constructor Argument
1172 Initialisation Properties
1173 Read Only Properties
1183 Constructor Argument
1187 Initialisation Properties
1192 Read Only Properties
1208 Simple DirectMedia Layer audio and video output module.
1210 Constructor Argument
1212 string video_standard - "PAL" (default), "NTSC", or "WxH"
1216 double volume - audio level factor
1217 int video_off - if 1, disable video output
1218 int audio_off - if 1, disable audio output
1219 int scale_overlay - if 1, resample video from source pixel aspect
1220 ratio to square pixels.
1222 Read Only Properties
1228 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
1232 NTSC handling needs tightening up - sdl:NTSC is the only valid
1233 constructor for NTSC playback at the moment.
1239 Serialise the service network to XML.
1240 See docs/westley.txt for more information.
1242 Constructor Argument
1244 resource - the name of a file in which to store the XML.
1245 stdout is used if not supplied.
1247 Initialisation Properties
1249 string resource - same as above.
1257 Untested arbitrary nesting of multitracks and playlists.
1258 Property "id" is generated as service type followed by number if
1259 no property named "id" exists, but it fails to guarantee uniqueness.