Minor fixes to westley and mlt_consumer; first draft westley docs
[melted] / docs / services.txt
index 390d05d..6500f5f 100644 (file)
@@ -28,26 +28,56 @@ Producers
                        ffmpeg must be configured as --enable-shared and installed prior
                        to compilation of mlt.
 
-               Oddities
-
-                       There seems to be a discrepancy between audio and video pts (time
-                       stamps) which causes audio seeking to be unreliable in some cases.
-                       If audio playback is broken, try adding discrepancy=3 as a
-                       property.
-
-                       Not sure of the exact reasons, but am investigating. 
-
                Known Bugs
 
-                       Fixed frame rate.
                        Audio sync discrepancy with some content.
                        Not all libavformat supported formats are seekable.
                        ogg is currently broken.
-                       Multiple mp3 uses in a single instance causes crash (patch
-                       available on request - submitted to ffmpeg mailing list).
                        mpeg seeking is inaccurate - doesn't seek to i-frames so you may
                        get junk for a few frames.
 
+       fezzik
+
+               Description
+
+                       A friendly giant that likes to rhyme and throw rocks
+
+               Constructor Argument
+
+                       'file'  - produce a/v from file
+
+               Initialisation Properties
+
+                       int in - in point
+                       int out - out point
+                       + all producer initialising properties
+
+               Read Only Properties
+
+                       string resource - file location
+                       + all producer read only properties
+
+               Details
+
+                       This producer is has two roles:
+
+                       1. it handles the mappings of all file names to the other
+                       producers;
+                       2. it attaches normalising filters (rescale, resize and resample)
+                       to the producers (when necessary).
+
+                       This producer simplifies many aspects of use. Essentially, it
+                       ensures that a consumer will receive images and audio precisely as
+                       they request them. 
+
+               Dependencies
+
+                       all.
+
+               Known Bugs
+
+                       None.
+
        ffmpeg
 
                Description
@@ -150,8 +180,7 @@ Producers
 
                Known Bugs
 
-                       Can be problematic with source NTSC DV files? really? yes - try
-                       playing pond.dv...
+                       Can be problematic with some NTSC DV files?
 
        mcmpeg
 
@@ -211,8 +240,8 @@ Producers
                                        http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
                                      - requires xml-like encoding special chars: <, >, & to &lt;, &gt;, &amp;
 
-                       int fgcolor - an rgba color specification of the text (i.e. 0xrrggbbaa)
-                       int bgcolor - an rgba color of the background rectangle
+                       string fgcolour - an rgba colour specification of the text (i.e. 0xrrggbbaa)
+                       string bgcolour - an rgba colour of the background rectangle
                        int align - paragraph alignment: 0 = left, 1 = center, 2 = right
                        int pad - the number of pixels to pad the background rectangle beyond edges of text
                                  default 0
@@ -220,12 +249,6 @@ Producers
                        string text - non-markup text (can contain markup chars un-encoded)
                        string font - the default typeface to use when not using markup
                                      default "Sans 48"
-                       int x - the horizontal position of the title on the frame
-                               default 0
-                       int y - the vertical position of the title on the frame
-                               default 0
-                       double mix - the overall opacity control of the generated title
-                                    default 1.0
 
                Read Only Properties
 
@@ -268,11 +291,6 @@ Producers
                                             PAL = 0, NTSC = 1
                                             this determines proper pixel aspect ratio
                        double ttl - how long (seconds) to repeat each picture in file sequences
-                       int x - the horizontal offset from the left edge of the frame
-                       int y - the vertical offset from the top edge of the frame
-                       double mix - the opacity factor to apply to the second frame
-                                    (used in addition to alpha channel).
-
 
                Read Only Properties
 
@@ -280,7 +298,7 @@ Producers
 
                Dependencies
 
-                       libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
+                       libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
 
                Known Bugs
 
@@ -313,6 +331,56 @@ Producers
 
                        Since it uses pipes, it is not compatible with bluefish.
 
