]> git.sesse.net Git - mlt/blobdiff - docs/services.txt
vorbis producer added, clean up on clip handling in multitrack
[mlt] / docs / services.txt
index 92eb64ec0d6657011fd2394f13f5c935555eac87..8cbed80ff102fd468353060416936c4be7991356 100644 (file)
@@ -1,6 +1,53 @@
 Producers
 ---------
 
+       avformat
+
+               Description
+
+                       ffmpeg libavformat based producer for video and audio.
+
+               Constructor Argument
+
+                       'file' - producer a/v from file
+
+               Initialisation Properties
+
+                       int video_index - index of video stream to use (-1 is off)
+                       int audio_index - index of audio stream to use (-1 is off)
+                       int in - in point
+                       int out - out point
+
+               Read Only Properties
+
+                       double fps - this is fixed at 25 for PAL currently
+                       double aspect_ratio - this is determined on the first frame read
+
+               Dependencies
+
+                       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.
+
        ffmpeg
 
                Description
@@ -24,8 +71,8 @@ Producers
                        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)
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
                        double fps - output frames per second (default: 25)
                        double aspect_ratio - aspect ratio of video
 
@@ -56,15 +103,15 @@ Producers
 
                Initialisation Properties
 
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
 
                Read Only Properties
 
                        string resource - file location
-                       double fps - output frames per second 
+                       double fps - output frames per second
                        double aspect_ratio - aspect ratio of video]
-                       timecode length - duration of resource (in seconds)
+                       int length - duration of resource (in frames)
 
                Dependencies
 
@@ -86,15 +133,15 @@ Producers
 
                Initialisation Properties
 
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
 
                Read Only Properties
 
                        string resource - file location
-                       double fps - output frames per second 
+                       double fps - output frames per second
                        double aspect_ratio - aspect ratio of video
-                       timecode length - duration of resource (in seconds)
+                       int length - duration of resource (in frames)
 
                Dependencies
 
@@ -118,13 +165,13 @@ Producers
 
                Initialisation Properties
 
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
 
                Read Only Properties
 
                        string resource - file location
-                       double fps - output frames per second 
+                       double fps - output frames per second
                        double aspect_ratio - aspect ratio of video
 
                Dependencies
@@ -137,7 +184,7 @@ Producers
                        None.
 
        pango
-       
+
                Description
 
                        A title generator that uses the Pango international text layout
@@ -151,11 +198,11 @@ Producers
 
                Initialisation Properties
 
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
 
                Mutable Properties
-               
+
                        int video_standard - enum mlt_video_standard from mlt_frame.h
                                             PAL = 0, NTSC = 1
                                             this determines proper pixel aspect ratio
@@ -212,8 +259,8 @@ Producers
 
                Initialisation Properties
 
-                       timecode in - in point
-                       timecode out - out point
+                       int in - in point
+                       int out - out point
 
                Mutable Properties
 
@@ -240,13 +287,60 @@ Producers
                        in/out settings are incorrectly handled.
 
        ppm
+       
                Description
+
+                       Reads a stream of contiguous PPM images.
+                       
                Constructor Argument
+
+                       command - a shell command to run something that produces ppm
+                                 streams on stdout.
+                       
                Initialisation Properties
+
+                       none
+                       
                Read Only Properties
+
+                       string resource - the command
+                       
                Dependencies
+
+                       none
+                       
                Known Bugs
 
+                       Since it uses pipes, it is not compatible with bluefish.
+
+       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
 -------
@@ -254,48 +348,196 @@ Filters
        deinterlace
        
                Description
+
+                       Deinterlace a frame consisting of two fields by linearly blending.
+               
                Constructor Argument
+
+                       none
+               
                Initialisation Properties
+
+                       int in - in point
+                       int out - out point
+
                Read Only Properties
+
+                       none
+               
                Dependencies
+
+                       none
+                       
                Known Bugs
+
+                       Not a bug, but it only provides fair quality at a fair performance;
+                               i.e., it excels at neither.
                
        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
