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 A freindly giant that likes to throw rocks
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 libdv based 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)
156 Mainconcept based dv decoder for video and audio.
160 'file' - produce a/v from file
162 Initialisation Properties
169 string resource - file location
170 double fps - output frames per second
171 double aspect_ratio - aspect ratio of video
172 int length - duration of resource (in frames)
176 mainconcept dv sdk and libdv.
177 "dv_sdk" installed parallel to mlt.
181 Can be problematic with source NTSC DV files? really? yes - try
188 Mainconcept based mpeg decoder for video and audio.
192 'file' - produce a/v from file
194 Initialisation Properties
201 string resource - file location
202 double fps - output frames per second
203 double aspect_ratio - aspect ratio of video
207 mainconcept mpeg sdk.
208 "mpeg_sdk_demo" installed parallel to mlt.
218 A title generator that uses the Pango international text layout
219 and Freetype2 font renderer.
223 string file - a text file containing Pango markup, see:
224 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
225 - requires xml-like encoding special chars: <, >, & to <, >, &
227 Initialisation Properties
234 int video_standard - enum mlt_video_standard from mlt_frame.h
236 this determines proper pixel aspect ratio
238 string markup - a string containing Pango markup see:
239 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
240 - requires xml-like encoding special chars: <, >, & to <, >, &
242 int fgcolor - an rgba color specification of the text (i.e. 0xrrggbbaa)
243 int bgcolor - an rgba color of the background rectangle
244 int align - paragraph alignment: 0 = left, 1 = center, 2 = right
245 int pad - the number of pixels to pad the background rectangle beyond edges of text
247 string markup - see constructor argument
248 string text - non-markup text (can contain markup chars un-encoded)
249 string font - the default typeface to use when not using markup
251 int x - the horizontal position of the title on the frame
253 int y - the vertical position of the title on the frame
255 double mix - the overall opacity control of the generated title
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
299 int x - the horizontal offset from the left edge of the frame
300 int y - the vertical offset from the top edge of the frame
301 double mix - the opacity factor to apply to the second frame
302 (used in addition to alpha channel).
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 color 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
616 Adjust an audio stream's sampling rate
620 frequency - a numeric value for the new sample rate
622 Initialisation Properties
629 int frequency - the target sample rate
643 Scale the producer video frame size to match the consumer.
647 interpolation - the rescaling method, one of:
648 nearest (lowest quality, fastest),
650 bilinear (good quality, moderate speed),
651 hyper (best quality, slowest)
653 Initialisation Properties
660 string interpolation - see constructor argument above
664 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
677 An alpha-channel based compositor for two frames.
681 string start - X,Y:WxH[:mix]
683 Initialisation Properties
685 string end - X,Y:WxH[:mix]
699 Need to add field-based rendering.
705 A generic dissolve and wipe transition processor. It gets its name
706 from how it uses a grayscale "map" file. As the luma value varies
707 over time, a threshold filter is applied to the map to determine
708 what parts of frame A vs. frame B to show. It only reads PGM
709 files, but it does handle 16 bit PGM. This performs field-based
714 string resource - the luma map file name. If not supplied, a dissolve.
716 Initialisation Properties
723 string resource - same as above
724 double softness - only when using a luma map, how soft to make the
725 edges between A and B. 0.0 = no softness. 1.0 =
738 The luma map must be the same size as the B frame.
739 The PGM parser does not handle comments.
745 An two stream audio mixer.
751 Initalisation Properties
758 double mix - the mix level to apply to the second frame.
759 - any negative value causes an automatic crossfade.
771 Samples from the longer of the two frames are discarded.
780 BlueFish444 audio and video output module.
784 string video_standard - "PAL" (default) or "NTSC"
786 Initialisation Properties
788 int video_standard - 0 = PAL, 1 = NTSC
796 BlueVelvet SDK installed parallel to mlt in "bluefish."
800 Does not work with any service that uses pipes!
802 If mlt crashes, you must reload the BlueDriver kernel module
803 due to unreleased DMA buffers.
805 Needs an argument or property for multi-card address.
811 Initialisation Properties
824 string video_standard - "PAL" (default) or "NTSC"
826 Initialisation Properties
835 Simple DirectMedia Layer audio and video output module.
839 string video_standard - "PAL" (default), "NTSC", or "WxH"
843 double volume - audio level factor
844 int video_off - if 1, disable video output
845 int audio_off - if 1, disable audio output
846 int scale_overlay - if 1, resample video from source pixel aspect
847 ratio to square pixels.
855 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
859 NTSC handling needs tightening up - sdl:NTSC is the only valid
860 constructor for NTSC playback at the moment.
866 Serialise the service network to XML.
870 resource - the name of a file in which to store the XML.
871 stdout is used if not supplied.
873 Initialisation Properties
875 string resource - same as above.
883 Untested arbitrary nesting of multitracks and playlists.
884 Property "id" is generated as service type followed by number if
885 no property named "id" exists, but it fails to guarantee uniqueness.