MLT is an open source multimedia framework, designed and developed for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications. The functionality of the system is provided via an assortment of ready to use tools, XML authoring components, and an extensible plug-in based API.
Dependencies
The MLT core is dependent on:
a C99 compliant C compiler
posix threading (pthread)
standard posix libraries (libc)
The MLT applications and libraries provided are all dependent on the core.
The modules have the following dependencies:
Module Description
avformat FFmpeg or libav v0.7 or later
dv libdv 0.102 or later
gtk2 GTK2 and associated dependencies
jackrack JACK, libxml2, and ladspa.h
opengl Movit
qimage Qt 4.4 or later
resample libsamplerate 0.15 or later
sdl SDL 1.2 or later
sox SoX 13 or later
swfdec swfdec 0.8 or later
vorbis libvorbis 1.0.1 or later
xml libxml12 2.5 or later
Step 1: install dependencies:
Read this tutorial: Install dependencies for MLT Multimedia Framework on CentOS 7
Step 2: use new PKG_CONFIG_PATH
export PKG_CONFIG_PATH=:/usr/local/lib/pkgconfig
Step 3:
wget https://github.com/mltframework/mlt/archive/v6.10.0.zip
Result:
[root@tutorialspots ~]# mkdir melt [root@tutorialspots ~]# cd melt [root@tutorialspots melt]# wget https://github.com/mltframework/mlt/archive/v6.10.0.zi p --2018-10-04 03:42:48-- https://github.com/mltframework/mlt/archive/v6.10.0.zip Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112 Connecting to github.com (github.com)|192.30.253.113|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/mltframework/mlt/zip/v6.10.0 [following] --2018-10-04 03:42:49-- https://codeload.github.com/mltframework/mlt/zip/v6.10. 0 Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.25 3.120 Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... c onnected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/zip] Saving to: `v6.10.0.zip' [ <=> ] 1,898,815 5.12MB/s in 0.4s 2018-10-04 03:42:49 (5.12 MB/s) - `v6.10.0.zip' saved [1898815]
Step 4:
unzip v6.10.0.zip
Result:
... inflating: mlt-6.10.0/src/tests/test_properties/test_properties.cpp inflating: mlt-6.10.0/src/tests/test_properties/test_properties.pro creating: mlt-6.10.0/src/tests/test_repository/ inflating: mlt-6.10.0/src/tests/test_repository/test_repository.cpp inflating: mlt-6.10.0/src/tests/test_repository/test_repository.pro creating: mlt-6.10.0/src/tests/test_tractor/ inflating: mlt-6.10.0/src/tests/test_tractor/test_tractor.cpp inflating: mlt-6.10.0/src/tests/test_tractor/test_tractor.pro inflating: mlt-6.10.0/src/tests/tests.pro creating: mlt-6.10.0/src/win32/ inflating: mlt-6.10.0/src/win32/fnmatch.c inflating: mlt-6.10.0/src/win32/fnmatch.h inflating: mlt-6.10.0/src/win32/win32.c
Step 5:
[root@tutorialspots melt]# cd mlt-6.10.0
Step 6:
[root@tutorialspots mlt-6.10.0]# ./configure Configuring framework: Configuring modules: Configuring modules/avformat: Configuring modules/core: Configuring modules/decklink: Configuring modules/feeds: Configuring modules/frei0r: Configuring modules/gtk2: - Libexif found, enabling auto rotate Configuring modules/jackrack: Configuring modules/kdenlive: Configuring modules/lumas: Configuring modules/ndi: - NDI SDK not found: disabling Configuring modules/oldfilm: Configuring modules/opencv: - OpenCV >= 3.1.0 NOT found, disabling OpenCV modules Configuring modules/opengl: Configuring modules/plus: - libebur128 found: using external libebur128 Configuring modules/rtaudio: Configuring modules/sdl: - using SDL version 1.2.15 Configuring modules/sdl2: - using SDL version 2.0.8 Configuring modules/sox: Configuring modules/swfdec: Configuring modules/vmfx: Configuring modules/xml: Configuring mlt++: Configuring swig: LGPLv2.1 license used; GPL components disabled
If you don’t have audio card, you should disable some module by using this command:
./configure --disable-rtaudio --disable-sdl --disable-sdl2 --disable-jackrack --disable-qt --enable-gpl --enable-gpl3
result:
[root@tutorialspots mlt-6.10.0]# ./configure --disable-rtaudio --disable-sdl --disable -sdl2 --disable-jackrack --disable-qt --enable-gpl --enable-gpl3 Configuring framework: Configuring modules: Configuring modules/avformat: Configuring modules/core: Configuring modules/decklink: Configuring modules/feeds: Configuring modules/frei0r: Configuring modules/gtk2: - Libexif found, enabling auto rotate Configuring modules/kdenlive: Configuring modules/linsys: Configuring modules/lumas: Configuring modules/motion_est: Configuring modules/ndi: - NDI SDK not found: disabling Configuring modules/normalize: Configuring modules/oldfilm: Configuring modules/opencv: - OpenCV >= 3.1.0 NOT found, disabling OpenCV modules Configuring modules/opengl: Configuring modules/plus: - libebur128 found: using external libebur128 Configuring modules/plusgpl: Configuring modules/resample: Configuring modules/sox: Configuring modules/swfdec: Configuring modules/videostab: Configuring modules/vid.stab: - vid.stab not found: disabling Configuring modules/vmfx: Configuring modules/xine: Configuring modules/xml: Configuring mlt++: Configuring swig: GPLv3 license used
Step 7:
make make install
result:
... make[1]: Leaving directory `/root/melt/mlt-6.10.0/src/swig' make[1]: Entering directory `/root/melt/mlt-6.10.0/profiles' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/root/melt/mlt-6.10.0/profiles' [root@tutorialspots mlt-6.10.0]# make install install -d "/usr/local/bin" install -d "/usr/local/include" install -d "/usr/local/lib" install -d "/usr/local/lib/mlt" install -d "/usr/local/lib/pkgconfig" install -d "/usr/local/share/mlt" install -c -m 644 *.pc "/usr/local/lib/pkgconfig" list='src/framework src/mlt++ src/melt src/modules src/swig profiles'; \ ... install -d "/usr/local/share/mlt/profiles" install -m 644 * "/usr/local/share/mlt/profiles" rm -f "/usr/local/share/mlt/profiles/"*~ rm -f "/usr/local/share/mlt/profiles/Makefile" make[1]: Leaving directory `/root/melt/mlt-6.10.0/profiles' cp -R presets "/usr/local/share/mlt"
Step 8: add path /usr/local/lib to system library path
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf ldconfig