]> git.sesse.net Git - mlt/blobdiff - docs/services.txt
Add -query preset to man page.
[mlt] / docs / services.txt
index 7e6fcae3136314a822b1a6affe7c9ff6cd4ec60c..dd263c797f45218d1e5031d83013b3fdab7a13c6 100644 (file)
@@ -1,16 +1,15 @@
 Service Documentation
 
-Copyright (C) 2004 Ushodaya Enterprises Limited
 Authors: Charles Yates <charles.yates@pandora.be>
-            Dan Dennedy <dan@dennedy.org>
-Last Revision: 2004-03-20
+         Dan Dennedy <dan@dennedy.org>
+Last Revision: 2009-05-08
 
 
 SERVICES
 --------
 
-       Services marked as "(Proprietary)" are not distributed with the GPL version
-       of mlt.
+       Services marked as "(Proprietary)" are not distributed with the LGPL
+       version of mlt.
 
 Producers
 ---------
@@ -48,28 +47,22 @@ Producers
            Read Only Properties
 
                string resource - file location
-               double fps - this is fixed at 25 for PAL currently
                double source_fps - the framerate of the resource
                double aspect_ratio - sample aspect ratio of the resource
                                    - this is determined on every frame read
 
            Dependencies
 
-               ffmpeg must be configured as --enable-shared and installed prior
-               to compilation of mlt.
+               ffmpeg
 
            Known Bugs
 
                Audio sync discrepancy with some content.
                Not all libavformat supported formats are seekable.
-               Ogg Vorbis is currently broken.
-               MPEG seeking is inaccurate - doesn't seek to i-frames so you may
-               get junk for a few frames.
-               RAW DV seeking not supported.
                Fails to play beyond first frame of video of sources with PTS not
                starting at 0 (video4linux).
 
-       fezzik
+       loader
 
            Description
 
@@ -95,7 +88,7 @@ Producers
 
            Details
 
-               This producer is has two roles:
+               This producer has two roles:
 
                1. it handles the mappings of all file names to the other
                producers;
@@ -146,49 +139,6 @@ Producers
                none
 
        
-       ffmpeg (DEPRECATED)
-
-           Description
-
-               Test case pipe based producer for video and audio.
-
-           Constructor Argument
-
-               'file'    - produce a/v from file
-               v4l        - produce a/v from video4linux and dsp device
-
-           Initialisation Properties
-
-               string video_type - "file" or "v4l"
-               string video_file - file or v4l device
-               string video_size - WxH of video to produce (default: "")
-               int video_loop - loop video until audio exhausted (default: 0)
-               string audio_type - "file" or "dsp"
-               string audio_file - file or dsp device
-               int audio_rate - audio frequency (default: 48000)
-               int audio_channels - audio channels (default: 2)
-               int audio_track - audio track to use (default: 0)
-               int audio_loop - loop audio until video exhausted (default: 0)
-               int in - in point
-               int out - out point
-               double fps - output frames per second (default: 25)
-               double aspect_ratio - aspect ratio of video
-
-           Read Only Properties
-
-               string resource - file or "v4l"
-               int end_of_clip - holds 1 when input is exhausted
-
-           Dependencies
-
-               ffmpeg executable.
-
-           Known Bugs
-
-               in point setting is broken.
-
-               Implementation does not allow fast random access.
-
        libdv
 
            Description
@@ -224,67 +174,6 @@ Producers
                DVCPRO is incorrectly identified as 16:9 aspect ratio. You must use
                libdv from CVS or a post 0.101 release. 
 
