X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=docs%2Finstall.txt;h=e32326eed5eca67dfcb771f1254ed51d99c96ebc;hb=HEAD;hp=b8883229cdbbab0e55108fe1b9b2a70d21ec1b58;hpb=eb4ef7a3c6a58a8cbfc7063c24ae0673e7a13fdd;p=mlt diff --git a/docs/install.txt b/docs/install.txt index b8883229..e32326ee 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -1,187 +1,157 @@ -Installation Documentation - -Copyright (C) 2004 Ushodaya Enterprises Limited -Author: Charles Yates -Last Revision: 2004-04-13 - - -INSTALL -------- - - This document provides a description of the MLT project installation and - organisation. - - -Directories ------------ - - The directory heirarchy is defined as follows: - - + demo - A selection of samples to show off capabilities. - + docs - Location of all documentation - + src - All project source is provided here - + framework - The mlt media framework - + modules - All services are defined here - + avformat - libavformat dependent services - + bluefish - Bluefish dependent services (*) - + core - Independent MLT services - + dv - libdv dependent services - + fezzik - A giant (meta) service to load and normalise media - + gtk2 - pango and pixbuf dependent services - + mainconcept - mainconcept dependent services (*) - + normalize - audio normalisation functions (**) - + plus - throwaway silliness - + resample - libresample dependent services (**) - + sdl - SDL dependent services - + vorbis - vorbis dependenent services - + westley - Nice and clever XML services - + xine - Xine-derived sources (**) - + albino - A simple console (protocol level) example (**) - + inigo - A media playing test application (**) - + humperdink - A terminal-based example client (**) - + miracle - The server implementation (**) - + tests - Reserved for regression and unit tests - + valerie - Client API to access the server - - Additional subdirectories may be nested below those shown and should be - documented in their parent. - - (*) Not posted to CVS due to licensing issues. - (**) Contains GPL dependencies or code. +---+ Installation Documentation + +Last Revision: 2013-09-07 + + This document provides a description of the MLT project installation and + organisation. + + +---++ Directories + + The directory heirarchy is defined as follows: + + * demo - A selection of samples to show off capabilities. + * docs - Location of all documentation + * presets - Properties presets for various services + * profiles - MLT profile configurations + * src - All project source is provided here + * framework - The MLT media framework + * melt - A media playing test application (*) + * mlt++ - C++ wrapper for framework + * modules - All services are defined here + * avformat - FFmpeg/Libav dependent services + * avsync - services to help test audio/video synchronization + * core - independent MLT services + * decklink - Blackmagick Design SDI/HDMI services + * dgraft - ports of Donald Graft's filters (*) + * dv - libdv dependent services + * effectv - ports of !EffecTV filters (*) + * feeds - templates for use with core's data filters + * frei0r - adapter for frei0r video plugins + * gtk2 - GTK+ pango and pixbuf dependent services + * jackrack - adapter for LADSPA audio plugins and JACK server + * kdenlive - services contributed by Kdenlive project + * kino - DV/AVI demuxer from Kino project (*) + * linsys - DVEO SDI card consumer (*) + * lumas - wipe file generator for core's luma transition + * motion_est - motion estimation-based filters (*) + * normalize - audio normalisation functions (*) + * oldfilm - filters to make pristine video dirty + * opengl - !OpenGL dependent services (*) + * plus - miscellaneous services (pending move to core) + * qt - Qt dependent services (*) + * resample - libresample dependent services (*) + * rotoscoping - spline-based alpha mask filter (*) + * rtaudio - audio consumer based on !RtAudio project code + * sdl - SDL dependent services + * sox - !SoX dependent audio filters + * swfdec - Swfdec dependent producer for Flash files + * videostab - video stabilization filters (*) + * vmfx - services contributed by (defunct) Visual Media FX + * vorbis - vorbis dependenent services + * xine - Xine-derived sources (*) + * xml - XML (de)serialization services + * swig - High level language bindings using SWIG + * tests - Reserved for regression and unit tests + * win32 - Windows-specific helper functions + Additional subdirectories may be nested below those shown and should be + documented in their parent. -Dependencies ------------- - - The MLT core is dependent on: - - * a C99 compliant C compiler - * posix threading - * standard posix libraries - - The MLT applications and libraries provided are all dependent on the core. - - The modules have the following dependencies: - - ----------- ---------------------------------------------------------- - MODULE DESCRIPTION - ----------- ---------------------------------------------------------- - avformat Provided from ffmpeg CVS and compiled as a shared library. - URL: http://ffmpeg.sf.net - ----------- ---------------------------------------------------------- - bluefish Bluefish hardware and software development kit - URL: http://www.bluefish444.com - ----------- ---------------------------------------------------------- - dv libdv 0.102 or later. - URL: http://libdv.sf.net - ----------- ---------------------------------------------------------- - gtk2 GTK2 and associated dependencies. - URL: http://www.gtk.org - ----------- ---------------------------------------------------------- - mainconcept Mainconcept MPEG and DVCPRO Release SDKs. - URL: http://www.mainconcept.com - ----------- ---------------------------------------------------------- - resample libsamplerate 0.15 or later - URL: http://www.mega-nerd.com/SRC/ (GPL) - ----------- ---------------------------------------------------------- - sdl SDL 1.2 or later. - URL: http://www.libsdl.org - ----------- ---------------------------------------------------------- - vorbis libvorbis 1.0.1 or later. - URL: http://www.vorbis.com/ - ----------- ---------------------------------------------------------- - westley libxml2 2.5 or later. - URL: http://www.xmlsoft.org/ - ----------- ---------------------------------------------------------- + (*) Contains GPL dependencies or code. -Configuration -------------- +---++ Dependencies - Configuration is triggered from the top level directory via a - ./configure script. - - Each source bearing subdirectory shown above have their own configure - script which are called automatically from the top level. + The MLT core is dependent on: - Typically, new modules can be introduced without modification to the - configure script and arguments are accepted and passed through to all - subdirectories. - - More information on usage is found by running: - - ./configure --help - - NB: This script must be run to register new services after a CVS checkout - or subsequent update. - - -Compilation ------------ - - Makefiles are generated during configuration and these are based on - a per directory template which must be provided by the developer. - - -Testing -------- - - To execute the mlt tools without installation, or to test a new version - on a system with an already installed mlt version, you should run: - - . setenv + * a C99 compliant C compiler + * posix threading (pthread) + * standard posix libraries (libc) - NB: This applies to your current shell only and it assumes sh or bash. + The MLT applications and libraries provided are all dependent on the core. + The modules have the following dependencies: -Installation ------------- + | *Module* | *Description* | + | avformat | [[http://www.ffmpeg.org][FFmpeg]] or [[http://www.libav.org][libav]] v0.7 or later | + | dv | [[http://libdv.sf.net][libdv]] 0.102 or later | + | gtk2 | [[http://www.gtk.org][GTK2]] and associated dependencies | + | jackrack | [[http://jackaudio.org][JACK]], [[http://www.xmlsoft.org/][libxml2]], and ladspa.h | + | opengl | [[http://git.sesse.net/movit][Movit]] | + | qt | [[http://www.qt-project.org][Qt]] 4.4 or later | + | resample | [[http://www.mega-nerd.com/SRC][libsamplerate]] 0.15 or later | + | sdl | [[http://www.libsdl.org][SDL]] 1.2 or later | + | sox | [[http://sox.sourceforge.net][SoX]] 13 or later | + | swfdec | [[http://github.com/mltframework/swfdec][swfdec]] 0.8 or later | + | vorbis | [[http://www.vorbis.com][libvorbis]] 1.0.1 or later | + | xml | [[http://www.xmlsoft.org][libxml2]] 2.5 or later | - The install is triggered by running make install from the top level - directory. - - The framework produces a single shared object which is installed in - $prefix/lib/ and public header files which are installed in - $prefix/include/mlt/framework. - Valerie produces a single shared object which is installed in - $prefix/lib/ and public header which are installed in - $prefix/include/mlt/valerie. +---++ Configuration - Miracle produces a single exectuable which is installed in - $prefix/bin/, a library in $prefix/lib and associated header files in - $prefix/include. + Configuration is triggered from the top level directory via a + ./configure script. - The modules produce a shared object per module and update text files - containing a list of modules provided by this build. These are installed - in $prefix/share/mlt/modules. It is at the discretion of the module to - install additional support files. - - To allow the development of external components, mlt-config and scripts - are generated and installed in $prefix/bin. + Each source bearing subdirectory shown above have their own configure + script which are called automatically from the top level. - After install, only those modules listed are usable by the server. No - module is loaded unless explicitly requested via server configuration - or usage. - - External modules are also placed in this $prefix/share/mlt/modules, and the - installation of those must modify the text file accordingly before they - will be considered at runtime. + Typically, new modules can be introduced without modification to the + configure script and arguments are accepted and passed through to all + subdirectories. + More information on usage is found by running: -Development ------------ + =./configure --help= - All compilation in the project has {top-level-dir}/src on the include path. - All headers are included as: + Note: This script must be run to register new services after a git clone + or subsequent update. - #include - - All external modules have {prefix}/include/mlt on the include path. All - headers should also be included as: +---++ Compilation - #include + Makefiles are generated during configuration and these are based on + a per directory template which must be provided by the developer. - This allows migration of source between external and internal modules. - The configuration and Makefile template requirements will require - attention though. + +---++ Testing + + To execute the MLT tools without installation, or to test a new version + on a system with an already installed MLT version in a Bash shell run: + + =source setenv= + + Note: This applies to your current shell only and it assumes sh or bash. + + +---++ Installation + + The install is triggered by running make install from the top level + directory. + + The framework produces a single shared object which is installed in + $prefix/lib/ and public header files which are installed in + $prefix/include/mlt/framework and $prefix/include/mlt++. + + The modules produce a shared object per module installed to + $prefix/lib/mlt. Also, each module may have support files installed to + $prefix/share/mlt/modules. + + For the development of modules and applications, pkg-config metadata files + are generated and installed in $prefix/lib/pkgconfig. + + +---++ Development + + All compilation in the project has {top-level-dir}/src on the include path. + All headers are included as: + + #include + + All external modules have {prefix}/include/mlt on the include path. All + headers should also be included as: + + #include + + This allows migration of source between external and internal modules. + The configuration and Makefile template requirements will require + attention though.