+       westley
+
+               Description
+
+                       Construct a service network from an XML description.
+
+               Constructor Argument
+
+                       file - an XML text file containing westley XML (schema pending)
+
+               Read Only Properties
+
+                       string resource - file location
+
+               Dependencies
+
+                       libxml2
+
+               Known Bugs
+
+                       Non-referenced producers and playlists are not destroyed.
+                       A referenced producer or playlist must appear before the reference.
+
+       vorbis
+
+               Description
+
+                       OGG Vorbis file reader.
+
+               Constructor Argument
+
+                       'file' - file to use (only .ogg supported at the moment)
+
+               Initialisation Properties
+
+                       int in - in point
+                       int out - out point
+
+               Read Only Properties
+
+                       double fps - this is fixed at 25 for PAL currently
+
+               Dependencies
+
+                       libvorbisfile
+
+               Known Bugs
+
+                       Fixed frame size (PAL audio chunks).
+                       Doesn't cover ogg files with multiple, differing sections.
 
 Filters
 -------
@@ -349,7 +417,7 @@ Filters
        
                Description
 
-                       Use ffmpeg executable to substitute audio stream.
+                   Use ffmpeg executable to substitute audio stream.
                
                Constructor Argument
 
@@ -405,7 +473,7 @@ Filters
        
                Description
 
-                       Convert color image to greyscale
+                       Convert colour image to greyscale
                        
                Constructor Argument
 
@@ -428,6 +496,35 @@ Filters
 
                        none
                
+       obscure
+       
+               Description
+
+                       Obscuring filter.
+                       
+               Constructor Argument
+
+                       none
+                       
+               Initialisation Properties
+               
+                       string start - in the format X,Y:WxH[:PWxPY]
+                       string end - in the format X,Y:WxH[:PWxPY]
+                       int in - in point
+                       int out - out point
+
+               Read Only Properties
+
+                       none
+                       
+               Dependencies
+
+                       none
+
+               Known Bugs
+
+                       none
+
        resize
        
                Description
@@ -456,6 +553,72 @@ Filters
 
                        none
 
+       resample
+
+               Description
+
+                       Adjust an audio stream's sampling rate
+
+               Constructor Argument
+
+                       frequency - a numeric value for the new sample rate
+
+               Initialisation Properties
+
+                       int in - in point
+                       int out - out point
+
+               Mutable Properties
+
+                       int frequency - the target sample rate
+
+               Dependencies
+
+                       libresample
+
+               Known Bugs
+
+                       none
+
+       rescale
+
+               Description
+
+                       Scale the producer video frame size to match the consumer.
+
+               Constructor Argument
+
+                       interpolation - the rescaling method, one of:
+                               nearest (lowest quality, fastest),
+                               tiles,
+                               bilinear (good quality, moderate speed),
+                               hyper (best quality, slowest)
+
+               Initialisation Properties
+
+                       int in - in point
+                       int out - out point
+
+               Mutable Properties
+
+                       string interpolation - see constructor argument above
+
+                       If a property "consumer_aspect_ratio" exists on the frame, then
+                       rescaler normalises the producer's aspect ratio and maximises the
+                       size of the frame, but may not produce the consumer's requested
+                       dimension. Therefore, this option works best in conjunction with the
+                       resize filter. This behavior can be disabled by another service by
+                       either removing the property, setting it to zero, or setting
+                       frame property "distort" to 1.
+
+               Dependencies
+
+                       libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
+
+               Known Bugs
+
+                       none
+
        volume
 
                Description
@@ -464,16 +627,45 @@ Filters
                        
                Constructor Argument
 
-                       volume - a floating point value of the factor
+                       gain - a string containing one of:
+                                - a floating point value of the gain adjustment
+                                - a numeric value with the suffix "dB" to adjust in terms of decibels
+                                - "normalise" to normalise the volume to the target amplitude -12dBFS
                        
                Initialisation Properties
                
                        int in - in point
                        int out - out point
+                       int window - the number of video frames over which to smooth normalisation.
+                                    defaults to 75.
 
                Mutable Properties
 
