1 ---+ Installation Documentation
3 Last Revision: 2013-09-07
5 This document provides a description of the MLT project installation and
11 The directory heirarchy is defined as follows:
13 * demo - A selection of samples to show off capabilities.
14 * docs - Location of all documentation
15 * presets - Properties presets for various services
16 * profiles - MLT profile configurations
17 * src - All project source is provided here
18 * framework - The MLT media framework
19 * melt - A media playing test application (*)
20 * mlt++ - C++ wrapper for framework
21 * modules - All services are defined here
22 * avformat - FFmpeg/Libav dependent services
23 * avsync - services to help test audio/video synchronization
24 * core - independent MLT services
25 * decklink - Blackmagick Design SDI/HDMI services
26 * dgraft - ports of Donald Graft's filters (*)
27 * dv - libdv dependent services
28 * effectv - ports of !EffecTV filters (*)
29 * feeds - templates for use with core's data filters
30 * frei0r - adapter for frei0r video plugins
31 * gtk2 - GTK+ pango and pixbuf dependent services
32 * jackrack - adapter for LADSPA audio plugins and JACK server
33 * kdenlive - services contributed by Kdenlive project
34 * kino - DV/AVI demuxer from Kino project (*)
35 * linsys - DVEO SDI card consumer (*)
36 * lumas - wipe file generator for core's luma transition
37 * motion_est - motion estimation-based filters (*)
38 * normalize - audio normalisation functions (*)
39 * oldfilm - filters to make pristine video dirty
40 * opengl - !OpenGL dependent services (*)
41 * plus - miscellaneous services (pending move to core)
42 * qimage - Qt dependent services (*)
43 * resample - libresample dependent services (*)
44 * rotoscoping - spline-based alpha mask filter (*)
45 * rtaudio - audio consumer based on !RtAudio project code
46 * sdl - SDL dependent services
47 * sox - !SoX dependent audio filters
48 * swfdec - Swfdec dependent producer for Flash files
49 * videostab - video stabilization filters (*)
50 * vmfx - services contributed by (defunct) Visual Media FX
51 * vorbis - vorbis dependenent services
52 * xine - Xine-derived sources (*)
53 * xml - XML (de)serialization services
54 * swig - High level language bindings using SWIG
55 * tests - Reserved for regression and unit tests
56 * win32 - Windows-specific helper functions
58 Additional subdirectories may be nested below those shown and should be
59 documented in their parent.
61 (*) Contains GPL dependencies or code.
66 The MLT core is dependent on:
68 * a C99 compliant C compiler
69 * posix threading (pthread)
70 * standard posix libraries (libc)
72 The MLT applications and libraries provided are all dependent on the core.
74 The modules have the following dependencies:
76 | *Module* | *Description* |
77 | avformat | [[http://www.ffmpeg.org][FFmpeg]] or [[http://www.libav.org][libav]] v0.7 or later |
78 | dv | [[http://libdv.sf.net][libdv]] 0.102 or later |
79 | gtk2 | [[http://www.gtk.org][GTK2]] and associated dependencies |
80 | jackrack | [[http://jackaudio.org][JACK]], [[http://www.xmlsoft.org/][libxml2]], and ladspa.h |
81 | opengl | [[http://git.sesse.net/movit][Movit]] |
82 | qimage | [[http://www.qt-project.org][Qt]] 4.4 or later |
83 | resample | [[http://www.mega-nerd.com/SRC][libsamplerate]] 0.15 or later |
84 | sdl | [[http://www.libsdl.org][SDL]] 1.2 or later |
85 | sox | [[http://sox.sourceforge.net][SoX]] 13 or later |
86 | swfdec | [[http://github.com/mltframework/swfdec][swfdec]] 0.8 or later |
87 | vorbis | [[http://www.vorbis.com][libvorbis]] 1.0.1 or later |
88 | xml | [[http://www.xmlsoft.org][libxml2]] 2.5 or later |
93 Configuration is triggered from the top level directory via a
96 Each source bearing subdirectory shown above have their own configure
97 script which are called automatically from the top level.
99 Typically, new modules can be introduced without modification to the
100 configure script and arguments are accepted and passed through to all
103 More information on usage is found by running:
107 Note: This script must be run to register new services after a git clone
108 or subsequent update.
112 Makefiles are generated during configuration and these are based on
113 a per directory template which must be provided by the developer.
118 To execute the MLT tools without installation, or to test a new version
119 on a system with an already installed MLT version in a Bash shell run:
123 Note: This applies to your current shell only and it assumes sh or bash.
128 The install is triggered by running make install from the top level
131 The framework produces a single shared object which is installed in
132 $prefix/lib/ and public header files which are installed in
133 $prefix/include/mlt/framework and $prefix/include/mlt++.
135 The modules produce a shared object per module installed to
136 $prefix/lib/mlt. Also, each module may have support files installed to
137 $prefix/share/mlt/modules.
139 For the development of modules and applications, pkg-config metadata files
140 are generated and installed in $prefix/lib/pkgconfig.
145 All compilation in the project has {top-level-dir}/src on the include path.
146 All headers are included as:
148 #include <framework/file.h>
150 All external modules have {prefix}/include/mlt on the include path. All
151 headers should also be included as:
153 #include <framework/file.h>
155 This allows migration of source between external and internal modules.
156 The configuration and Makefile template requirements will require