-       mcdv (Proprietary)
-
-           Description
-
-               MainConcept based dv decoder for video and audio.
-
-           Constructor Argument
-
-               'file'    - produce a/v from file
-
-           Initialisation Properties
-
-               int in - in point
-               int out - out point
-
-           Read Only Properties
-
-               string resource - file location
-               double fps - output frames per second
-               int length - duration of resource (in frames)
-
-           Dependencies
-
-               MainConcept DV or DVCPRO SDK, libdv.
-               "dv_sdk" installed parallel to mlt.
-
-           Known Bugs
-
-               None
-
-       mcmpeg (Proprietary)
-
-           Description
-
-               MainConcept based mpeg decoder for video and audio.
-
-           Constructor Argument
-
-               'file'    - produce a/v from file
-
-           Initialisation Properties
-
-               int in - in point
-               int out - out point
-
-           Read Only Properties
-
-               string resource - file location
-               double fps - output frames per second
-               double aspect_ratio - sample aspect ratio of video
-               int length - duration of resource (in frames)
-               
-           Dependencies
-
-               MainConcept MPEG SDK.
-               "mpeg_sdk_release" installed parallel to mlt.
-
-           Known Bugs
-
-               None.
-
        noise
 
            Description
@@ -331,10 +220,10 @@ Producers
                              
            Details
            
-               Supplying a filename with extension ".txt" causes the Fezzik 
+               Supplying a filename with extension ".txt" causes the loader 
                producer to load with pango. If the filename begins with "+" the 
                pango producer interprets the filename as pango text. This is a
-               shortcut to embed titles in inigo commands. For westley, it is 
+               shortcut to embed titles in melt commands. For MLT XML, it is 
                recommended that you embed the title text in the property value.
                
                Pango has builtin scaling. It will rescale the originally rendered
@@ -367,6 +256,7 @@ Producers
                              default "Sans 48". FreeType2 renders at 72 dpi.
                string encoding - the text encoding type of the input if not UTF-8.
                                - see 'iconv --list' for a list of possible inputs.
+                       int weight - the weight of the font (default is 400)
 
            Read Only Properties
 
@@ -406,7 +296,7 @@ Producers
                         load all pictures with matching extension from a directory.
                       - If filename contains the string "<svg", then pixbuf tries
                         to load the filename as inline SVG XML, which is convenient
-                        for inigo commands.
+                        for melt commands.
                         
            Details
            
@@ -419,6 +309,8 @@ Producers
 
                int in - in point
                int out - out point
+               int begin  - when using an image sequence, this sets the starting
+                            number.
 
            Mutable Properties
 
@@ -468,26 +360,26 @@ Producers
 
                Since it uses pipes, it is not compatible with bluefish.
 
-       westley
+       xml
 
            Description
 
                Construct a service network from an XML description.
-               See docs/westley.txt.
+               See docs/mlt-xml.txt.
 
            Constructor Argument
 
-               URL - an XML text file containing westley XML (schema/DTD pending)
-                   - Since westley files can be parameterised, the URL syntax is:
+               URL - an XML text file containing MLT XML
+                   - Since MLT XML files can be parameterised, the URL syntax is:
                      {file-name}[?{param-name}{'='|':'}{param-value}[&{param-name}{'='|':'}{param-value}...]]
-                     A colon is allowed instead of an equal sign to pacify inigo,
+                     A colon is allowed instead of an equal sign to pacify melt,
                      who tokenises anything with an equal sign as a property 
-                     setting. Also, when running inigo from the shell, beware of
+                     setting. Also, when running melt from the shell, beware of
                      the '?' and shell filename expansion. You can surround the URL
-                     with single quotations to prevent expansion. Finally, fezzik
+                     with single quotations to prevent expansion. Finally, the loader
                      will fail to match the filename when you use parameters, so
-                     preface the url with 'westley:' to force fezzik to load with
-                     the westley service.
+                     preface the url with 'xml:' to force the loader to load with
+                     the xml service.
                      
            Read Only Properties
 
@@ -636,36 +528,6 @@ Filters
                Not a bug, but it only provides fair quality.
                
            
-       ffmpeg_dub
-       
-           Description
-
-               Use ffmpeg executable to substitute audio stream.
-           
-           Constructor Argument
-
-               file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
-                      MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
-           
-           Initialisation Properties
-
-               int in - in point
-               int out - out point
-           
-           Read Only Properties
-           
-               string resource - file
-               
-           Dependencies
-
-               ffmpeg plus for ffmpeg:
-               libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
-               
-           Known Bugs
-
-               Uses pipes and is therefore not compatible with bluefish.
-               
-
        gamma
        
            Description