+
+                       Adjust image luma using a non-linear power-law curve
+                       
                Constructor Argument
+
+                       gamma - a floating point value
+               
                Initialisation Properties
-               Read Only Properties
+               
+                       int in - in point
+                       int out - out point
+
+               Mutable Properties
+
+                       double gamma - the exponential factor of the power-law curve
+                       
                Dependencies
+
+                       none
+                       
                Known Bugs
+
+                       none
        
        greyscale
        
                Description
+
+                       Convert color image to greyscale
+                       
                Constructor Argument
+
+                       none
+                       
                Initialisation Properties
+               
+                       int in - in point
+                       int out - out point
+
                Read Only Properties
+
+                       none
+                       
                Dependencies
+
+                       none
+                       
                Known Bugs
+
+                       none
                
        resize
        
                Description
+
+                       Image scaling and padding
+                       
                Constructor Argument
+
+                       scale - "affine" to use affine transform scaling, otherwise
+                                center and pad.
+                       
                Initialisation Properties
+               
+                       int in - in point
+                       int out - out point
+
                Read Only Properties
+
+                       none
+                       
+               Dependencies
+
+                       none
+                       
+               Known Bugs
+
+                       none
+
+       volume
+
+               Description
+
+                       Adjust an audio stream's volume level
+                       
+               Constructor Argument
+
+                       volume - a floating point value of the factor
+                       
+               Initialisation Properties
+               
+                       int in - in point
+                       int out - out point
+
+               Mutable Properties
+
+                       double volume - the factor applied to each sample
+                       
+               Dependencies
+
+                       none
+                       
+               Known Bugs
+
+                       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
+
 Transitions
 -----------
 
@@ -307,14 +549,20 @@ Transitions
                        
                Constructor Argument
 
-                       none
+                       mix - see below
+
+               Initialisation Properties
                        
+                       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
 
@@ -342,7 +590,12 @@ Transitions
                Constructor Argument
 
                        string file - the luma map file name. If not supplied, a dissolve.
+
+               Initialisation Properties
                
+                       int in - in point
+                       int out - out point
+
                Mutable Properties
 
                        string filename - same as above
@@ -361,6 +614,39 @@ Transitions
                Known Bugs
 
                        The luma map must be the same size as the B frame.
+                       The PGM parser does not handle comments.
+
+       mix
+
+               Description
+
+                       An two stream audio mixer.
+
+               Constructor Argument
+
+                       mix - see below
+
+               Initalisation Properties
+
+                       int in - in point
+                       int out - out point
+
+               Mutable Properties
+
+                       double mix - the mix level to apply to the second frame.
+                                  - any negative value causes an automatic crossfade.
+
+               Read Only Properties
+
+                       none
+
+               Dependencies
+
+                       none
+
+               Known Bugs
+
+                       Samples from the longer of the two frames are discarded.
 
 Consumers
 ---------
@@ -373,11 +659,11 @@ Consumers
                
                Constructor Argument
 
-                       int video_standard - 0 = PAL, 1 = NTSC
+                       string video_standard - "PAL" (default) or "NTSC"
                        
                Initialisation Properties
 
-                       int video_standard - see above
+                       int video_standard - 0 = PAL, 1 = NTSC
                        
                Read Only Properties
 
@@ -389,8 +675,11 @@ Consumers
                
                Known Bugs
 
+                       Does not work with any service that uses pipes!
+                       
                        If mlt crashes, you must reload the BlueDriver kernel module
                        due to unreleased DMA buffers.
+                       
                        Needs an argument or property for multi-card address.
                
        ffmpeg
@@ -402,7 +691,23 @@ Consumers
                Dependencies
                Known Bugs
 
+       libdv
+       
+               Description
+               
+                       libdv dv producer.
+
+               Constructor Argument
+
+                       string video_standard - "PAL" (default) or "NTSC"
+
+               Initialisation Properties
+               Read Only Properties
+               Dependencies
+               Known Bugs
+
        sdl
+
                Description
 
                        Simple DirectMedia Layer audio and video output module.