X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=docs%2Fservices.txt;h=37b3b9efc34245f591f135c09ad6b65311e11d9a;hb=acebb83a8ead55799505891f9a95be4eead9eb49;hp=92eb64ec0d6657011fd2394f13f5c935555eac87;hpb=cc8b6005abe30b5f0816b5aa6b87aa6867275228;p=melted diff --git a/docs/services.txt b/docs/services.txt index 92eb64e..37b3b9e 100644 --- a/docs/services.txt +++ b/docs/services.txt @@ -1,6 +1,51 @@ 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. + mpeg seeking is inaccurate - doesn't seek to i-frames so you may + get junk for a few frames. + ffmpeg Description @@ -24,8 +69,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 @@ -44,6 +89,36 @@ Producers Implementation does not allow fast random access. + fezzik + + Description + + A freindly giant that likes to throw rocks + + 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 - aspect ratio of video] + int length - duration of resource (in frames) + + Dependencies + + all. + + Known Bugs + + None. + libdv Description @@ -56,15 +131,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 +161,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 +193,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 +212,7 @@ Producers None. pango - + Description A title generator that uses the Pango international text layout @@ -151,11 +226,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 +287,8 @@ Producers Initialisation Properties - timecode in - in point - timecode out - out point + int in - in point + int out - out point Mutable Properties @@ -233,20 +308,89 @@ 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 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. + + 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 ------- @@ -254,48 +398,275 @@ 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + Dependencies + + libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0 + Known Bugs + none + Transitions ----------- @@ -307,15 +678,14 @@ Transitions Constructor Argument - none - - Mutable Properties + string start - X,Y:WxH[:mix] - 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). - + Initialisation Properties + + string end - X,Y:WxH[:mix] + int in - in point + int out - out point + Read Only Properties none @@ -341,11 +711,16 @@ 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 + int in - in point + int out - out point + 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. @@ -361,6 +736,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 +781,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 +797,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 +813,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. @@ -432,3 +859,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. +