Encourage FUNIX

The consultation of the site is completely free and without advertisements. Donations are nevertheless appreciated to pay for hosting and encourage its author


Installation of video editing software

   

[ Overview | Editing Tools ( KDEnlive ( Overview , Installation , Usage ) , Pitivi Video Editor ( installation , usage ) , Flowblade Movie Editor ( installation , usage ) , Shotcut ( Installation , usage ) , Cinelerra ( Installation , Usage ) , Cinelerra forks ( Overview , installation , usage ) , OpenShot Video Editor ( Installationusage ) | Miscellaneous Tools ( Synfig Studio ( Installation , Usage ) , Blender ) ]

Installation of video editing software

Last modified February 20, 2025

This site has been automatically translated with Google Translate from this original page written in french, there may be some translation errors

Presentation

Kdenlive is certainly one of the most accomplished editing software under Linux, rich in functionality and which allows a thousand editing fantasies but which is therefore quite complex to use, it is the software that I usually use.

Flowblade Movie Editor is also based on mlt like kdenlive , it is quite confusing to use because it stands out from the others on the vocabulary and on certain philosophy of use, it is a software which like kdenlive is rich in functionality and which remains complex to use, it is not recommended for simple montages.

Shotcut is based on mlt as well, it's a very good compromise between ease of use and richness of features.

OpenShot Video Editor , on the other hand, is easier to use and has fewer features, particularly in terms of effects. On the other hand, it includes basic animation features that are not found in Kdenlive , particularly based on Blender and Inkscape.

Pitivi Video Editor is even easier to use, its features are quite basic but sufficient to get started, we will favor it to start video editing.

Cinelerra is an advanced and relatively complex and demanding editing software.

This page only presents the installation of these software, the tutorials for using Kdenlive , Cinelerra , OpenShot Video Editor , Pitivi Video Editor , Flowblade Movie Editor , Shotcut and synfig studio are more dedicated to their implementation. Also note a page on the use of LiVES software originally designed to make video clips that I no longer maintain.

For a comparison of all these software you can consult this other page and this page which presents the main concepts of video editing.

There is also avidemux which allows you to make some edits from a pre-existing video even if this is not its primary purpose.

All the tools previously mentioned do not allow you to make audio arrangements for this you will have to use the DAW tools which are the subject of a specific page . I also present synfigstudio which allows you to create animations that can be used in video montages.

[ Back to top of page ]

Video Editing Tools

KDEnlive

Presentation

KDEenlive is a relatively powerful and easy-to-use video editing software.

Facility

Under Mageia you need to install the following packages

urpmi extra-cmake-modules qt5-devel lib64qt5svg-devel lib64kf5bookmarks-devel lib64kf5plotting-devel lib64kf5notifyconfig-devel lib64kf5newstuff-devel lib64kf5notifications-devel lib64qt5qml-devel lib64qt5quick-devel lib64kf5parts-devel kded task-plasma5-minimal lib64kf5crash-devel lib64kf5filemetadata-devel lib64kf5xmlgui-devel lib64exif-devel lib64v4l-devel lib64qt5webkitwidgets-devel lib64kf5purpose-devel lib64kf5declarative-devel lib64qt5quickwidgets-devel lib64qt5multimedia-devel lib64qt5webengine-devel lib64ebur128-devel lib64qt5networkauth-devel lib64xpm-devel kdelibs4-devel lib64v4l-devel lib64qjson-devel ladspa-devel lib64gdk_pixbuf2.0-devel swig lib64python-devel lib64samplerate-devel mediainfo lib64sox-devel lib64rtaudio-devel ladspa-plugins-swh clang-tools-extra lib64lilv-devel

To activate Qt6, you will need to install the packages qtbase6-common-devel, qt6core-devel, qt6widgets-devel, qt6network-devel, qt6concurrent-devel, qt6svg-devel, qt6multimedia-devel, qt6gui-devel, qt6xml-devel, qt6svgwidgets-devel, qt6core5compat-devel .

We will install the integrated animation tool glaxnimate which we will retrieve from the address https://glaxnimate.mattbas.org and more precisely here https://gitlab.com/mattbas/glaxnimate/-/releases and we unzip the archive by typing

tar xvfz glaxnimate-0.5.4.tar.bz2

this gives the glaxnimate-0.5.4 directory we will first install lib64potrace-devel we move to glaxnimate and we type

mkdir build

cd build

cmake ..

On my mageia 9 this gives me an error

CMake Error at CMakeLists.txt:32 (include):
  include could not find requested file:

    misc


CMake Error at CMakeLists.txt:33 (include):
  include could not find requested file:

    GetGitRevisionDescription

I didn't try to understand I installed the development version by typing

git clone --recursive https://gitlab.com/mattbas/glaxnimate.git

we start again then we type

make then as root make install

We will also install spatialaudio for ambisonic encoding/decoding which is a technique for capturing, synthesizing and reproducing sound environments. The site is https://github.com/videolabs/libspatialaudio where we retrieve the current master and not the release that we unzip by typing

unzip libspatialaudio-master.zip

this gives the libspatialaudio-master directory in which we type

mkdir build
cd build/
cmake ..
make

puir as root make install

We return to mlt which we will find here https://www.mltframework.org/ we unzip the archive by typing

tar xvfz mlt-7.30.0.tar.gz

this gives the mlt-7.30.0 directory in which we type

mkdir build
cd build/
cmake .. -DSWIG_PYTHON=ON -DMOD_OPENCV=ON
-DMOD_GLAXNIMATE=ON -DCLANG_FORMAT=OFF -DMOD_QT6=ON

if you have the following error

CMake Error: File /usr/local/linux/multimedia/mlt-7.28.0/src/modules/glaxnimate/glaxnimate/src/core/application_info_generated.in.hpp does not exist.
CMake Error at src/modules/glaxnimate/CMakeLists.txt:160 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  src/modules/glaxnimate/CMakeLists.txt:211 (mlt_add_glaxnimate_module)

Oddly enough the archive is incomplete and I recovered the src/modules/glaxnimate/glaxnimate directory from version 7.20 of mlt to place it in the same place, then retype cmake .

This is the result


-- The following features have been enabled:

 * GPLv2
 * GPLv3
 * Module: avformat
 * Module: DeckLink
 * Module: Frei0r
 * Module: GDK
 * Module: Glaxnimate (Qt5)
 * Module: JACKRack
 * Module: Kdenlive
 * Module: Normalize
 * Module: Oldfilm
 * Module: OpenCV
 * Module: Movit
 * Module: Plus
 * Module: PlusGPL
 * Module: Qt (Qt5)
 * Module: Qt6
 * Module: Resample
 * Module: RtAudio
 * Module: Rubberband
 * Module: SoX
 * Module: SpatialAudio
 * Module: vid.stab
 * Module: Vorbis
 * Module: XINE
 * Module: XML
 * SWIG: Python
 * lv2: LV2 Plugins support
 * vst2: VST2 Plugins support

-- The following OPTIONAL packages have been found:

 * JACK
 * Freetype
 * Fontconfig
 * Qt6CoreTools (required version >= 6.8.1)
 * Qt6Core
 * OpenGL
 * XKB (required version >= 0.5.0), XKB API common to servers and clients., <http://xkbcommon.org>
 * Vulkan
 * WrapVulkanHeaders
 * Qt6GuiTools (required version >= 6.8.1)
 * Qt6DBusTools (required version >= 6.8.1)
 * Qt6Gui
 * Qt6Xml
 * Qt6WidgetsTools (required version >= 6.8.1)
 * Qt6SvgWidgets
 * Qt6Core5Compat
 * Qt6
 * Qt5Svg
 * Qt5Core
 * Qt5Gui
 * Qt5Network
 * Qt5Widgets
 * Qt5Xml
 * Qt5
 * SWIG

-- The following REQUIRED packages have been found:

 * OpenCV
 * X11
 * Threads
 * PkgConfig
 * Python3
 * LibArchive
 * ZLIB

-- The following features have been disabled:

 * Tests
 * Doxygen
 * Clang Format
 * Module: Glaxnimate (Qt6)
 * Module: NDI
 * Module: SDL1
 * Module: SDL2
 * SWIG: C#
 * SWIG: Java
 * SWIG: Lua
 * SWIG: Node.js
 * SWIG: Perl
 * SWIG: PHP
 * SWIG: Ruby
 * SWIG: Tcl

-- Configuring done (1.2s)
-- Generating done (0.3s)
-- Build files have been written to: /usr/local/linux/multimedia/mlt-7.30.0/build

Attention for the compilation of kdenlive , if you are still on a system with KF5 , kdenlive will not compile with mlt compiled with qt6

type make and as root make install

In the file /etc/ld.so.conf we will add the line /usr/local/lib64/mlt-7 and we will type ldconfig. We will have to make sure that no old installation of mlt is present, if necessary delete it. To see if mlt is well compiled with all the options, you can type these commands which give

melt -query "producers"
melt -query "filters"

to see if frei0r has been integrated we will type

melt -query | grep frei0r

and here is part of the result

 - frei0r.3dflippo
  - frei0r.B
  - frei0r.G
  - frei0r.IIRblur
  - frei0r.R
  - frei0r.aech0r
  - frei0r.alpha0ps
  - frei0r.alphagrad
  - frei0r.alphaspot
  - frei0r.balanc0r
  - frei0r.baltan
  - frei0r.bgsubtract0r
  - frei0r.bluescreen0r
  - frei0r.brightness
  - frei0r.bw0r
  - frei0r.c0rners
  - frei0r.cairogradient
  - frei0r.cairoimagegrid
  - frei0r.cartoon

(...)

Let's go back to kdenlive , the official URL of kdenlive kdenlive.org . At the address https://invent.kde.org/multimedia/kdenlive we will retrieve the latest version that we unzip by typing

tar xvfj kdenlive-v24.12.2.tar.bz2

this gives the directory kdenlive-v24.12.2 this version only compiles with KF6 it will be necessary to install the following packages

urpmi lib64kf6archive-devel lib64kf6bookmarks-devel lib64kf6kio-devel lib64kf6notifyconfig-devel lib64kf6newstuff-devel lib64kf6xmlgui-devel lib64kf6textwidgets-devel lib64kf6filemetadata-devel lib64kf6purpose-devel lib64qt6quickcontrols2-devel lib64qt6networkauth-devel lib64kf6dbusaddons-devel

in which we type

mkdir build;cd build
cmake ..

here is the result

-- Found KF6: success (found suitable version "6.10.0", minimum required is "6.3.0") found components: Archive Bookmarks Codecs CoreAddons Config ConfigWidgets KIO WidgetsAddons NotifyConfig NewStuff /lib64/cmake/KF6DBusAddons/KF6DBusAddonsConfig.cmake (found version "6.10.0")
-- Found KF6: success (found suitable version "6.10.0", minimum required is "6.3.0") found components: DBusAddons
-- Checking for module 'mlt++-7'
-- Found mlt++-7, version 7.30.0
-- Found MLT: /usr/local/lib64/libmlt-7.so (found suitable version "7.30.0", minimum required is "7.28.0")
-- Found MLT++: /usr/local/lib64/libmlt++-7.so
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Found LibV4L2: /usr/include
-- Looking for include file linux/input.h
-- Looking for include file linux/input.h - found
-- Found SharedMimeInfo: /bin/update-mime-database (found version "2.4")
-- The following RUNTIME packages have been found:

 * LibV4L2, video4linux support libraries, <https://linuxtv.org/downloads/v4l-utils/>
   Required for better webcam support

-- The following OPTIONAL packages have been found:

 * Qt6WidgetsTools (required version >= 6.8.1)
 * OpenGL
 * Qt6DBusTools (required version >= 6.8.1)
 * Qt6QmlTools (required version
 >= 6.8.1) * XKB
 (required version >= 0.5.0)
 , version >= 6.3.0)
 * Qt6Svg
 * Qt6QuickTools (required version >= 6.8.1)
 * WrapVulkanHeaders
 * Qt6Quick
 * Qt6QuickControls2
 * Qt6Concurrent
 * Qt6QuickWidgets
 * Qt6Multimedia
 * Qt6NetworkAuth
 * Qt6SvgWidgets
 * Qt6CoreTools (required version >= 6.8.1)

