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 Multiple mp3 uses in a single instance causes crash (patch
47 available on request - submitted to ffmpeg mailing list).
48 mpeg seeking is inaccurate - doesn't seek to i-frames so you may
49 get junk for a few frames.
55 Test case pipe based producer for video and audio.
59 'file' - produce a/v from file
60 v4l - produce a/v from video4linux and dsp device
62 Initialisation Properties
64 string video_type - "file" or "v4l"
65 string video_file - file or v4l device
66 string video_size - WxH of video to produce (default: "")
67 int video_loop - loop video until audio exhausted (default: 0)
68 string audio_type - "file" or "dsp"
69 string audio_file - file or dsp device
70 int audio_rate - audio frequency (default: 48000)
71 int audio_channels - audio channels (default: 2)
72 int audio_track - audio track to use (default: 0)
73 int audio_loop - loop audio until video exhausted (default: 0)
76 double fps - output frames per second (default: 25)
77 double aspect_ratio - aspect ratio of video
81 string resource - file or "v4l"
82 int end_of_clip - holds 1 when input is exhausted
90 in point setting is broken.
92 Implementation does not allow fast random access.
98 libdv based decoder for video and audio.
102 'file' - produce a/v from file
104 Initialisation Properties
111 string resource - file location
112 double fps - output frames per second
113 double aspect_ratio - aspect ratio of video]
114 int length - duration of resource (in frames)
128 Mainconcept based dv decoder for video and audio.
132 'file' - produce a/v from file
134 Initialisation Properties
141 string resource - file location
142 double fps - output frames per second
143 double aspect_ratio - aspect ratio of video
144 int length - duration of resource (in frames)
148 mainconcept dv sdk and libdv.
149 "dv_sdk" installed parallel to mlt.
153 Can be problematic with source NTSC DV files? really? yes - try
160 Mainconcept based mpeg decoder for video and audio.
164 'file' - produce a/v from file
166 Initialisation Properties
173 string resource - file location
174 double fps - output frames per second
175 double aspect_ratio - aspect ratio of video
179 mainconcept mpeg sdk.
180 "mpeg_sdk_demo" installed parallel to mlt.
190 A title generator that uses the Pango international text layout
191 and Freetype2 font renderer.
195 string file - a text file containing Pango markup, see:
196 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
197 - requires xml-like encoding special chars: <, >, & to <, >, &
199 Initialisation Properties
206 int video_standard - enum mlt_video_standard from mlt_frame.h
208 this determines proper pixel aspect ratio
210 string markup - a string containing Pango markup see:
211 http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
212 - requires xml-like encoding special chars: <, >, & to <, >, &
214 int fgcolor - an rgba color specification of the text (i.e. 0xrrggbbaa)
215 int bgcolor - an rgba color of the background rectangle
216 int align - paragraph alignment: 0 = left, 1 = center, 2 = right
217 int pad - the number of pixels to pad the background rectangle beyond edges of text
219 string markup - see constructor argument
220 string text - non-markup text (can contain markup chars un-encoded)
221 string font - the default typeface to use when not using markup
223 int x - the horizontal position of the title on the frame
225 int y - the vertical position of the title on the frame
227 double mix - the overall opacity control of the generated title
232 string resource - the text/markup file or "pango" if no file
236 libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0, libglib-2.0,
237 libgobject-2.0, libgmodule-2.0, libfontconfig
241 no frame-alignment functionality
247 A graphics overlay generator using gdk-pixbuf
251 'file' - The name of a graphics file loadable by
252 a gdk-pixbuf loader. see /usr/lib/gdk-pixbuf/loaders
253 definitely png, jpeg, tiff, pnm, and xpm
254 - If "%" in filename, the filename is used with sprintf
255 generate a filename from a counter for multi-file/flipbook animation.
256 The file sequence ends when numeric discontinuity >100.
257 - If filename contains "/.all.", suffix with an extension to load
258 all pictures with matching extension from a directory
260 Initialisation Properties
267 int video_standard - enum mlt_video_standard from mlt_frame.h
269 this determines proper pixel aspect ratio
270 double ttl - how long (seconds) to repeat each picture in file sequences
271 int x - the horizontal offset from the left edge of the frame
272 int y - the vertical offset from the top edge of the frame
273 double mix - the opacity factor to apply to the second frame
274 (used in addition to alpha channel).
279 string resource - file location
283 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
287 in/out settings are incorrectly handled.
293 Reads a stream of contiguous PPM images.
297 command - a shell command to run something that produces ppm
300 Initialisation Properties
306 string resource - the command
314 Since it uses pipes, it is not compatible with bluefish.
320 Construct a service network from an XML description.
324 file - an XML text file containing westley XML (schema pending)
328 string resource - file location
336 Non-referenced producers and playlists are not destroyed.
337 A referenced producer or playlist must appear before the reference.
343 OGG Vorbis file reader.
347 'file' - file to use (only .ogg supported at the moment)
349 Initialisation Properties
356 double fps - this is fixed at 25 for PAL currently
364 Fixed frame size (PAL audio chunks).
365 Doesn't cover ogg files with multiple, differing sections.
374 Deinterlace a frame consisting of two fields by linearly blending.
380 Initialisation Properties
395 Not a bug, but it only provides fair quality at a fair performance;
396 i.e., it excels at neither.
402 Use ffmpeg executable to substitute audio stream.
406 file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
407 MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
409 Initialisation Properties
416 string resource - file
420 ffmpeg plus for ffmpeg:
421 libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
425 Uses pipes and is therefore not compatible with bluefish.
431 Adjust image luma using a non-linear power-law curve
435 gamma - a floating point value
437 Initialisation Properties
444 double gamma - the exponential factor of the power-law curve
458 Convert color image to greyscale
464 Initialisation Properties
485 Image scaling and padding
489 scale - "affine" to use affine transform scaling, otherwise
492 Initialisation Properties
513 Adjust an audio stream's volume level
517 gain - a string containing one of:
518 - a floating point value of the gain adjustment
519 - a numeric value with the suffix "dB" to adjust in terms of decibels
520 - "normalise" to normalise the volume to the target amplitude -12dBFS
522 Initialisation Properties
526 int window - the number of video frames over which to smooth normalisation.
531 string gain - same as constructor argument above
533 string normalise - normalise the volume to the amplitude:
534 - a numeric value with the suffix "dB" to set amplitude in decibels
535 - a floating point value of the relative volume
536 - an unspecified value uses the default -12dBFS
538 string limiter - limit all samples above:
539 - a numeric value with the suffix "dB"
540 - a floating point value ( dB = 20 * log10(x) )
541 - an unspecified value uses the default -6dBFS
543 double max_gain - a floating point or decibel value of the maximum gain that
544 can be applied during normalisation.
545 - an unspecified value uses the default 20dB
559 Adjust an audio stream's sampling rate
563 frequency - a numeric value for the new sample rate
565 Initialisation Properties
572 int frequency - the target sample rate
586 Scale the producer video frame size to match the consumer.
590 interpolation - the rescaling method, one of:
591 nearest (lowest quality, fastest),
593 bilinear (good quality, moderate speed),
594 hyper (best quality, slowest)
596 Initialisation Properties
603 string interpolation - see constructor argument above
607 libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
620 An alpha-channel based compositor for two frames.
626 Initialisation Properties
633 int x - the horizontal offset from the left edge of the frame
634 int y - the vertical offset from the top edge of the frame
635 double mix - the opacity factor to apply to the second frame
636 (used in addition to alpha channel).
637 - any negative value causes an automatic dissolve
649 Need to add field-based rendering.
655 A generic dissolve and wipe transition processor. It gets its name
656 from how it uses a grayscale "map" file. As the luma value varies
657 over time, a threshold filter is applied to the map to determine
658 what parts of frame A vs. frame B to show. It only reads PGM
659 files, but it does handle 16 bit PGM. This performs field-based
664 string resource - the luma map file name. If not supplied, a dissolve.
666 Initialisation Properties
673 string resource - same as above
674 double softness - only when using a luma map, how soft to make the
675 edges between A and B. 0.0 = no softness. 1.0 =
688 The luma map must be the same size as the B frame.
689 The PGM parser does not handle comments.
695 An two stream audio mixer.
701 Initalisation Properties
708 double mix - the mix level to apply to the second frame.
709 - any negative value causes an automatic crossfade.
721 Samples from the longer of the two frames are discarded.
730 BlueFish444 audio and video output module.
734 string video_standard - "PAL" (default) or "NTSC"
736 Initialisation Properties
738 int video_standard - 0 = PAL, 1 = NTSC
746 BlueVelvet SDK installed parallel to mlt in "bluefish."
750 Does not work with any service that uses pipes!
752 If mlt crashes, you must reload the BlueDriver kernel module
753 due to unreleased DMA buffers.
755 Needs an argument or property for multi-card address.
761 Initialisation Properties
774 string video_standard - "PAL" (default) or "NTSC"
776 Initialisation Properties
785 Simple DirectMedia Layer audio and video output module.
789 string video_standard - "PAL" (default), "NTSC", or "WxH"
793 double volume - audio level factor
794 int video_off - if 1, disable video output
795 int audio_off - if 1, disable audio output
796 int scale_overlay - if 1, resample video from source pixel aspect
797 ratio to square pixels.
805 libSDL-1.2, libasound, libaudio, libXt, libX11, libXext, libSM, libICE
809 NTSC handling needs tightening up - sdl:NTSC is the only valid
810 constructor for NTSC playback at the moment.
816 Serialise the service network to XML.
820 resource - the name of a file in which to store the XML.
821 stdout is used if not supplied.
823 Initialisation Properties
825 string resource - same as above.
833 Untested arbitrary nesting of multitracks and playlists.
834 Property "id" is generated as service type followed by number if
835 no property named "id" exists, but it fails to guarantee uniqueness.