-                       double volume - the factor applied to each sample
+                       string gain - same as constructor argument above
+
+                       string normalise - normalise the volume to the amplitude:
+                               - a numeric value with the suffix "dB" to set amplitude in decibels
+                               - a floating point value of the relative volume
+                               - an unspecified value uses the default -12dBFS
+
+                       string limiter - limit all samples above:
+                               - a numeric value with the suffix "dB"
+                               - a floating point value ( dB = 20 * log10(x) )
+                               - an unspecified value uses the default -6dBFS
+
+                       double max_gain - a floating point or decibel value of the maximum gain that
+                               can be applied during normalisation.
+                               - an unspecified value uses the default 20dB
+
+                       string end - a gain value just like the gain property above.
+                                    This causes the gain to be interpolated from 'gain' to 'end'
+                                    over the duration.
+
+                       int window - the size of the normalising smoothing buffer in video frame units.
+                                  - the smoothing buffer prevents erratic gain changes.
+                                  - the default value is 75 video frames. 
+
+                       gain can be applied as a factor to the normalise amplitude!
                        
                Dependencies
 
@@ -483,28 +675,32 @@ Filters
 
                        none
 
-       resample
+       watermark
 
                Description
 
-                       Adjust an audio stream's sampling rate
+                       Add a watermark to the frames.
 
                Constructor Argument
 
-                       frequency - a numeric value for the new sample rate
+                       resource - the producer to use (ie: a .png)
 
                Initialisation Properties
 
+                       string resource - the producer to use
+                       string factory - producer required for the resource ('fezzik')
+                       string geometry - composite geometry
+                       string distort - control scaling
                        int in - in point
                        int out - out point
 
                Mutable Properties
 
-                       int frequency - the target sample rate
+                       none
 
                Dependencies
 
-                       libresample
+                       mlt core modules and optionally, fezzik
 
                Known Bugs
 
@@ -521,21 +717,14 @@ Transitions
                        
                Constructor Argument
 
-                       mix - see below
+                       string start - X,Y:WxH[:mix]
 
                Initialisation Properties
                        
+                       string end - X,Y:WxH[:mix]
                        int in - in point
                        int out - out point
-
-               Mutable Properties
-
-                       int x - the horizontal offset from the left edge of the frame
-                       int y - the vertical offset from the top edge of the frame
-                       double mix - the opacity factor to apply to the second frame
-                                    (used in addition to alpha channel).
-                                  - any negative value causes an automatic dissolve
-               
+       
                Read Only Properties
 
                        none
@@ -561,7 +750,7 @@ Transitions
                
                Constructor Argument
 
-                       string file - the luma map file name. If not supplied, a dissolve.
+                       string resource - the luma map file name. If not supplied, a dissolve.
 
                Initialisation Properties
                
@@ -570,7 +759,7 @@ Transitions
 
                Mutable Properties
 
-                       string filename - same as above
+                       string resource - same as above
                        double softness - only when using a luma map, how soft to make the
                                          edges between A and B. 0.0 = no softness. 1.0 =
                                          too soft.
@@ -596,7 +785,7 @@ Transitions
 
                Constructor Argument
 
-                       mix - see below
+                       start - see below
 
                Initalisation Properties
 
@@ -605,8 +794,11 @@ Transitions
 
                Mutable Properties
 
-                       double mix - the mix level to apply to the second frame.
-                                  - any negative value causes an automatic crossfade.
+                       double start - the mix level to apply to the second frame.
+                                    - any negative value causes an automatic crossfade from 0 to 1.
+                       double end - the ending value of the mix level. mix level will be interpolated
+                                    from start to end over the in-out range.
+                       int reverse - set to 1 to reverse the direction of the mix.
 
                Read Only Properties
 
@@ -709,3 +901,28 @@ Consumers
                        NTSC handling needs tightening up - sdl:NTSC is the only valid
                        constructor for NTSC playback at the moment.
 
+       westley
+
+               Description
+
+                       Serialise the service network to XML.
+                       
+               Constructor Argument
+
+                       resource - the name of a file in which to store the XML.
+                               stdout is used if not supplied.
+                       
+               Initialisation Properties
+
+                       string resource - same as above.
+                       
+               Dependencies
+               
+                       libxml2
+                       
+               Known Bugs
+
+                       Untested arbitrary nesting of multitracks and playlists.
+                       Property "id" is generated as service type followed by number if
+                       no property named "id" exists, but it fails to guarantee uniqueness.
+