@@ -721,6 +583,135 @@ Filters
 
                none
            
+       gtkrescale
+
+           Description
+
+               Scale the producer video frame size to match the consumer.
+               This filter is designed for use as a normaliser for the loader producer.
+
+           Constructor Argument
+
+               interpolation - the rescaling method, one of:
+                   nearest (lowest quality, fastest),
+                   tiles,
+                   bilinear (default; 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
+
+       jackrack
+       
+           Description
+           
+               Creates Jack ports and runs a JackRack project to process audio
+                       through a stack of LADSPA filters.
+               
+           Constructor Argument
+           
+               src - a JackRack file
+                       
+               Details
+               
+                       If you are using a consumer that uses ALSA, then you should start
+                       jackd with the dummy driver: jackd -d dummy.
+                       I also recommend using a period size of 2048: -p 2048.
+                       
+                       jackd -ddummy -r48000 -p2048
+               
+           Initialisation Properties
+           
+               int in - in point
+               int out - out point
+                       
+                       The following can be used without a rack file in order to connect
+                       filter_jackrack to a running instance of JackRack:
+                       string out_1 - Jack port to connect MLT's output port (JackRack's input)
+                       string out_2 - Jack port to connect MLT's output port (JackRack's input)
+                       string in_1 - Jack port to connect MLT's input port (JackRack's output)
+                       string in_2 - Jack port to connect MLT's input port (JackRack's output)
+               
+           Read Only Properties
+           
+               none
+               
+           Mutable Properties
+
+                       none
+               
+           Dependencies
+           
+               Jack, LADSPA, glib-2.0, libxml2
+               
+           Known Bugs
+           
+                       Currently, due to timing and synchronisation issues, the audio
+                       is distorted with repeated samples and latency clicks.
+               no encapsulated resampling and jack runs at a fixed frequency
+           
+       ladspa
+       
+           Description
+           
+               Runs a JackRack project to process audio through a stack of
+                       LADSPA filters without using Jack.
+               
+           Constructor Argument
+           
+               src - a JackRack file
+                       
+               Details
+
+                       Due to audio integrity issues with the jackrack filter, this
+                       filter is better for runtime, while jackrack is more suitable
+                       for prototyping a rack file using the Jack Rack GUI.
+               
+           Initialisation Properties
+           
+               int in - in point
+               int out - out point
+                       
+           Read Only Properties
+           
+               none
+               
+           Mutable Properties
+
+                       none
+               
+           Dependencies
+           
+               Jack, LADSPA, glib-2.0, libxml2
+                       Jack is still required because this coexists with the jackrack 
+                       filter.
+               
+           Known Bugs
+           
+               no encapsulated resampling and jack runs at a fixed frequency
+           
        luma
        
            Description
@@ -760,7 +751,6 @@ Filters
            
                none
            
-       
        mirror
        
            Description
@@ -794,6 +784,38 @@ Filters
                none
 
 
+       mono
+       
+           Description
+           
+               Mix all channels of audio into a mono signal and output it as
+                       N channels.
+
+           Constructor Argument
+           
+               channels - the number of output channels (default 2)
+               
+           Initialisation Properties
+           
+               none
+               
+           Read Only Properties
+           
+               none
+               
+           Mutable Properties
+           
+               none
+
+           Dependencies
+           
+               none
+               
+           Known Bugs
+           
+               none
+
+
        obscure
        
            Description
@@ -828,12 +850,12 @@ Filters
        
            Description
            
-               Apply one or filters to a region of the video image. The region
+               Apply one or more filters to a region of the video image. The region
                can be shaped as well using the alpha channel of another producer.
                
            Constructor Argument
            
-               file - A file whose alpha channel will "shape"  the region.
+               resource - A file whose alpha channel will "shape"  the region.
                     - The string "circle" is a shortcut but it requires pixbuf with
                       the librsvg loader. The circle is automatically stretched
                       to the region to create an ellipse.