-- The following REQUIRED packages have been found:

 * ECM (required version >= 6.3.0)
 * KF6Archive (required version >= 6.3.0)
 * KF6Codecs (required version >= 6.10.0)
 * KF6Config (required version >= 6.10.0)
 * KF6CoreAddons (required version >= 6.10.0)
 * KF6Bookmarks (required version >= 6.10.0)
 * KF6KIO (required version >= 6.3.0)
 * KF6WidgetsAddons (required version >= 6.3.0)
 * KF6NotifyConfig (required version >= 6.3.0)
 * KF6NewStuff (required version >= 6.3.0)
 * KF6ConfigWidgets (required version >= 6.10.0)
 * KF6XmlGui (required version >= 6.3.0)
 * KF6Notifications (required version >= 6.3.0)
 * KF6GuiAddons (required version >= 6.3.0)
 * Gettext
 * KF6TextWidgets (required version >= 6.3.0)
 * KF6IconThemes (required version >= 6.3.0)
 * KF6Solid (required version >= 6.3.0)
 * KF6FileMetaData (required version >= 6.3.0)
 * KF6Purpose (required version >= 6.3.0)
 * KF6DBusAddons (required version >= 6.3.0)
 * KF6 (required version >= 6.3.0)
 * Qt6
 * MLT (required version >= 7.28.0), Multimedia framework, <https://mltframework.org>
   Required to do video processing
 * Qt6Core
 * SharedMimeInfo, A database of common MIME types, <https://freedesktop.org/wiki/Software/shared-mime-info/>

