]> git.sesse.net Git - mlt/blobdiff - docs/services.txt
Test case clean up
[mlt] / docs / services.txt
index e932147722bb55bd1b203f714d7fba1bdc0b0ee0..b3877490d1cdf1da4eceb37b2f1ddda1141eba65 100644 (file)
@@ -2,8 +2,8 @@ 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: 2004-11-07
 
 
 SERVICES
@@ -95,7 +95,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 +146,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
@@ -636,36 +593,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 +648,93 @@ Filters
 
                none
            
+       gtkrescale
+
+           Description
+
+               Scale the producer video frame size to match the consumer.
+               This filter is designed for use as a Fezzik normaliser.
+
+           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
+                       jacks 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
+           
+               no encapsulated resampling and jack runs at a fixed frequency
+           
        luma
        
            Description
@@ -760,6 +774,44 @@ Filters
            
                none
            
+       mcrescale
+
+           Description
+
+               Scale the producer video frame size to match the consumer.
+               This filter is designed for use as a Fezzik normaliser.
+
+           Constructor Argument
+
+               interpolation - the rescaling method, one of:
+                   nearest (lowest quality, fastest),
+                   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
+
+               the mainconcept rescaling sdk.
+
+           Known Bugs
+
+               none
        
        mirror
        
@@ -828,12 +880,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.
@@ -894,16 +946,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 Fezzik normaliser.
 
            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 +959,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 +969,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
        
@@ -973,7 +1019,8 @@ Filters
 
            Description
 
-               Adjust an audio stream's volume level
+               Adjust an audio stream's volume level 
+                               - based on the 'normalize' utility
                
            Constructor Argument
 
@@ -1079,19 +1126,10 @@ 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
@@ -1102,7 +1140,11 @@ Transitions
                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 +1163,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 +1190,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
@@ -1188,6 +1222,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.
                
@@ -1278,6 +1313,35 @@ Transitions
 Consumers
 ---------
 
+       avformat
+       
+           Description
+           
+               Multiformat transcoding consumer.
+
+           Constructor Argument
+
+               string target - the filename to write to, e.g. test.mpeg.
+
+           Initialisation Properties
+           
+               int buffer - the number of frames to buffer, minimum 1, default 25.
+               string rescale - a rescale method, see the Filters/rescale.
+               int progressive - indicates whether to use progressive or field-
+                                 based rendering, default 0 (off).
+               
+           Read Only Properties
+           
+               none
+               
+           Dependencies
+           
+               libavformat
+               
+           Known Bugs
+           
+               Plenty.
+
        bluefish (Proprietary)
        
            Description
@@ -1348,6 +1412,41 @@ Consumers
            
                none
 
+       mcmpeg
+       
+           Description
+           
+               Mainconcept MPEG encoder.
+
+           Constructor Argument
+
+               string target - the filename to write to.
+
+           Initialisation Properties
+           
+               int buffer - the number of frames to buffer, minimum 1, default 25.
+               string rescale - a rescale method, see the Filters/rescale.
+               string format - vcd [default], svcd or dvd provide base settings
+               int motion_search_type - 0 to 16 - reduces quality/cpu usage
+               int gop - group of picture size (default: format dependent)
+
+           Mutable Properties
+           
+               int progressive - indicates whether to use progressive or field-
+                                 based rendering, default 0 (off).
+               
+           Read Only Properties
+           
+               none
+               
+           Dependencies
+           
+               Mainconcept MPEG SDK
+               
+           Known Bugs
+           
+               none
+
        sdl
 
            Description
@@ -1369,10 +1468,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