Kdenlive/Getting and installing

From Wikibooks, open books for an open world
< Kdenlive
Jump to: navigation, search

Kdenlive should compile on most recent GNU/Linux and FreeBSD systems, including x86 and AMD64 architectures. Also, it is already compiled and ready to install in binary packages for a number of distros.

The current version (0.7) of Kdenlive is a KDE4 program. This means that you will need some KDE4 support on your system to compile or use Kdenlive. But, you do not need to actually run KDE4 for this. You can build/install and run under KDE3, Gnome, and other desktop environments. This is similar to running KDE3 apps from Gnome, or Gnome apps from KDE.

Installing .75[edit]

General

Put video here.

Installing from SVN[edit]

svn co https://kdenlive.svn.sourceforge.net/svnroot/kdenlive/trunk/kdenlive

More information? Instructions? Video?

Installing Kdenlive 0.7 (KDE4) from source[edit]

Please follow the instructions on http://www.kdenlive.org/compile

Fedora 11[edit]

Long story short, it took quite a bit of energy and time and expertise to get Kdenlive installed.

Fedora 10 (Cambridge) x86_64[edit]

Please see Developer section ( or maybe I am supposed to put building stuff here?). /*Istalling Kdenlive 0.7 (KDE4)from source*/

Installing Kdenlive 0.7 (KDE4) binary packages[edit]

Many distros already offer Kdenlive for easy installation. Check http://www.kdenlive.org/content/2008-09-26-download-kdenlive

Gentoo[edit]

Gentoo offers ebuilds for kdenlive 0.7. You'll need a basic install of KDE 4, then

# emerge kdenlive

and you're done.

If you're running only KDE 3.5, you'll have to use kdenlive-0.5 or install from sources: svn revision 1825 is reported to work decently (see below).

Compiling libraries[edit]

Warning : for Kdenlive for KDE4 version, please read : http://en.wikibooks.org/wiki/Kdenlive/KDE4_Porting

Installing from SVN[edit]

Make sure you install all listed libraries before attempting to compile Kdenlive!!! Install libraries in the order listed on that page. Most libraries and header files should be packaged in your GNU/Linux distribution. Just install the requested packages:

  • QT and KDE development files (KDE >= 3.4 required)

Provided with most distributions (usually named qt-devel and kdelibs-devel. For debian users, see debian-desktop.org for a recent KDE environment).

  • SDL

Provided with most distributions. Install the devel package: SDL-dev and SDL-image-dev.

  • Audio / video and other libraries (you should be able to find binary packages for all of them in your distro):
    • Gdk-Pixbuf (gdk-pixbuf, gdk-pixbuf-dev) (not needed anymore)
    • libsamplerate (libsamplerate, libsamplerate-dev)
    • OGG (libogg, libogg-dev)
    • Vorbis (libvorbis, libvorbis-dev)
    • libdv (libdv, libdv-dev)
    • Ladspa (ladspa-sdk)
    • libJack (libjack-dev)
    • Ladspa plugins (swh-plugins)
    • SOX (sox, sox-dev)
    • libXML2 (libxml2, libxml2-dev)
    • libmad (libmad-dev)
  • Optional:
    • Libquicktime (libquicktime, libquicktime-dev)
    • Theora (libtheora, libtheora-dev)
  • FFMPEG (libavformat development files, recent version + libswscale, libswscale-dev):