-- The following features have been disabled:

 * QCH, Source code documentation in QCH format (for eg Qt Assistant, Qt Creator & KDevelop)

-- The following OPTIONAL packages have not been found:

 * KF6DocTools (required version >= 6.3.0)

-- Configuring done (2.6s)
-- Generating done (0.4s)
-- Build files have been written to: /usr/local/linux/multimedia/kdenlive-v24.12.2/build

then

make

then as root

make install

note by default kdenlive is installed under /usr/bin

This is not quite finished, if you want to enable the DaSiamRPN algorithm for motion tracking, you will need to retrieve the models under https://docs.kdenlive.org/en/effects_and_filters/video_effects/alpha_mask_keying/motion_tracker.html and place them under the homedirectory ~/.local/share/kdenlive/opencvmodels

[ Back to top of page ]

Use

Here is kdenlive launched with a montage project


You can find a usage tutorial here for versions 19.X and above. For earlier versions, the tutorial is here .

[ Back to top of page ]

Pitivi Video Editor

Facility

The official site is http://www.pitivi.org/ we will do an installation using flatpak. Under a Mageia, it will be enough to type

urpmi flatpak

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.pitivi.Pitivi

Note that the flatpak command can be run as a simple user and in this case Pitivi will be installed under ~/.local/share/flatpak and the configuration parameters under ~/.var/app/org.pitivi.Pitivi/config/

