Installing the required libraries

First step is to install the required libraries. These libraries are rather stable and part of every GNU/Linux distribution. They will be needed in the compilation process of FFmpeg, MLT and Kdenlive.

Build Script

As an alternative to this manual procedure, there is a build script that gets the latest version of Kdenlive and many of its multimedia dependencies including x264, libvpx, FFmpeg, frei0r, MLT. Then, it builds them into an isolated folder in your home directory and does not require installation. Rather, when you run it with the provided launch script, it uses the more recent libraries and plugins instead of those from packages.

Packages and Version Numbers

Version numbers of the libraries may change. If you cannot find the exact name of a library, e.g. libpango1.0-dev, try searching for a different package starting with libpango and ending with -dev. Also sometimes a version number is necessary although it is not written here (e.g. the list below says libpango-dev, but the package is called libpango1.0-dev) — or also the other way round.

When installing packages in the terminal, e.g. with
apt-get install package1 package2 …
, the Tabulator key will be a great help: Type libpango and press Tab twice to see all possible packages.

One-liner

For easier installing, this is the list of the required libraries. They are explained below.

subversion git cmake build-essential yasm libqt4-dev kdelibs5-dev libsdl1.2-dev libsdl-image1.2-dev libxml2-dev libx264-dev libtheora-dev libxvidcore-dev libogg-dev libvorbis-dev libschroedinger-dev libmp3lame-dev libfaac-dev libfaad-dev libgsm1-dev libopencore-amrnb-dev libopencore-amrwb-dev libsamplerate0-dev libjack-dev libsox-dev ladspa-sdk swh-plugins libmad0-dev libpango1.0-dev

General tools

To download the source code you will need to install Subversion and git.

  • subversion
  • git
  • cmake

Additionally required for compiling stuff:

  • build-essential
  • yasm modular assembler (for H.264 decoding)

General libraries

  • Qt 4 and KDE 4 development files (libqt4-dev and kdelibs5-dev)
  • SDL (libsdl1.2-dev, libsdl-image1.2-dev)
  • libXML2 (libxml2, libxml2-dev)

Screen capture

  • recordmydesktop

Firewire and DV capture

  • dvgrab
  • libdv (libdv4-dev)
  • libdc1394 (libdc1394-22-dev)

Audio and video codecs

  • x264 codecs (x264, libx264-dev)
  • Theora codecs (libtheora-dev)
  • Xvid codecs (libxvidcore-dev)
  • OGG (libogg-dev)
  • Vorbis (libvorbis-dev)
  • Dirac lossless codec (libschroedinger-dev)
  • Lame audio codec (libmp3lame-dev)
  • Libquicktime (libquicktime-dev)
  • faac codecs (libfaac-dev)
  • faad codecs (libfaad-dev)
  • GSM (libgsm, libgsm1-dev)
  • speech codecs (libopencore-amrnb-dev libopencore-amrwb-dev)

Sound processing and effects

  • libsamplerate (libsamplerate0-dev)
  • libJack (libjack-dev)
  • SOX (sox, libsox-dev)
  • ladspa (ladspa-sdk)
  • ladspa plugins (swh-plugins)
  • libmad (libmad0-dev)

Video effects and image processing

  • frei0r effects (frei0r-plugins, frei0r-plugins-dev) only if you do not intend to compile frei0r yourself!
  • gdk-pixbuf-dev
  • libpango1.0-dev

Warning

MLT relies on FFmpeg compilation parameters. If your distribution ships with an outdated FFmpeg version, it may not be able to use the audio and video codecs like H.264 or AVCHD. In this case, recompile FFmpeg with all needed options or ask FFmpeg packager to upgrade.

Please inform us of additional dependencies that we may have forgotten.