If you cannot find a recent package for libavformat-dev or libswcale-dev (hint: for Ubuntu try http://ubuntu.tonio.homelinux.org), download the development svn version:

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

ffmpeg recommended config option:

./configure --enable-gpl --enable-shared --enable-libvorbis --enable-libogg --enable-pp --enable-swscaler

(update 4.4.2008 by espinosa_cz: in recent ffmpeg from SVN names of some parameters changed use --enable-postproc --enable-swscale instead of --enable-pp --enable-swscaler)


For (K)Ubuntu 7.10 (Gutsy) :

You can install all needed packages for the SVN building by installing (sudo apt-get install or from Synaptic) the following packages:

    1. NOTE this may install the KDE Desktop onto Ubuntu! That's a lot of sweet software!
    2. NOTE2 this list is growing; if you're aware of something that can be removed, please do!
    3. NOTE3 I've cleaned the list and, in case of doubt, I've mention it but keep the file just in case. If somebody can test and clean even more this will be appreciated (herrej01)
kde-devel (not sure) qt4-dev-tools kdelibs4-dev 
libsdl1.2-dev libsdl-image1.2-dev (not sure) libgdk-pixbuf-dev 
libsamplerate0 (not sure) libsamplerate0-dev ladspa-sdk libjack-dev
swh-plugins sox (not sure) sox-dev libxml2-dev libmad0-dev 
libcgicc1-dev checkinstall build-essential subversion python2.4 
libx264-dev cmake libgsm1-dev autotools-dev g++ autoconf 
automake1.9 xdialog ccache debhelper html2text libsndfile1-dev 
intltool-debian (not sure) po-debconf (not sure)

The following libs will be needed depending on the type of file you want to render

libsmpeg-dev libquicktime-dev libogg-dev libvorbis-dev libdv4-dev 
liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev
liba52-0.7.4 (not sure) liba52-0.7.4-dev

I think the following libs are not needed assuming you've already installed dvgrab

libavc1394-dev libiec61883-dev 

And finally, following libs are not needed if you are going to install ffmpeg, mlt and mlt++ from source

libavformat-dev libmlt++-dev libmlt-dev libswscale-dev 


mlt 0.2.4 stable release is required for Kdenlive 0.5.

You can install mlt 0.2.4 or checkout MLT from SVN:

svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt mlt

Recommended config option for MLT:

./configure --prefix=/usr --enable-gpl --disable-mmx --avformat-swscale --enable-motion-est

All other MLT configure options are enabled by default.

You might need --avformat-ldextra if your ffmpeg/libavcodec is built against some external libs like libmp3lame or libvorbis. My ld.so does not require this, but it seems some systems/environments require it.

NOTE 1:Make sure that the configure output gives no error for modules/avformat, since it means FFMpeg was not correctly installed. Make sure swh-plugins and ladspa-sdk packages are installed. These packages provide sound effects. MLT has many dependencies, but you will be warned at ./configure time

NOTE 2: When you are on (K)Ubuntu and the ./configure... step ends in errors like:
./configure: 37: function: not found
./configure: 93: function: not found
./configure: 174: build_config: not found
...
./configure: 191: build_pkgconfig: not found

Either edit the ./configure file and replace on the first line "#!/bin/sh" to "#!/bin/bash" and run again, or simply type: bash ./configure ..... This problem is caused due to the fact that (K)Ubuntu Edgy defaults to the dash shell instead of the bash shell. Dash is currently known for being less compatible with scripting.


Checkout MLT++ from SVN:

svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++ mlt++

Debian Unstable[edit]

Debian binary packages are provided by Christian Marillat. Packages include the latest ffmpeg developments are usually very well up-to-date. For example, mlt includes kdenlive module and avformat-swscale.

Add the following line to your /etc/apt/sources.list file:

# Experimental
deb http://www.debian-multimedia.org experimental main
deb-src http://www.debian-multimedia.org experimental main
# Unstable
deb http://www.debian-multimedia.org sid main
deb-src http://www.debian-multimedia.org sid main
# Testing
deb http://www.debian-multimedia.org testing main
deb-src http://www.debian-multimedia.org testing main

If you haven't done so yet, import Marillat's key:

gpg --keyserver pgp.mit.edu --recv-keys 1F41B907
gpg --armor --export 1F41B907 > key.asc
sudo apt-key add key.asc

Then, simply type sudo apt-get build-dep kdenlive

Although as of March 2010, on some Debian systems, even after running apt-get update, you will still be told "E: Unable to find a source package for kdenlive". It seems that the structure of these file sites have changed greatly since this document was written.

When compiling Kdenlive 0.5 svn from source, you will also need: sudo apt-get install mlt libmlt0.2.3 libmlt-dev libmlt++0.2.3 libmlt++-dev

Debian Unstable & SVN KDEnlive 0.6[edit]

Make sure to have the above repositories available

sudo apt-get build-dep kdenlive mlt mlt++ ffmpeg

sudo apt-get install kde-devel qt4-dev-tools kdelibs4-dev libsdl1.2-dev libsdl-image1.2-dev libgdk-pixbuf-dev libsamplerate0 libsamplerate0-dev ladspa-sdk libjack-dev swh-plugins sox libsox-dev libxml2-dev libmad0-dev libcgicc5-dev checkinstall build-essential subversion python2.4 libx264-dev cmake libgsm1-dev autotools-dev g++ autoconf automake1.9 xdialog ccache debhelper html2text libsndfile1-dev intltool-debian po-debconf libsmpeg-dev libquicktime-dev libogg-dev libvorbis-dev libdv4-dev liblame-dev libfaad-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libavformat-dev

Then use the Easy Script Installer v3.1 available in the Forums

Red Hat Enterprise[edit]

  • *NOTE* This only lets me compile so far. Upon running, I get a crash. Hopefully you will get further than I did. This may be a red herring but in the past I've seen issues with Redhat and threaded libraries.
  • Backtrace:
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1208334640 (LWP 1479)]
[KCrash handler]
#6  0x076d4e43 in QMenuData::insertAny ()
  from /usr/lib/qt-3.3/lib/libqt-mt, lk lkn ojklnm l uihgb r6tghiju6tcrftykhuby78g6vtcfr   SHNIKAQUAWQUAWW.so.3