That's all! Too easy...

In case of update we will type

flatpak update

Use

Pitivi will be integrated into the application launch menu of your favorite desktop environment (at least that's how it is with XFCE ). And here's what it looks like with a loaded project.

For the rest, I invite you to consult the tutorial on using Pitivi .

Flowblade Movie Editor

Installation

The official flowblade website is https://jliljebl.github.io/flowblade/ but we will do an installation via flatpak by typing

flatpak --user install flathub io.github.jliljebl.Flowblade

This is the result

Looking for matches…
Required runtime for io.github.jliljebl.Flowblade/x86_64/stable (runtime/org.gnome.Platform/x86_64/3.36) found in remote flathub
Do you want to install it? [Y/n]: y

io.github.jliljebl.Flowblade permissions:
    ipc   pulseaudio   x11   devices   file access [1]

    [1] host


        ID                                             Arch              Branch            Remote            Download
 1. [✓] org.gnome.Platform                             x86_64            3.36              flathub           271,2 MB / 322,9 MB
 2. [✓] org.gnome.Platform.Locale                      x86_64            3.36              flathub             3,2 MB / 322,9 MB
 3. [✓] org.freedesktop.Platform.GL.default            x86_64            19.08             flathub            94,9 MB / 94,9 MB
 4. [✓] org.freedesktop.Platform.openh264              x86_64            2.0               flathub           918,1 kB / 916,8 kB
 5. [✓] io.github.jliljebl.Flowblade                   x86_64            stable            flathub            42,4 MB / 42,7 MB
 6. [✓] io.github.jliljebl.Flowblade.Locale            x86_64            stable            flathub             8,3 kB / 6,3 MB

Installation complete

you will also need to install the gmic package . For an update you will simply need to type

flatpak update


Utilisation

The software is launched from the graphical menu of your favorite distribution and here is the result:

Here you can find a tutorial on how to use Flowblade .


[ Back to top of page ]

Shotcut

Facility

The official site is https://shotcut.org/ we will do an installation by flatpak by typing

flatpak install flathub org.shotcut.Shotcut


here is the result

Looking for matches…
Remote 'flathub' found in multiple installations:

   1) system
   2) user

