How to install MLT Multimedia Framework on CentOS 7


MLT Multimedia Framework

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

Leave a Reply