#7  0x076d558a in QMenuData::insertItem ()
  from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x0813b253 in Gui::KdenliveApp::KdenliveApp ()
#9  0x0818671a in main ()
  • Error:
$ ./kdenlive
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
QPainter::begin: Cannot paint null pixmap
QPainter::setPen: Will be reset by begin()
KCrash: Application 'kdenlive' crashing...


  • You can yum install all of the libraries listed above, but names may have changed slightly. I use dag's repository
ffmpeg ffmpeg-devel xine dvdauthor dvgrab qt-devel kdelibs-devel SDL SDL-devel SDL_image SDL_image-devel
libsamplerate libsamplerate-devel libogg libogg-devel libdv libdv-devel libvorbis libvorbis-devel
ladspa ladspa-devel libjack libjack-devel sox sox-devel libxml2 libxml2-devel libmad libmad-devel
  • You'll have to download and compile mlt and mlt++
  • mlt:
configure
Edit src/modules/sox/filter_sox.c, change #include <st.h> to #include <sox/st.h>
Edit src/modules/avformat/Makefile and comment out the "LDFLAGS+=-lswscale$(AVFORMAT_SUFFIX)" line inside ifdef SWSCALE stanza
Edit src/modules/qimage/Makefile and add "CFLAGS+=-I/usr/include/kde" inside ifdef USE_KDE stanza
make/make install
  • mlt++: didn't have any problems with standard configure/make/make install
  • unsermake
svn co svn://anonsvn.kde.org/home/kde/tags/unmaintained/3/unsermake
export PATH=$PATH:path-to-unsermake-"binary"
  • once you've installed mlt, mlt++, and unsermake, you can "make" inside kdenlive directory

Compiling kdenlive[edit]

Checkout Kdenlive from SVN:

svn co https://kdenlive.svn.sourceforge.net/svnroot/kdenlive/trunk/kdenlive kdenlive

NOTE: Once you have dowloaded the complete svn package, you can update your local svn source by only downloading the updated parts. Say you have downloaded the svn into ~/kdenlive. Simply cd into ~/kdenlive and type: svn update.


Configure Kdenlive, compile and install (NOTE: This is for the SVN version only. If you have downloaded a release version, follow the instructions in kdenlive/INSTALL).:

cd kdenlive ; \
cmake . ;\
make ; \
sudo make install

Be aware of the dot (.) after cmake command. It's important !

You are now ready to use Kdenlive. Have fun !

Compiling kdenlive & ffmpeg & mlt together - the easy way[edit]

Best option for testers is to get updated SVN versions of ffmpeg and mlt libs when updating kdenlive. Because it is not so simple task, I have created a simple bash script to do the repeative and tricky business for you.

Download the updated version of the builder script from the forum:

Download it, save it in your root source directory (/home/espinosa/src in my case), name it as kdenlive_builder.sh (preferably), in console change directory to you root source directory and use :

 ./bash kdenlive_builder.sh

An XDialog box will appear.

Choose the first option (GET) to make clean previous installations and get new sources from SVN. Program will ask where do you want to place the sources.

Choose the second option (INSTALL) to compile and install your previously downloaded sources. You'll be prompted where do you want to install the programs. If you choose in /usr, a warning message will appear and you'll be requested during installation to give your root password. This will not happen if you choose another directory in your /home path. With this option, you can select also if you want support for some audio/video types. Be sure to have necessary libs installed if you choose any of these options.

Choose the third option (FULL) to do both steps (GET & INSTALL) together.

Choose the fourth option (INFO) to obtain information about currently downloaded SVN versions.

Then run kdenlive from chosen destination directory.

This script is especially useful for testers as it supports multiple versions installed in any directory (home, opt, or local) including multiple ffmpeg and mtl. Plus, this is the way to get the right set of up-to-date main libraries, to avoid problem with outdated or failing distribution versions of mlt and ffmpeg.

If you experience an issue with the script check the forum board for discussion first.

There is also an alternative version of this script Kdenlive builder classic script which is a branch of original non-GUI, non-interactive version. Use this variant if the former does not work for you, if you prefer true batch processing, if you expect repeative calling etc.

NOTE: the script does not provide any check of libraries or header files required by kdenlive & ffmpeg & mlt, like SDL, liblame, libx264 etc. Read carefully the requirements section to have everything installed (all -dev packages)

Compiling kdenlive & ffmpeg & mlt together - the even easier way[edit]

I (Mads Bondo Dydensborg) have created a GUI Wizard, that can build the KDE4 (or KDE3) version of Kdenlive from current development sources. It is available from [1] and is suited both for one-shot builds, or automated nightly builds (the later requires obtaining the sources, available from the page).