Which do you want to use (0 to abort)? [0-2]: 2
Required runtime for org.shotcut.Shotcut/x86_64/stable (runtime/org.kde.Platform/x86_64/5.14) found in remote flathub
Do you want to install it? [Y/n]: y

org.shotcut.Shotcut permissions:
    ipc network pulseaudio wayland x11 devices shm file access [1] dbus access [2]

    [1] host, xdg-config/kdeglobals:ro
    [2] com.canonical.AppMenu.Registrar


        ID Arch Branch Op Remote Download
 1. [✓] org.kde.Platform x86_64 5.14 i flathub 104.1 MB / 324.4 MB
 2. [✓] org.freedesktop.Platform.GL.nvidia-440-64 x86_64 1.4 u flathub 101.5 MB / 102.0 MB
 3. [✓] org.kde.Platform.Locale x86_64 5.14 i flathub 546.2 kB / 337.1 MB
 4. [✓] org.shotcut.Shotcut x86_64 stable i flathub 35.7 MB / 38.6 MB

Changes complete.

For an update you will simply have to type

flatpak update

Use

We'll launch shotcut from the graphical menu of your favorite environment (at least that's how it works with XFCE ). Here's the result with a current project.


A tutorial on how to use Shotcut can be found here .

[ Back to top of page ]

Cinelerra

Facility

We will retrieve cinelerra at the URL http://heroinewarrior.com we unzip the archive by typing

tar xvf cinelerra-9-src.tar.xz

This gives the directory cinelerra-9 we must install as root the packages 

texinfo
yasm
lib64xv1-devel

I edit the configure file and I modify the following line

CUDA_DIR=/usr/lib64/cuda-toolkit-root-dir

then type

./configure --enable-opengl

I edited the file cinelerra-9/thirdparty/pulseaudio-13.0/src/Makefile and removed the line

@GSETTINGS_RULES@

I then type make and I get the error

/bin/ld:x86_64/libquicktime.a(vaapi_encode_h264.o): in function 'vaapi_encode_h264_write_identifier':
/usr/local/linux/multimedia/cinelerra-7.4/quicktime/thirdparty/ffmpeg-3.3.3/libavcodec/vaapi_encode_h264.c:619: undefined reference to 'vaQueryVendorString'

we modify the quicktime/Makefile file

on the next line like this

LIBS := $(OUTPUT) $(MPEG3_DIR)/$(OBJDIR)/libmpeg3.a -lpng -lz -lpthread -ldl -lm -llzma -lrt -lva -lX11 -lva-x11 -lva-drm -lvdpau -lnuma -lx265 -lxcb -ldbus-1 -lsystemd -lFLAC -lvorbis

we will do the same in the cinelerra/Makefile

LIBS := \
        -L./ \
        -L../guicast -lva -lX11 -lva-x11 -lva-drm -lvdpau -lnuma -lx265 -ldbus-1 -lsystemd -lFLAC -lvorbis


we retype make then as root

make install

I had to create the following link to access cinelerra

ln -s /usr/local/linux/multimedia/cinelerra-9/bin/cinelerra /usr/local/bin/cinelerra

if you have an error like this at launch

MWindow::init_shm0: WARNING:/proc/sys/kernel/shmmax is 0x2000000.
It should be a least 0x7FFFFFFF for cinelerra

