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 Test case pipe based producer for video and audio.
57 'file' - produce a/v from file
58 v4l - produce a/v from video4linux and dsp device
60 Initialisation Properties
62 string video_type - "file" or "v4l"
63 string video_file - file or v4l device
64 string video_size - WxH of video to produce (default: "")
65 int video_loop - loop video until audio exhausted (default: 0)
66 string audio_type - "file" or "dsp"
67 string audio_file - file or dsp device
68 int audio_rate - audio frequency (default: 48000)
69 int audio_channels - audio channels (default: 2)
70 int audio_track - audio track to use (default: 0)
71 int audio_loop - loop audio until video exhausted (default: 0)
74 double fps - output frames per second (default: 25)
75 double aspect_ratio - aspect ratio of video
79 string resource - file or "v4l"
80 int end_of_clip - holds 1 when input is exhausted
88 in point setting is broken.
90 Implementation does not allow fast random access.
96 libdv based decoder for video and audio.
100 'file' - produce a/v from file
102 Initialisation Properties
109 string resource - file location
110 double fps - output frames per second
111 double aspect_ratio - aspect ratio of video]
112 int length - duration of resource (in frames)
126 Mainconcept based dv decoder for video and audio.
130 'file' - produce a/v from file
132 Initialisation Properties
139 string resource - file location
140 double fps - output frames per second
141 double aspect_ratio - aspect ratio of video
142 int length - duration of resource (in frames)
146 mainconcept dv sdk and libdv.
147 "dv_sdk" installed parallel to mlt.
151 Can be problematic with source NTSC DV files? really? yes - try
158 Mainconcept based mpeg decoder for video and audio.
162 'file' - produce a/v from file
164 Initialisation Properties
171 string resource - file location
172 double fps - output frames per second
173 double aspect_ratio - aspect ratio of video
177 mainconcept mpeg sdk.
178 "mpeg_sdk_demo" installed parallel to mlt.
188 A title generator that uses the Pango international text layout
189 and Freetype2 font renderer.
193 string file - a text file containing Pango markup, see:
194 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
195 - requires xml-like encoding special chars: <, >, & to <, >, &
197 Initialisation Properties
204 int video_standard - enum mlt_video_standard from mlt_frame.h
206 this determines proper pixel aspect ratio
208 string markup - a string containing Pango markup see:
209 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
210 - requires xml-like encoding special chars: <, >, & to <, >, &
212 int fgcolor - an rgba color specification of the text (i.e. 0xrrggbbaa)
213 int bgcolor - an rgba color of the background rectangle
214 int align - paragraph alignment: 0 = left, 1 = center, 2 = right
215 int pad - the number of pixels to pad the background rectangle beyond edges of text
217 string markup - see constructor argument
218 string text - non-markup text (can contain markup chars un-encoded)
219 string font - the default typeface to use when not using markup
221 int x - the horizontal position of the title on the frame
223 int y - the vertical position of the title on the frame
225 double mix - the overall opacity control of the generated title
230 string resource - the text/markup file or "pango" if no file
234 libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0, libglib-2.0,
235 libgobject-2.0, libgmodule-2.0, libfontconfig
239 no frame-alignment functionality
245 A graphics overlay generator using gdk-pixbuf
249 'file' - The name of a graphics file loadable by
250 a gdk-pixbuf loader. see /usr/lib/gdk-pixbuf/loaders
251 definitely png, jpeg, tiff, pnm, and xpm
252 - If "%" in filename, the filename is used with sprintf
253 generate a filename from a counter for multi-file/flipbook animation.
254 The file sequence ends when numeric discontinuity >100.
255 - If filename contains "/.all.", suffix with an extension to load
256 all pictures with matching extension from a directory
258 Initialisation Properties
265 int video_standard - enum mlt_video_standard from mlt_frame.h
267 this determines proper pixel aspect ratio
268 double ttl - how long (seconds) to repeat each picture in file sequences
269 int x - the horizontal offset from the left edge of the frame
270 int y - the vertical offset from the top edge of the frame
271 double mix - the opacity factor to apply to the second frame
272 (used in addition to alpha channel).
277 string resource - file location
281 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
285 in/out settings are incorrectly handled.
291 Reads a stream of contiguous PPM images.
295 command - a shell command to run something that produces ppm
298 Initialisation Properties
304 string resource - the command
312 Since it uses pipes, it is not compatible with bluefish.
318 Construct a service network from an XML description.
322 file - an XML text file containing westley XML (schema pending)
326 string resource - file location
334 Non-referenced producers and playlists are not destroyed.
335 A referenced producer or playlist must appear before the reference.
341 OGG Vorbis file reader.
345 'file' - file to use (only .ogg supported at the moment)
347 Initialisation Properties
354 double fps - this is fixed at 25 for PAL currently
362 Fixed frame size (PAL audio chunks).
363 Doesn't cover ogg files with multiple, differing sections.
372 Deinterlace a frame consisting of two fields by linearly blending.
378 Initialisation Properties
393 Not a bug, but it only provides fair quality at a fair performance;
394 i.e., it excels at neither.
400 Use ffmpeg executable to substitute audio stream.
404 file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
405 MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
407 Initialisation Properties
414 string resource - file
418 ffmpeg plus for ffmpeg:
419 libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
423 Uses pipes and is therefore not compatible with bluefish.
429 Adjust image luma using a non-linear power-law curve
433 gamma - a floating point value
435 Initialisation Properties
442 double gamma - the exponential factor of the power-law curve
456 Convert color image to greyscale
462 Initialisation Properties
489 Initialisation Properties
491 string start - in the format X,Y:WxH[:PWxPY]
492 string end - in the format X,Y:WxH[:PWxPY]
512 Image scaling and padding
516 scale - "affine" to use affine transform scaling, otherwise
519 Initialisation Properties
540 Adjust an audio stream's volume level
544 gain - a string containing one of:
545 - a floating point value of the gain adjustment
546 - a numeric value with the suffix "dB" to adjust in terms of decibels
547 - "normalise" to normalise the volume to the target amplitude -12dBFS
549 Initialisation Properties
553 int window - the number of video frames over which to smooth normalisation.
558 string gain - same as constructor argument above
560 string normalise - normalise the volume to the amplitude:
561 - a numeric value with the suffix "dB" to set amplitude in decibels
562 - a floating point value of the relative volume
563 - an unspecified value uses the default -12dBFS
565 string limiter - limit all samples above:
566 - a numeric value with the suffix "dB"
567 - a floating point value ( dB = 20 * log10(x) )
568 - an unspecified value uses the default -6dBFS
570 double max_gain - a floating point or decibel value of the maximum gain that
571 can be applied during normalisation.
572 - an unspecified value uses the default 20dB
586 Adjust an audio stream's sampling rate
590 frequency - a numeric value for the new sample rate
592 Initialisation Properties
599 int frequency - the target sample rate
613 Scale the producer video frame size to match the consumer.
617 interpolation - the rescaling method, one of:
618 nearest (lowest quality, fastest),
620 bilinear (good quality, moderate speed),
621 hyper (best quality, slowest)
623 Initialisation Properties
630 string interpolation - see constructor argument above
634 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
647 An alpha-channel based compositor for two frames.
653 Initialisation Properties
660 int x - the horizontal offset from the left edge of the frame
661 int y - the vertical offset from the top edge of the frame
662 double mix - the opacity factor to apply to the second frame
663 (used in addition to alpha channel).
664 - any negative value causes an automatic dissolve
676 Need to add field-based rendering.
682 A generic dissolve and wipe transition processor. It gets its name
683 from how it uses a grayscale "map" file. As the luma value varies
684 over time, a threshold filter is applied to the map to determine
685 what parts of frame A vs. frame B to show. It only reads PGM
686 files, but it does handle 16 bit PGM. This performs field-based
691 string resource - the luma map file name. If not supplied, a dissolve.
693 Initialisation Properties
700 string resource - same as above
701 double softness - only when using a luma map, how soft to make the
702 edges between A and B. 0.0 = no softness. 1.0 =
715 The luma map must be the same size as the B frame.
716 The PGM parser does not handle comments.
722 An two stream audio mixer.
728 Initalisation Properties
735 double mix - the mix level to apply to the second frame.
736 - any negative value causes an automatic crossfade.
748 Samples from the longer of the two frames are discarded.
757 BlueFish444 audio and video output module.
761 string video_standard - "PAL" (default) or "NTSC"
763 Initialisation Properties
765 int video_standard - 0 = PAL, 1 = NTSC
773 BlueVelvet SDK installed parallel to mlt in "bluefish."
777 Does not work with any service that uses pipes!
779 If mlt crashes, you must reload the BlueDriver kernel module
780 due to unreleased DMA buffers.
782 Needs an argument or property for multi-card address.
788 Initialisation Properties
801 string video_standard - "PAL" (default) or "NTSC"
803 Initialisation Properties
812 Simple DirectMedia Layer audio and video output module.
816 string video_standard - "PAL" (default), "NTSC", or "WxH"
820 double volume - audio level factor
821 int video_off - if 1, disable video output
822 int audio_off - if 1, disable audio output
823 int scale_overlay - if 1, resample video from source pixel aspect
824 ratio to square pixels.
832 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
836 NTSC handling needs tightening up - sdl:NTSC is the only valid
837 constructor for NTSC playback at the moment.
843 Serialise the service network to XML.
847 resource - the name of a file in which to store the XML.
848 stdout is used if not supplied.
850 Initialisation Properties
852 string resource - same as above.
860 Untested arbitrary nesting of multitracks and playlists.
861 Property "id" is generated as service type followed by number if
862 no property named "id" exists, but it fails to guarantee uniqueness.