8 ffmpeg libavformat based producer for video and audio.
12 'file' - producer a/v from file
14 Initialisation Properties
16 int video_index - index of video stream to use (-1 is off)
17 int audio_index - index of audio stream to use (-1 is off)
23 double fps - this is fixed at 25 for PAL currently
24 double aspect_ratio - this is determined on the first frame read
28 ffmpeg must be configured as --enable-shared and installed prior
29 to compilation of mlt.
33 MPEG video remains elusive.
38 Audio sync discrepancy with some content.
39 Not all libavformat supported formats are seekable.
40 ogg is currently broken.
41 mpeg seeking is inaccurate - doesn't seek to i-frames so you may
42 get junk for a few frames.
48 A friendly giant that likes to rhyme and throw rocks
52 'file' - produce a/v from file
54 Initialisation Properties
58 + all producer initialising properties
62 string resource - file location
63 + all producer read only properties
67 This producer is has two roles:
69 1. it handles the mappings of all file names to the other
71 2. it attaches normalising filters (rescale, resize and resample)
72 to the producers (when necessary).
74 This producer simplifies many aspects of use. Essentially, it
75 ensures that a consumer will receive images and audio precisely as
90 Test case pipe based producer for video and audio.
94 'file' - produce a/v from file
95 v4l - produce a/v from video4linux and dsp device
97 Initialisation Properties
99 string video_type - "file" or "v4l"
100 string video_file - file or v4l device
101 string video_size - WxH of video to produce (default: "")
102 int video_loop - loop video until audio exhausted (default: 0)
103 string audio_type - "file" or "dsp"
104 string audio_file - file or dsp device
105 int audio_rate - audio frequency (default: 48000)
106 int audio_channels - audio channels (default: 2)
107 int audio_track - audio track to use (default: 0)
108 int audio_loop - loop audio until video exhausted (default: 0)
111 double fps - output frames per second (default: 25)
112 double aspect_ratio - aspect ratio of video
116 string resource - file or "v4l"
117 int end_of_clip - holds 1 when input is exhausted
125 in point setting is broken.
127 Implementation does not allow fast random access.
133 libdv based decoder for video and audio.
137 'file' - produce a/v from file
139 Initialisation Properties
146 string resource - file location
147 double fps - output frames per second
148 double aspect_ratio - aspect ratio of video]
149 int length - duration of resource (in frames)
163 Mainconcept based dv decoder for video and audio.
167 'file' - produce a/v from file
169 Initialisation Properties
176 string resource - file location
177 double fps - output frames per second
178 double aspect_ratio - aspect ratio of video
179 int length - duration of resource (in frames)
183 mainconcept dv sdk and libdv.
184 "dv_sdk" installed parallel to mlt.
188 Can be problematic with some NTSC DV files?
194 Mainconcept based mpeg decoder for video and audio.
198 'file' - produce a/v from file
200 Initialisation Properties
207 string resource - file location
208 double fps - output frames per second
209 double aspect_ratio - aspect ratio of video
213 mainconcept mpeg sdk.
214 "mpeg_sdk_demo" installed parallel to mlt.
224 A title generator that uses the Pango international text layout
225 and Freetype2 font renderer.
229 string file - a text file containing Pango markup, see:
230 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
231 - requires xml-like encoding special chars: <, >, & to <, >, &
233 Initialisation Properties
240 int video_standard - enum mlt_video_standard from mlt_frame.h
242 this determines proper pixel aspect ratio
244 string markup - a string containing Pango markup see:
245 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
246 - requires xml-like encoding special chars: <, >, & to <, >, &
248 string fgcolour - an rgba colour specification of the text (i.e. 0xrrggbbaa)
249 string bgcolour - an rgba colour of the background rectangle
250 int align - paragraph alignment: 0 = left, 1 = center, 2 = right
251 int pad - the number of pixels to pad the background rectangle beyond edges of text
253 string markup - see constructor argument
254 string text - non-markup text (can contain markup chars un-encoded)
255 string font - the default typeface to use when not using markup
260 string resource - the text/markup file or "pango" if no file
264 libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0, libglib-2.0,
265 libgobject-2.0, libgmodule-2.0, libfontconfig
269 no frame-alignment functionality
275 A graphics overlay generator using gdk-pixbuf
279 'file' - The name of a graphics file loadable by
280 a gdk-pixbuf loader. see /usr/lib/gdk-pixbuf/loaders
281 definitely png, jpeg, tiff, pnm, and xpm
282 - If "%" in filename, the filename is used with sprintf
283 generate a filename from a counter for multi-file/flipbook animation.
284 The file sequence ends when numeric discontinuity >100.
285 - If filename contains "/.all.", suffix with an extension to load
286 all pictures with matching extension from a directory
288 Initialisation Properties
295 int video_standard - enum mlt_video_standard from mlt_frame.h
297 this determines proper pixel aspect ratio
298 double ttl - how long (seconds) to repeat each picture in file sequences
302 string resource - file location
306 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
310 in/out settings are incorrectly handled.
316 Reads a stream of contiguous PPM images.
320 command - a shell command to run something that produces ppm
323 Initialisation Properties
329 string resource - the command
337 Since it uses pipes, it is not compatible with bluefish.
343 Construct a service network from an XML description.
347 file - an XML text file containing westley XML (schema pending)
351 string resource - file location
359 Non-referenced producers and playlists are not destroyed.
360 A referenced producer or playlist must appear before the reference.
366 OGG Vorbis file reader.
370 'file' - file to use (only .ogg supported at the moment)
372 Initialisation Properties
379 double fps - this is fixed at 25 for PAL currently
387 Fixed frame size (PAL audio chunks).
388 Doesn't cover ogg files with multiple, differing sections.
397 Deinterlace a frame consisting of two fields by linearly blending.
403 Initialisation Properties
418 Not a bug, but it only provides fair quality at a fair performance;
419 i.e., it excels at neither.
425 Use ffmpeg executable to substitute audio stream.
429 file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
430 MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
432 Initialisation Properties
439 string resource - file
443 ffmpeg plus for ffmpeg:
444 libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
448 Uses pipes and is therefore not compatible with bluefish.
454 Adjust image luma using a non-linear power-law curve
458 gamma - a floating point value
460 Initialisation Properties
467 double gamma - the exponential factor of the power-law curve
481 Convert colour image to greyscale
487 Initialisation Properties
514 Initialisation Properties
516 string start - in the format X,Y:WxH[:PWxPY]
517 string end - in the format X,Y:WxH[:PWxPY]
537 Image scaling and padding
541 scale - "affine" to use affine transform scaling, otherwise
544 Initialisation Properties
565 Adjust an audio stream's volume level
569 gain - a string containing one of:
570 - a floating point value of the gain adjustment
571 - a numeric value with the suffix "dB" to adjust in terms of decibels
572 - "normalise" to normalise the volume to the target amplitude -12dBFS
574 Initialisation Properties
578 int window - the number of video frames over which to smooth normalisation.
583 string gain - same as constructor argument above
585 string normalise - normalise the volume to the amplitude:
586 - a numeric value with the suffix "dB" to set amplitude in decibels
587 - a floating point value of the relative volume
588 - an unspecified value uses the default -12dBFS
590 string limiter - limit all samples above:
591 - a numeric value with the suffix "dB"
592 - a floating point value ( dB = 20 * log10(x) )
593 - an unspecified value uses the default -6dBFS
595 double max_gain - a floating point or decibel value of the maximum gain that
596 can be applied during normalisation.
597 - an unspecified value uses the default 20dB
599 string end - a gain value just like the gain property above.
600 This causes the gain to be interpolated from 'gain' to 'end'
603 int window - the size of the normalising smoothing buffer in video frame units.
604 - the smoothing buffer prevents erratic gain changes.
605 - the default value is 75 video frames.
607 gain can be applied as a factor to the normalise amplitude!
621 Adjust an audio stream's sampling rate
625 frequency - a numeric value for the new sample rate
627 Initialisation Properties
634 int frequency - the target sample rate
648 Scale the producer video frame size to match the consumer.
652 interpolation - the rescaling method, one of:
653 nearest (lowest quality, fastest),
655 bilinear (good quality, moderate speed),
656 hyper (best quality, slowest)
658 Initialisation Properties
665 string interpolation - see constructor argument above
667 If a property "consumer_aspect_ratio" exists on the frame, then
668 rescaler normalises the producer's aspect ratio and maximises the
669 size of the frame, but may not produce the consumer's requested
670 dimension. Therefore, this option works best in conjunction with the
671 resize filter. This behavior can be disabled by another service by
672 either removing the property, setting it to zero, or setting
673 frame property "distort" to 1.
677 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
690 An alpha-channel based compositor for two frames.
694 string start - X,Y:WxH[:mix]
696 Initialisation Properties
698 string end - X,Y:WxH[:mix]
712 Need to add field-based rendering.
718 A generic dissolve and wipe transition processor. It gets its name
719 from how it uses a grayscale "map" file. As the luma value varies
720 over time, a threshold filter is applied to the map to determine
721 what parts of frame A vs. frame B to show. It only reads PGM
722 files, but it does handle 16 bit PGM. This performs field-based
727 string resource - the luma map file name. If not supplied, a dissolve.
729 Initialisation Properties
736 string resource - same as above
737 double softness - only when using a luma map, how soft to make the
738 edges between A and B. 0.0 = no softness. 1.0 =
751 The luma map must be the same size as the B frame.
752 The PGM parser does not handle comments.
758 An two stream audio mixer.
764 Initalisation Properties
771 double start - the mix level to apply to the second frame.
772 - any negative value causes an automatic crossfade from 0 to 1.
773 double end - the ending value of the mix level. mix level will be interpolated
774 from start to end over the in-out range.
775 int reverse - set to 1 to reverse the direction of the mix.
787 Samples from the longer of the two frames are discarded.
796 BlueFish444 audio and video output module.
800 string video_standard - "PAL" (default) or "NTSC"
802 Initialisation Properties
804 int video_standard - 0 = PAL, 1 = NTSC
812 BlueVelvet SDK installed parallel to mlt in "bluefish."
816 Does not work with any service that uses pipes!
818 If mlt crashes, you must reload the BlueDriver kernel module
819 due to unreleased DMA buffers.
821 Needs an argument or property for multi-card address.
827 Initialisation Properties
840 string video_standard - "PAL" (default) or "NTSC"
842 Initialisation Properties
851 Simple DirectMedia Layer audio and video output module.
855 string video_standard - "PAL" (default), "NTSC", or "WxH"
859 double volume - audio level factor
860 int video_off - if 1, disable video output
861 int audio_off - if 1, disable audio output
862 int scale_overlay - if 1, resample video from source pixel aspect
863 ratio to square pixels.
871 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
875 NTSC handling needs tightening up - sdl:NTSC is the only valid
876 constructor for NTSC playback at the moment.
882 Serialise the service network to XML.
886 resource - the name of a file in which to store the XML.
887 stdout is used if not supplied.
889 Initialisation Properties
891 string resource - same as above.
899 Untested arbitrary nesting of multitracks and playlists.
900 Property "id" is generated as service type followed by number if
901 no property named "id" exists, but it fails to guarantee uniqueness.