you have to edit the file /etc/sysctl.conf and add everything at the end

# neutralization of cinelerra error message
kernel.shmmax = 0x7fffffff

To apply the modification you must type as root

sysctl -p

If it crashes on startup with a message like

signal_entry: got SIGSEGV my pid=17430 execution table size=0:
SigHandler::signal_handler total files=0
Abort

Indeed, when you first launch the application, it tries to create a file under /usr/lib64/ladspa/ and since a simple user does not have the rights, it crashes. To solve it, you must first launch cinelerra as root and then again as a simple user and then it works.

[ Back to top of page ]

Use

This is what it gives when you type cinelerra

 

The ergonomics are particularly confusing, the software is not intuitive, refer to this page to have the basics of using cinelerra .

[ Back to top of page ]


Forks of cinelerra

Presentation

It turns out that there are forks of cinelerra that are very promising, they are grouped at this address https://cinelerra-cv.org/ . To be precise on this same page we will find two variants, Cinelerra GG or the Goodguy's version which started from a personal development and Cinelerra CV which is the community version which brings some additional functions and wants to be more stable, note that this last version although being a fork does not wish to diverge from the original project and merges with its new developments, read the About page which explains a little all that there https://cinelerra-cv.org/about.php . Note that the Cinelerra HV (Heroin Virtual) version is not a fork but is neither more nor less than the original version presented above. It would seem that it is the GG version which is the most active.

Note that there is also Lumiera (website http://lumiera.org/ ), it was born from the rewriting of the Cinelerra HV code but diverged into a separate project, it is today in an unusable pre-alpha version.

Facility

In the end I chose the GG version which seems to be more distinguishable from the original version, the download page is here https://www.cinelerra-gg.org/ we unzip the archive by typing:

tar xvfz cin_5.1.20241231-src.tgz

this gives the cinelerra-5.1 directory, we type:

./autogen.sh ./configure --with-opencv=git --with-gl

then we type

make

then as root

make install

If you have the following error when launching

PluginServer::open_plugin: load_obj /usr/local/lib64/cin/plugins/opencv/findobj.plugin = /usr/local/lib64/cin/plugins/opencv/findobj.plugin: undefined symbol: _ZN2cv14findHomographyERKNS_11_InputArrayES2_idRKNS_12_OutputArrayEid
int PluginServer::open_plugin(int, Preferences*, EDL*, Plugin*):

I can only see the possibility for now to disable the OpenCV option by deleting the directory /usr/local/lib64/cin/plugins/opencv

Use

The software is launched by typing cin , the interface is quite similar to the original, there are still some clear improvements in the presentation, it is something to watch, it should overshadow the original version.


[ Back to top of page ]

OpenShot Video Editor

Facility

Faced with the increasing difficulties in installing OpenShot via compilation, I now settle for a flatpak installation

flatpak install org.openshot.OpenShot


Use

Just type in a shell openshot-qt or go through the menu (for a flatpak installation ) here is the main window with imported videos.

For more information on usage please see the tutorial.

Various tools

Synfig Studio

Synfig Studio is a workshop for creating animations that can then be integrated into editing software. That's why we find it on this page.

Facility

The official website is http://www.synfig.org/ 

Before going further you will probably need to install the following packages lib64magick-devel, lib64xml++2.6-devel, lib64graphicsmagick-devel, lib64mng-devel the latest version 1.4.4 is not compatible with the latest version of ffmpeg we will therefore install the development version which we will retrieve by typing

git clone https://github.com/synfig/synfig.git synfig

this gives the synfig directory in which we type

./2-build-production.sh

the executable is located under _production/build/bin/synfigstudio we can make a link under /usr/local/bin

Use

This is what it looks like when you launch synfigstudio, on the left the "toolbox", on the right the tool properties, in the middle the main screen and at the bottom the part for keyframes and animation.


For the rest I invite you to consult the tutorial here.

[ Back to top of page ]



Blender

Blender is a 3D creation software, it is necessary for OpenShot Video to create animations. It will also be installed via flatpak

flatpak install flathub org.blender.Blender

and this is what it looks like when you launch it


[ Back to FUNIX home page ]

[ Back to top of page ]