@@ -864,8 +886,8 @@ Filters
                Adjust an audio stream's sampling rate, and duplicate channels if 
                producer provides less than consumer requested.
                
-               This filter is automatically invoked by Fezzik for the sake of
-               normalisation over inputs and with the consumer.
+               This filter is automatically invoked by the loader producer for the
+               sake of normalisation over inputs and with the consumer.
 
            Constructor Argument
 
@@ -894,16 +916,11 @@ Filters
            Description
 
                Scale the producer video frame size to match the consumer.
-               This filter is automatically invoked by Fezzik in order to normalise
-               sample aspect ratio.
+               This filter is designed for use as a normaliser for the loader producer.
 
            Constructor Argument
 
-               interpolation - the rescaling method, one of:
-                   nearest (lowest quality, fastest),
-                   tiles,
-                   bilinear (default; good quality, moderate speed),
-                   hyper (best quality, slowest).
+               None.
 
            Initialisation Properties
 
@@ -912,8 +929,6 @@ Filters
 
            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
@@ -924,11 +939,12 @@ Filters
 
            Dependencies
 
-               libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0
+               none
 
            Known Bugs
 
-               none
+               none but... it only implements a nearest neighbour scaling - it is
+                       used as the base class for the gtkrescale and mcrescale filters.
 
        resize
        
@@ -944,7 +960,7 @@ Filters
                This filter also adjusts the field order to lower field first
                if the frame property "top_field_first" has been set to 1.
                Therefore, when done, it sets the top_field_first to 0.
-               This filter is automatically invoked by Fezzik as part of image
+               This filter is automatically invoked by the loader as part of image
                sample aspect ratio normalisation.
                
            Constructor Argument
@@ -973,7 +989,8 @@ Filters
 
            Description
 
-               Adjust an audio stream's volume level
+               Adjust an audio stream's volume level 
+                               - based on the 'normalize' utility
                
            Constructor Argument
 
@@ -1038,9 +1055,9 @@ Filters
            Initialisation Properties
 
                string resource - the producer to use
-               string factory - producer required for the resource ('fezzik')
-               string geometry - composite geometry
-               string distort - control scaling
+               string factory - producer required for the resource (default: 'loader')
+               string composite.geometry - composite geometry
+               string composite.distort - control scaling
                int in - in point
                int out - out point
 
@@ -1050,7 +1067,7 @@ Filters
 
            Dependencies
 
-               mlt core modules and optionally, fezzik
+               mlt core modules and optionally, loader
 
            Known Bugs
 
@@ -1079,30 +1096,25 @@ Transitions
                
            Constructor Argument
 
-               string start - a geometry specification as X,Y:WxH[!][:mix]
-                            - X, Y, W, H are assumed to pixel units unless they
-                              have the suffix '%'
-                            - '!' is a shortcut to specify distort, see below.
-                            - mix is always a 2 digit percentage, defaults to 100.
-                            - default is "85%,5%:10%x10%"
+                       none[*]
 
            Initialisation Properties
                
-               string end - the ending size and position.
-               string key[F] - X,Y:WxH[:mix] - set a key frame for geometry between
-                               the in and out. F is a frame number and can be
-                               negative to make it relative to the out point.
                int in - in point
                int out - out point
                string factory - The name of a factory service used as a non-PGM
-                                producer loader. The default is fezzik.
+                                producer loader. The default is 'loader'.
        
            Read Only Properties
 
                none
 
            Mutable Properties
-               
+
+
+                       string geometry - key frame specification
+                                                       - this is a ; delimited form of the deprecated start,
+                                                         key[n], end properties
                int progressive - set to 1 to disable field-based rendering.
                string distort - when set, causes the B frame image to fill the WxH
                                 completely with no regard to B's aspect ratio.
@@ -1121,6 +1133,19 @@ Transitions
                Any property starting with "luma." is passed to the non-PGM luma
                    producer.
 
