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 There seems to be a discrepancy between audio and video pts (time
34 stamps) which causes audio seeking to be unreliable in some cases.
35 If audio playback is broken, try adding discrepancy=3 as a
38 Not sure of the exact reasons, but am investigating.
43 Audio sync discrepancy with some content.
44 Not all libavformat supported formats are seekable.
45 ogg is currently broken.
46 mpeg seeking is inaccurate - doesn't seek to i-frames so you may
47 get junk for a few frames.
53 A friendly giant that likes to rhyme and throw rocks
57 'file' - produce a/v from file
59 Initialisation Properties
63 + all producer initialising properties
67 string resource - file location
68 + all producer read only properties
72 This producer is has two roles:
74 1. it handles the mappings of all file names to the other
76 2. it attaches normalising filters (rescale, resize and resample)
77 to the producers (when necessary).
79 This producer simplifies many aspects of use. Essentially, it
80 ensures that a consumer will receive images and audio precisely as
95 Test case pipe based producer for video and audio.
99 'file' - produce a/v from file
100 v4l - produce a/v from video4linux and dsp device
102 Initialisation Properties
104 string video_type - "file" or "v4l"
105 string video_file - file or v4l device
106 string video_size - WxH of video to produce (default: "")
107 int video_loop - loop video until audio exhausted (default: 0)
108 string audio_type - "file" or "dsp"
109 string audio_file - file or dsp device
110 int audio_rate - audio frequency (default: 48000)
111 int audio_channels - audio channels (default: 2)
112 int audio_track - audio track to use (default: 0)
113 int audio_loop - loop audio until video exhausted (default: 0)
116 double fps - output frames per second (default: 25)
117 double aspect_ratio - aspect ratio of video
121 string resource - file or "v4l"
122 int end_of_clip - holds 1 when input is exhausted
130 in point setting is broken.
132 Implementation does not allow fast random access.
138 libdv based decoder for video and audio.
142 'file' - produce a/v from file
144 Initialisation Properties
151 string resource - file location
152 double fps - output frames per second
153 double aspect_ratio - aspect ratio of video]
154 int length - duration of resource (in frames)
168 Mainconcept based dv decoder for video and audio.
172 'file' - produce a/v from file
174 Initialisation Properties
181 string resource - file location
182 double fps - output frames per second
183 double aspect_ratio - aspect ratio of video
184 int length - duration of resource (in frames)
188 mainconcept dv sdk and libdv.
189 "dv_sdk" installed parallel to mlt.
193 Can be problematic with some NTSC DV files?
199 Mainconcept based mpeg decoder for video and audio.
203 'file' - produce a/v from file
205 Initialisation Properties
212 string resource - file location
213 double fps - output frames per second
214 double aspect_ratio - aspect ratio of video
218 mainconcept mpeg sdk.
219 "mpeg_sdk_demo" installed parallel to mlt.
229 A title generator that uses the Pango international text layout
230 and Freetype2 font renderer.
234 string file - a text file containing Pango markup, see:
235 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
236 - requires xml-like encoding special chars: <, >, & to <, >, &
238 Initialisation Properties
245 int video_standard - enum mlt_video_standard from mlt_frame.h
247 this determines proper pixel aspect ratio
249 string markup - a string containing Pango markup see:
250 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
251 - requires xml-like encoding special chars: <, >, & to <, >, &
253 string fgcolour - an rgba colour specification of the text (i.e. 0xrrggbbaa)
254 string bgcolour - an rgba colour of the background rectangle
255 int align - paragraph alignment: 0 = left, 1 = center, 2 = right
256 int pad - the number of pixels to pad the background rectangle beyond edges of text
258 string markup - see constructor argument
259 string text - non-markup text (can contain markup chars un-encoded)
260 string font - the default typeface to use when not using markup
265 string resource - the text/markup file or "pango" if no file
269 libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0, libglib-2.0,
270 libgobject-2.0, libgmodule-2.0, libfontconfig
274 no frame-alignment functionality
280 A graphics overlay generator using gdk-pixbuf
284 'file' - The name of a graphics file loadable by
285 a gdk-pixbuf loader. see /usr/lib/gdk-pixbuf/loaders
286 definitely png, jpeg, tiff, pnm, and xpm
287 - If "%" in filename, the filename is used with sprintf
288 generate a filename from a counter for multi-file/flipbook animation.
289 The file sequence ends when numeric discontinuity >100.
290 - If filename contains "/.all.", suffix with an extension to load
291 all pictures with matching extension from a directory
293 Initialisation Properties
300 int video_standard - enum mlt_video_standard from mlt_frame.h
302 this determines proper pixel aspect ratio
303 double ttl - how long (seconds) to repeat each picture in file sequences
307 string resource - file location
311 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
315 in/out settings are incorrectly handled.
321 Reads a stream of contiguous PPM images.
325 command - a shell command to run something that produces ppm
328 Initialisation Properties
334 string resource - the command
342 Since it uses pipes, it is not compatible with bluefish.
348 Construct a service network from an XML description.
352 file - an XML text file containing westley XML (schema pending)
356 string resource - file location
364 Non-referenced producers and playlists are not destroyed.
365 A referenced producer or playlist must appear before the reference.
371 OGG Vorbis file reader.
375 'file' - file to use (only .ogg supported at the moment)
377 Initialisation Properties
384 double fps - this is fixed at 25 for PAL currently
392 Fixed frame size (PAL audio chunks).
393 Doesn't cover ogg files with multiple, differing sections.
402 Deinterlace a frame consisting of two fields by linearly blending.
408 Initialisation Properties
423 Not a bug, but it only provides fair quality at a fair performance;
424 i.e., it excels at neither.
430 Use ffmpeg executable to substitute audio stream.
434 file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
435 MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
437 Initialisation Properties
444 string resource - file
448 ffmpeg plus for ffmpeg:
449 libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
453 Uses pipes and is therefore not compatible with bluefish.
459 Adjust image luma using a non-linear power-law curve
463 gamma - a floating point value
465 Initialisation Properties
472 double gamma - the exponential factor of the power-law curve
486 Convert colour image to greyscale
492 Initialisation Properties
519 Initialisation Properties
521 string start - in the format X,Y:WxH[:PWxPY]
522 string end - in the format X,Y:WxH[:PWxPY]
542 Image scaling and padding
546 scale - "affine" to use affine transform scaling, otherwise
549 Initialisation Properties
570 Adjust an audio stream's volume level
574 gain - a string containing one of:
575 - a floating point value of the gain adjustment
576 - a numeric value with the suffix "dB" to adjust in terms of decibels
577 - "normalise" to normalise the volume to the target amplitude -12dBFS
579 Initialisation Properties
583 int window - the number of video frames over which to smooth normalisation.
588 string gain - same as constructor argument above
590 string normalise - normalise the volume to the amplitude:
591 - a numeric value with the suffix "dB" to set amplitude in decibels
592 - a floating point value of the relative volume
593 - an unspecified value uses the default -12dBFS
595 string limiter - limit all samples above:
596 - a numeric value with the suffix "dB"
597 - a floating point value ( dB = 20 * log10(x) )
598 - an unspecified value uses the default -6dBFS
600 double max_gain - a floating point or decibel value of the maximum gain that
601 can be applied during normalisation.
602 - an unspecified value uses the default 20dB
604 string end - a gain value just like the gain property above.
605 This causes the gain to be interpolated from 'gain' to 'end'
608 int window - the size of the normalising smoothing buffer in video frame units.
609 - the smoothing buffer prevents erratic gain changes.
610 - the default value is 75 video frames.
612 gain can be applied as a factor to the normalise amplitude!
626 Adjust an audio stream's sampling rate
630 frequency - a numeric value for the new sample rate
632 Initialisation Properties
639 int frequency - the target sample rate
653 Scale the producer video frame size to match the consumer.
657 interpolation - the rescaling method, one of:
658 nearest (lowest quality, fastest),
660 bilinear (good quality, moderate speed),
661 hyper (best quality, slowest)
663 Initialisation Properties
670 string interpolation - see constructor argument above
672 If a property "consumer_aspect_ratio" exists on the frame, then
673 rescaler normalises the producer's aspect ratio and maximises the
674 size of the frame, but may not produce the consumer's requested
675 dimension. Therefore, this option works best in conjunction with the
676 resize filter. This behavior can be disabled by another service by
677 either removing the property, setting it to zero, or setting
678 frame property "distort" to 1.
682 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
695 An alpha-channel based compositor for two frames.
699 string start - X,Y:WxH[:mix]
701 Initialisation Properties
703 string end - X,Y:WxH[:mix]
717 Need to add field-based rendering.
723 A generic dissolve and wipe transition processor. It gets its name
724 from how it uses a grayscale "map" file. As the luma value varies
725 over time, a threshold filter is applied to the map to determine
726 what parts of frame A vs. frame B to show. It only reads PGM
727 files, but it does handle 16 bit PGM. This performs field-based
732 string resource - the luma map file name. If not supplied, a dissolve.
734 Initialisation Properties
741 string resource - same as above
742 double softness - only when using a luma map, how soft to make the
743 edges between A and B. 0.0 = no softness. 1.0 =
756 The luma map must be the same size as the B frame.
757 The PGM parser does not handle comments.
763 An two stream audio mixer.
769 Initalisation Properties
776 double start - the mix level to apply to the second frame.
777 - any negative value causes an automatic crossfade from 0 to 1.
778 double end - the ending value of the mix level. mix level will be interpolated
779 from start to end over the in-out range.
780 int reverse - set to 1 to reverse the direction of the mix.
792 Samples from the longer of the two frames are discarded.
801 BlueFish444 audio and video output module.
805 string video_standard - "PAL" (default) or "NTSC"
807 Initialisation Properties
809 int video_standard - 0 = PAL, 1 = NTSC
817 BlueVelvet SDK installed parallel to mlt in "bluefish."
821 Does not work with any service that uses pipes!
823 If mlt crashes, you must reload the BlueDriver kernel module
824 due to unreleased DMA buffers.
826 Needs an argument or property for multi-card address.
832 Initialisation Properties
845 string video_standard - "PAL" (default) or "NTSC"
847 Initialisation Properties
856 Simple DirectMedia Layer audio and video output module.
860 string video_standard - "PAL" (default), "NTSC", or "WxH"
864 double volume - audio level factor
865 int video_off - if 1, disable video output
866 int audio_off - if 1, disable audio output
867 int scale_overlay - if 1, resample video from source pixel aspect
868 ratio to square pixels.
876 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
880 NTSC handling needs tightening up - sdl:NTSC is the only valid
881 constructor for NTSC playback at the moment.
887 Serialise the service network to XML.
891 resource - the name of a file in which to store the XML.
892 stdout is used if not supplied.
894 Initialisation Properties
896 string resource - same as above.
904 Untested arbitrary nesting of multitracks and playlists.
905 Property "id" is generated as service type followed by number if
906 no property named "id" exists, but it fails to guarantee uniqueness.