X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=docs%2Fservices.txt;h=63d6c5a3596cd24dbdeebc01311dfe07434492de;hb=eb4ef7a3c6a58a8cbfc7063c24ae0673e7a13fdd;hp=c0742065e953e673af4a27ef59d166349fb89c7d;hpb=e253fb0e1e231bcdc77bc37b05c7a9724dbe2bb1;p=mlt diff --git a/docs/services.txt b/docs/services.txt index c0742065..63d6c5a3 100644 --- a/docs/services.txt +++ b/docs/services.txt @@ -1,16 +1,15 @@ Service Documentation -Copyright (C) 2004 Ushodaya Enterprises Limited Authors: Charles Yates Dan Dennedy -Last Revision: 2004-03-20 +Last Revision: $Date$ 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,24 +47,18 @@ 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). @@ -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 @@ -367,6 +317,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 @@ -419,6 +370,8 @@ Producers int in - in point int out - out point + int begin - when using an image sequence, this sets the starting + number. Mutable Properties @@ -691,6 +644,135 @@ 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 + 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 @@ -730,6 +812,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 @@ -764,6 +884,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 @@ -798,7 +950,7 @@ 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 @@ -864,16 +1016,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 @@ -882,8 +1029,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 @@ -894,11 +1039,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 @@ -943,7 +1089,8 @@ Filters Description - Adjust an audio stream's volume level + Adjust an audio stream's volume level + - based on the 'normalize' utility Constructor Argument @@ -1049,19 +1196,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 @@ -1072,7 +1210,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. @@ -1091,6 +1233,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 @@ -1327,6 +1482,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 @@ -1348,10 +1538,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