+               Deprecated Properties
+
+               string start - a geometry specification as X,Y:WxH[!][:mix]
+                            - X, Y, W, H are assumed to pixel units unless they
+                              have the suffix '%'
+                            - '!' is a shortcut to specify distort, see below.
+                            - mix is always a 2 digit percentage, defaults to 100.
+                            - default is "85%,5%:10%x10%"
+               string end - the ending size and position.
+               string key[F] - X,Y:WxH[:mix] - set a key frame for geometry between
+                               the in and out. F is a frame number and can be
+                               negative to make it relative to the out point.
+
            Dependencies
 
                none
@@ -1135,28 +1160,7 @@ Transitions
 
                A generic dissolve and wipe transition processor.
 
-           Initialisation Properties
-           
-               int in - in point
-               int out - out point
-               string factory - The name of a factory service used as a non-PGM
-                                producer loader. The default is Fezzik.
-
-           Mutable Properties
-
-               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.
-               int reverse - reverse the direction of the transition.
-               Any property starting with "producer." is passed to the non-PGM luma
-                   producer.
-               
-           Read Only Properties
-
-               none
-               
-           Dependencies
+           Details
 
                luma gets its name
                from how it uses a grayscale "map" file. As the luma value varies
@@ -1180,7 +1184,7 @@ Transitions
                int in - in point
                int out - out point
                string factory - The name of a factory service used as a non-PGM
-                                producer loader. The default is Fezzik.
+                                producer loader. The default is 'loader'.
 
            Mutable Properties
 
@@ -1188,6 +1192,7 @@ Transitions
                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.
+               int reverse - reverse the direction of the transition.
                Any property starting with "producer." is passed to the non-PGM luma
                    producer.
                
@@ -1256,7 +1261,7 @@ Transitions
                string resource - nothing is rectangle, "circle" is a pixbuf-
                    generated SVG circle, anything else is loaded by the factory.
                string factory - the service that creates the shape producer.
-                              - the default is fezzik.
+                              - the default is 'loader'.
                string filter[N] - one or more filters to apply. All filter
                                   properties are passed using the same filter "key"
                Any property starting with "composite." is passed to the 
@@ -1307,44 +1312,6 @@ Consumers
            
                Plenty.
 
-       bluefish (Proprietary)
-       
-           Description
-
-               BlueFish444 audio and video output module.
-           
-           Constructor Argument
-
-               card - a numeric card id starting at 1, default is 1.
-               
-           Initialisation Properties
-
-               string standard - "PAL" (default) or "NTSC"
-                               - default is based upon MLT_NORMALISATION 
-                                 environment variable, which defaults to PAL.
-               int frames - the number of DMA video frames. default is 8.
-                            minimum is 2. maximum on my system is 11.
-               int buffer - the number of frames to buffer within MLT, minimum 1, 
-                            default 25.
-               string rescale - a rescale method, see the Filters/rescale.
-               
-           Read Only Properties
-
-               none
-           
-           Dependencies
-
-               BlueVelvet SDK installed parallel to mlt in "bluefish."
-           
-           Known Bugs
-
-               Does not work with any service that uses pipes!
-               
-               If mlt crashes, you might need to reload the BlueDriver kernel 
-               module due to unreleased DMA buffers.
-               
-               Only supports 2 channel audio at the moment.
-           
        libdv
        
            Description
@@ -1398,10 +1365,10 @@ Consumers
                double volume - audio level factor
                int video_off - if 1, disable video output
                int audio_off - if 1, disable audio output
-               int scale_overlay - if 1, resample video from source pixel aspect
-                                   ratio to square pixels.
+                       int resize - TODO
                int progressive - indicates whether to use progressive or field-
                                  based rendering, default 0 (off).
+               int audio_buffer - size of the sdl audio buffer (default: 1024)
                
            Read Only Properties
 
@@ -1415,12 +1382,12 @@ Consumers
 
                none
 
-       westley
+       xml
 
            Description
 
                Serialise the service network to XML.
-               See docs/westley.txt for more information.
+               See docs/mlt-xml.txt for more information.
                
            Constructor Argument