Mettez un manchot dans votre PC
[ Présentation | Outils de montage ( KDEnlive ( Présentation , Installation , Utilisation ) , Pitivi Video Editor ( installation , utilisation ) , Flowblade Movie Editor ( installation , utilisation) , Shotcut ( Installation , utilisation ) , Cinelerra ( Installation , Utilisation ) , forks de Cinelerra ( Présentation , installation , utilisation ) , OpenShot Video Editor ( Installation , utilisation ) | Outils divers ( Synfig Studio ( Installation , Utilisation ) , Blender ) ]
Dernière modification 22 mai
2022
( ce document est disponible au format pdf dans la rubrique téléchargement)
Kdenlive est certainement un des logiciels de montage les plus aboutis sous Linux, riche en fonctionnalité et qui permet milles fantaisies de montage mais qui du coup est assez complexe à utiliser, c'est le soft que j'utilise habituellement.
Flowblade Movie Editor est également basé sur mlt comme kdenlive, il est assez déroutant d'utilisation car il se démarque des autres sur le vocabulaire et sur certaines philosophie d'utilisation, c'est un logiciel qui comme kdenlive est riche en fonctionnalité et qui reste complexe à utiliser, il n'est pas conseillé pour des montages simples.
Shotcut est basé sur mlt également, c'est un très bon compromis entre facilité d'utilisation et richesse des fonctionnalités.
OpenShot Video Editor, a contrario est plus simple d'utilisation et dispose de moins de fonctionnalités, notamment au niveau des effets, en revanche il intègre de base des fonctionnalités d'animation qu'on ne ne retrouve pas sous kdenlive, sur la base notamment de blender et inkscape.
Pitivi Video Editor est encore plus simple d'utilisation, ses fonctionnalités sont assez sommaires mais suffisantes pour débuter, on le privilégiera pour commencer le montage vidéo.
Cinelerra est un logiciel de montage évolué et relativement complexe et exigeant.
Cette page ne présente que l'installation de ces logiciels, les tutoriels d'utilisation de Kdenlive, Cinelerra, OpenShot Video Editor , Pitivi Video Editor, Flowblade Movie Editor, Shotcut et synfig studio sont dédiées davantage à leur mise en œuvre. A noter également une page sur l'utilisation de LiVES logiciel conçu à l'origine pour faire des clips vidéo que je ne maintiens plus.
Pour une comparaison de tous ses logiciels vous pouvez consulter cette autre page et cette page qui présente les grandes notions du montage vidéo.
Il existe aussi avidemux qui permet de faire quelques montages à partir d'une vidéo préexistante même si ce n'est pas sa vocation première.
Tous les outils précédemment cités ne permettent pas de pouvoir faire des arrangements audio pour cela il faudra utiliser les outils de MAO qui font l'objet d'une page particulière. Je présente également synfigstudio qui permet de créer des animations qui pourront être utilisées dans les montages vidéo.
KDEenlive est un logiciel de montage vidéo relativement puissant et simple d'utilisation.
Sous Mageia il faut installer les packages suivants
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
Maintenant il nous faut installer mlt
qu'on trouvera ici https://www.mltframework.org/
tar xvfz mlt-7.6.0.tar.gz
cela donne le répertoire mlt-7.6.0
on tape dans le répertoire de mlt dans lequel on tape
mkdir build
cd build
cmake .. -DSWIG_PYTHON=ON
-DMOD_OPENCV=ON
voilà ce que ça donne
-- Found OpenCV: /usr/local (found
version "4.5.4") found components: tracking
-- Checking for module 'rtaudio'
-- Package 'rtaudio', required by 'virtual:world', not found
-- Found Python3: /usr/local/bin/python3.10 (found version "3.10.0")
found components: Interpreter Development Development.Module
Development.Embed
-- The following features have been enabled:
* GPLv2
* GPLv3
* Module: avformat
* Module: DeckLink
* Module: Frei0r
* Module: GDK
* Module: JACKRack
* Module: Kdenlive
* Module: Normalize
* Module: Oldfilm
* Module: OpenCV
* Module: Movit
* Module: Plus
* Module: PlusGPL
* Module: Qt
* Module: Resample
* Module: RtAudio
* Module: Rubberband
* Module: SDL1
* Module: SDL2
* Module: SoX
* Module: vid.stab
* Module: Vorbis
* Module: XINE
* Module: XML
* SWIG: Python
-- The following OPTIONAL packages have been found:
* JACK
* OpenGL
* Freetype
* Fontconfig
* Qt5Core
* Qt5Gui
* Qt5Xml
* Qt5Svg
* Qt5Widgets
* Qt5
* SWIG
-- The following REQUIRED packages have been found:
* Threads
* OpenCV
* PkgConfig
* X11
* Python3
-- The following features have been disabled:
* Tests
* Doxygen
* Module: NDI
* SWIG: C#
* SWIG: Java
* SWIG: Lua
* SWIG: Node.js
* SWIG: Perl
* SWIG: PHP
* SWIG: Ruby
* SWIG: Tcl
-- Configuring done
-- Generating done
-- Build files have been written to:
/usr/local/linux/multimedia/mlt-7.6.0/build
puis on tape make et en tant que
root
make install
dans le fichier /etc/ld.so.conf on rajoutera la ligne /usr/local/lib/mlt
et on tapera ldconfig. Il faudra veiller à ce qu'aucune
ancienne installation de mlt soit présente, au besoin supprimez
la. Si melt vous fait un beau segmentation fault en le
lançant dans un shell, j'ai découvert qu'il faut supprimer les fichiers facebl0r.so
et facedetect.so dans le répertoire /usr/local/lib/frei0r-1 c'est
plutôt moyen comme solution mais à vrai dire je n'ai pas vu que ça avait
un impact !
on installera également RTTR qui veut dire Run Time Type
Reflection, ça permet à un programme de modifier un fichier objet en
exécution. On récupérera les sources par ici https://www.rttr.org/download
On le décompresse en tapant:
tar xvfz rttr-0.9.6-src.tar.gz
cela donne le répertoire rttr-0.9.6 dans lequel on tape
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make
pour l'erreur suivante
/usr/local/linux/multimedia/rttr-0.9.6/src/rttr/../rttr/detail/registration/bind_impl.h:292:34: erreur: déplacer un objet local dans une instruction de retour empêche l'élision de la copie [-Werror=pessimizing-move]
on éditera le fichier ./build/src/rttr/CMakeFiles/rttr_core.dir/flags.make
et on supprimera le -Werror à la ligne suivante
CXX_FLAGS = -frtti -O3 -DNDEBUG -frtti -g -fPIC
-fvisibility=hidden -fvisibility-inlines-hidden -Werror
-Wall -std=c++17
on fera de même pour les fichiers
./build/src/examples/json_serialization/CMakeFiles/json_example.dir/flags.make
./build/src/unit_tests/CMakeFiles/unit_tests.dir/flags.make
on retape make puis en tant que root
make install
curieusement j'ai dû mettre les droits en lecture (644) aux fichiers sous
/usr/local/include/rttr avec un find . -type f -exec bash -c
'chmod 644 $1' sh {} \;
Revenons à kdenlive, l'URL officiel de kdenlive kdenlive.org.
A l'adresse
https://invent.kde.org/multimedia/kdenlive on récupèrera la dernière
version qu'on décompresse en tapant
tar xvfj kdenlive-v22.04.1.tar.bz2
cela donne le répertoire kdenlive-v22.04.1 dans lequel on tape
mkdir build;cd build
cmake ..
voilà le résultat
-- Found KF5: success (found version
"5.76.0") found components: Archive Bookmarks CoreAddons Config
ConfigWidgets KIO WidgetsAddons NotifyConfig NewStuff XmlGui
Notifications GuiAddons TextWidgets IconThemes Declarative Solid
DocTools FileMetaData Crash Purpose
-- Found KF5: success (found version "5.76.0") found components:
DBusAddons
-- Found MLT++: /usr/local/lib64/libmlt++-7.so
-- Found KF5 FileMetadata to extract file metadata
-- Found KF5 Purpose, filesharing enabled
-- The following OPTIONAL packages have been found:
* KF5JobWidgets (required version >= 5.76.0)
* KF5Service (required version >= 5.76.0)
* KF5Auth (required version >= 5.76.0)
* KF5Codecs (required version >= 5.76.0)
* Qt5Gui (required version >= 5.12.0)
* KF5Sonnet (required version >= 5.76.0)
* Qt5Qml (required version >= 5.15.2)
* Qt5QmlModels (required version >= 5.15.2)
* KF5Package (required version >= 5.76.0)
* KF5DocTools
* KF5FileMetaData
* KF5Crash
* KF5Purpose
* PkgConfig
-- The following REQUIRED packages have been found:
* ECM (required version >= 5.45.0)
* KF5Archive
* KF5KIO
* KF5NotifyConfig
* KF5NewStuff
* KF5XmlGui
* KF5Notifications
* KF5GuiAddons
* Gettext
* KF5TextWidgets
* KF5IconThemes
* KF5Declarative
* KF5Solid
* KF5CoreAddons (required version >= 5.76.0)
* Qt5Core
* Qt5Widgets
* Qt5Svg
* Qt5Quick
* Qt5QuickControls2
* Qt5Concurrent
* Qt5QuickWidgets
* Qt5Multimedia
* Qt5NetworkAuth
* KF5DBusAddons
* KF5
* Qt5DBus
* Qt5
* MLT (required version >= 7.0.0), Multimedia framework,
<https://mltframework.org>
Required to do video processing
-- Configuring done
-- Generating done
-- Build files have been written to:
/usr/local/linux/multimedia/kdenlive-v22.04.1/build
puis
make
puis en tant que root
make install
attention par défaut kdenlive est installé sous /usr/bin
Ce n'est pas tout à fait fini, c'est vous voulez activer l'algorithme DaSiamRPN pour le suivi de mouvement (motion tracking) il faudra récupérer les modèles sous https://docs.kdenlive.org/en/effects_and_compositions/effect_groups/alpha_manipulation/motion_tracker.html?highlight=motion%20tracker#id2 et les placer sous la homedirectory ~/.local/share/kdenlive/opencvmodels
Voici kdenlive lancé avec un projet de montage
Vous trouverez un tutoriel d'utilisation par ici
pour les versions 19.X et supérieure. Pour les versions 18.X et
antérieure, le tutorial est là.
Le site officiel est http://www.pitivi.org/ on fera une installation en utilisant flatpak. Sous une Mageia 8, il suffira de taper
urpmi flatpak
flatpak
remote-add --if-not-exists flathub
https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.pitivi.Pitivi
A noter que
la commande flatpak peut s'exécuter en tant que simple
utilisateur et dans ce cas Pitivi sera installé sous ~/.local/share/flatpak
et les paramètres de configuration sous ~/.var/app/org.pitivi.Pitivi/config/
C'est tout ! Trop facile...
En cas de mise à jour on tapera
flatpak
update
On retrouvera Pitivi intégré au menu de lancement des applications de votre environnement de bureau préféré (enfin du moins c'est comme ça que se passe avec XFCE). Et voilà ce que ça donne avec un projet chargé.
Pour la suite, je vous invite à consulter le tutoriel d'utilisation de Pitivi.
Le site
officiel de flowblade est https://jliljebl.github.io/flowblade/
mais on fera une installation via flatpak en tapant
flatpak --user install flathub io.github.jliljebl.Flowblade
Voilà le résultat
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
il faudra également installer le package gmic. Pour une mise à jour il faudra simplement taper
flatpak
update
Le logiciel se lance à partir du menu graphique de votre distribution préférée et voilà le résultat:
Vous trouverez ici un tutoriel sur l'utilisation de Flowblade.
Le site officiel est https://shotcut.org/
on fera une installation par flatpak en tapant
flatpak install flathub org.shotcut.Shotcut
voilà le résultat
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.
Pour une mise à jour il faudra simplement taper
flatpak update
On lancera shotcut à partir du menu graphique de votre environnement préféré (enfin du moins c'est comme ça que ça se passe avec XFCE). Voilà le résultat avec un projet en cours.
On trouvera par ici un tutoriel d'utilisation de Shotcut.
On récupérera cinelerra à l'URL http://heroinewarrior.com on
décompresse l'archive en tapant
tar xvf cinelerra-7.4-src.tar.xz
Cela donne le répertoire cinelerra-7.4 on doit installer en tant
que root les packages
texinfo
yasm
lib64xv1-devel
on tape ensuite
./configure --enable-opengl
make
si vous avez une erreur du style
/bin/ld :
x86_64/libquicktime.a(vaapi_encode_h264.o) : dans la fonction
« vaapi_encode_h264_write_identifier » :
/usr/local/linux/multimedia/cinelerra-7.4/quicktime/thirdparty/ffmpeg-3.3.3/libavcodec/vaapi_encode_h264.c:619 :
référence indéfinie vers « vaQueryVendorString »
et
qth265.c:(.text+0x69c) : référence indéfinie vers « x265_api_get_179
ou bien encore
g++ -o ../bin/cinelerra `cat
x86_64/objs`
/bin/ld:
../thirdparty/pulseaudio-13.0/src/.libs/libpulsecommon-13.0.a(libpulsecommon_13.0_la-x11prop.o):
référence au symbole non défini « xcb_get_setup »
/bin/ld : /usr/lib64/libxcb.so.1 : erreur lors de l'ajout de
symboles : DSO manquant dans la ligne de commande
ou
g++ -o ../bin/cinelerra `cat
x86_64/objs`
/bin/ld :
../thirdparty/libsndfile-1.0.28/src/.libs/libsndfile.a(libsndfile_la-flac.o) :
dans la fonction « sf_flac_meta_get_vorbiscomments » :
flac.c:(.text+0xcbd) : référence indéfinie vers
« FLAC__metadata_object_vorbiscomment_find_entry_from »
/bin/ld :
../thirdparty/libsndfile-1.0.28/src/.libs/libsndfile.a(libsndfile_la-flac.o) :
dans la fonction « flac_write_strings » :
flac.c:(.text+0x1261) : référence indéfinie vers
« FLAC__metadata_object_new »
/bin/ld : flac.c:(.text+0x137a) : référence indéfinie vers
« FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair »
/bin/ld : flac.c:(.text+0x1396) : référence indéfinie vers
« FLAC__metadata_object_vorbiscomment_append_comment »
/bin/ld :
../thirdparty/libsndfile-1.0.28/src/.libs/libsndfile.a(libsndfile_la-flac.o) :
dans la fonction « flac_close » :
flac.c:(.text+0x16db) : référence indéfinie vers
« FLAC__metadata_object_delete »
/bin/ld :
../thirdparty/libsndfile-1.0.28/src/.libs/libsndfile.a(libsndfile_la-ogg_vorbis.o) :
dans la fonction « ogg_vorbis_open » :
ogg_vorbis.c:(.text+0xc37) : référence indéfinie vers
« vorbis_version_string »
on modifie le fichier quicktime/Makefile
à la ligne suivante comme ceci
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
on fera pareil dans le fichier cinelerra/Makefile
LIBS := \
-L./ \
-L../guicast -lva -lX11
-lva-x11 -lva-drm -lvdpau -lnuma -lx265 -ldbus-1 -lsystemd -lFLAC
-lvorbis
on retape make je bute sur cette erreur
Dans le fichier inclus depuis
/usr/include/sys/socket.h:33,
depuis forkwrapper.C:31:
/usr/include/bits/socket.h: Dans la fonction membre « void
ForkWrapper::send_fd(int) »:
/usr/include/bits/socket.h:285:33: erreur: le membre tableau flexible
« cmsghdr::__cmsg_data » n'est pas à la fin de « struct
ForkWrapper::send_fd(int)::<sans nom> »
285 | __extension__ unsigned char
__cmsg_data __flexarr; /* Ancillary data. */
on éditera le fichier ./cinelerra/forkwrapper.C et on inverse les déclarations comme ceci
struct { \
int fd[n]; \
struct cmsghdr h; \
pour cette erreur
playbackengine.C: Dans la fonction
membre « void PlaybackEngine::perform_change() »:
transportque.inc:50:31: erreur: conversion réductrice de
« 4294967295 » depuis « unsigned int » vers
« int » [-Wnarrowing]
50 | #define
CHANGE_ALL
0xffffffff
dans le répertoire cinelerra on tapera
g++ -Wno-narrowing `cat x86_64/c_flags` pluginarray.C -o x86_64/pluginarray.o
g++ -Wno-narrowing `cat x86_64/c_flags` playbackengine.C -o x86_64/playbackengine.o
pour cette autre erreur
/usr/include/pthread.h:240:34: erreur:
« clockid_t » n'a pas été déclaré
240
|
clockid_t __clockid,
on éditera le fichier guicast/bcsignals.h et on rajoutera cette include
#include "bcsignals.inc"
#include <bits/types/clockid_t.h>
#include <pthread.h>
#include <signal.h>
maintant pour ces erreurs
g++ -o ../bin/cinelerra `cat
x86_64/objs`
/bin/ld :
../mpeg2enc/x86_64/mpeg2enc.a(mpeg2enc.o):(.bss+0x1a0) :
définitions multiples de « verbose »;
x86_64/dcraw.o:(.bss+0x2c3e4) : défini pour la première fois ici
/bin/ld :
../mpeg2enc/x86_64/mpeg2enc.a(mpeg2enc.o):(.bss+0xf4) : définitions
multiples de « width »; x86_64/dcraw.o:(.bss+0x4e570) :
défini pour la première fois ici
/bin/ld :
../mpeg2enc/x86_64/mpeg2enc.a(mpeg2enc.o):(.bss+0xf0) : définitions
multiples de « height »; x86_64/dcraw.o:(.bss+0x4e572) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(audio_read.o):(.bss+0x0) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(psycho_1.o):(.bss+0x1f60) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(availbits.o):(.bss+0x40) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(encode_new.o):(.bss+0x60) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(psycho_2.o):(.bss+0x0) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(subband.o):(.bss+0x0) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(psycho_3.o):(.bss+0x1b40) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(common.o):(.bss+0x20) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(psycho_0.o):(.bss+0x0) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld :
../thirdparty/toolame-02l/x86_64/toolame.a(psycho_4.o):(.bss+0x0) :
définitions multiples de « glopts »;
../thirdparty/toolame-02l/x86_64/toolame.a(toolame.o):(.bss+0xe0) :
défini pour la première fois ici
/bin/ld:
../thirdparty/pulseaudio-13.0/src/.libs/libpulsecommon-13.0.a(libpulsecommon_13.0_la-x11prop.o):
référence au symbole non défini « xcb_get_setup »
/bin/ld : /usr/lib64/libxcb.so.1 : erreur lors de l'ajout de
symboles : DSO manquant dans la ligne de commande
on supprimera les fichiers *o sous mpeg2enc/x86_64 et on éditera le fichier c_flags qui s'y trouve en rajoutant fcommon
-O2 -fcommon -DHAVE_GL -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/freetype2 -I/usr/include/libpng16 -I../../ -DHAVE_OSS -DHAVE_FIREWIRE -I../libmpeg3 -I../quicktime
on lui donne les droits en écriture seule pour qu'il ne soit pas écrasé et modifié
chmod 444 c_flags
on fera la même chose sous thirdparty/toolame-02l/x86_64/
on retape make puis en tant que root
make install
j'ai du créer le lien suivant pour accéder à cinelerra
ln -s
/usr/local/linux/multimedia/cinelerra-7.4/bin/cinelerra
/usr/local/bin/cinelerra
si vous avez au lancement une erreur du style
MWindow::init_shm0:
WARNING:/proc/sys/kernel/shmmax is 0x2000000.
It should be a least 0x7FFFFFFF for cinelerra
il faut éditer le fichier /etc/sysctl.conf et rajouter tout à la fin
# neutralisation du message d'erreur
cinelerra
kernel.shmmax = 0x7fffffff
Pour appliquer la modif il faut taper en tant que root
sysctl -p
Si ça plante au démarrage avec un message du genre
signal_entry: got SIGSEGV my pid=17430 execution table
size=0:
SigHandler::signal_handler total files=0
Abandon
En effet au premier lancement de l'application il tente de créer un fichier sous /usr/lib64/ladspa/ et comme un simple utilisateur n'a pas les droits, il plante. Pour le résoudre il faut d'abord lancer cinelerra en tant que root puis à nouveau en tant que simple utilisateur et là ça passe.
Voilà ce que ça donne en tapant cinelerra
L'ergonomie est particulièrement brouillonne, le logiciel n'a rien
d'intuitif, reportez vous à cette page
pour avoir les bases de l'utilisation de cinelerra.
Il se trouve
qu'il existe des forks de cinelerra qui sont très prometteurs, ils
sont regroupés à cette adresse https://cinelerra-cv.org/.
Pour être précis sur cette même page on va trouver deux variantes, Cinelerra
GG ou la version Goodguy's qui est parti d'un développement
personnel et Cinelerra CV qui est la version de la communauté
(community version) qui apporte quelques fonctions supplémentaires et se
veut plus stable, à noter que cette dernière version bien qu'étant un fork
ne souhaite pas diverger du projet original et fusionne (merge) avec ses
nouvelles évolutions, lire la page A propos qui explique un peu tout ça
par là https://cinelerra-cv.org/about.php.
A noter que la version Cinelerra HV (Heroin Virtual) n'est pas un
fork mais est ni plus ni moins que la version originale présentée plus haut.
Il semblerait que ce soit la version GG qui soit la plus active.
A noter qu'il existe également Lumiera (site web http://lumiera.org/),
il
est né de la réécriture du code de Cinelerra HV mais a divergé
dans un projet distinct, il est aujourd'hui dans une version pre-alpha non
utilisable.
Au final j'ai choisi la version GG qui a
l'air de plus se distinguer de la version originale, la page de
téléchargement est par là https://www.cinelerra-gg.org/
on décompresse l'archive en tapant :
tar xvfz cin_5.1.20220228-src.tgz
cela donne le répertoire cinelerra-5.1, on y tape :
./autogen.sh
./configure --with-opencv=git --with-gl
cela donne
Reason
Package
------
-------
needed
libbthread
forced
a52dec
forced
djbfft
disabled
encore
disabled
audiofile
disabled
esound
forced
ffmpeg
forced
giflib
needed
ilmBase
needed
ladspa
forced
lame
forced
libraw1394
needed
libdv
forced
libogg
forced
libtheora
forced
libuuid
forced
libvorbis
forced
mjpegtools
needed
libaom
needed
openExr
needed
openexr
forced
openjpeg
forced
twolame
forced
x264
forced
x265
needed
lv2
needed
lilv
needed
sratom
needed
serd
needed
sord
needed
suil
needed
ffnvcodec
shared
-ltheoraenc
shared
-ltheoradec
shared
-logg
shared
-lvorbis
shared
-lvorbisfile
shared
-logg
shared
-lIlmImf
shared
-lIlmThread
shared
-lIex
shared
-lpthread
shared
-lfftw3
shared
-lFLAC
shared
-lavc1394
shared
-lrom1394
shared
-liec61883
shared
-ljpeg
shared
-lsndfile
shared
-ldav1d
shared
-lwebp
shared
-ltiff
shared
-lvpx
shared
-lopus
system
-lX11
system
-lXext
system
-lXinerama
system
-lXfixes
system
-lbz2
system
-lfontconfig
system
-lfreetype
system
-llzma
system
-lpng
system
-lpthread
system
-lz
system
-lIlmImf
system
-ljbig
system
-lvdpau
system
-lva
system
-lva-x11
system
-lva-drm
system
-lGL
system
-lGLU
system
-lXv
system
-lXft
system
-lasound
system
-lpulse-simple
system
-lpulse
system
-lusb-1.0
system
-ldl
system
-lnuma
using: with-gl
using: with-xft
using: with-xxf86vm
using: with-oss
using: with-alsa
using: with-firewire
using: with-ogg
using: with-dv
using: with-dvb
using: with-ladspa
using: with-video4linux2
using: without-esound
using: with-pulse
using: with-pactl
using: with-openexr
using: with-lv2
using: without-commercial
using: with-libzmpeg
using: with-shuttle
using: with-shuttle_usb
using: with-xv
using: with-vaapi
using: with-vdpau
using: without-cuda
using: with-nv
using: with-wintv
using: with-x10tv
using: with-jobs = 14
using: exec-name = cin
using: with-cinlib = /usr/local/lib64/cin
using: with-cindat = /usr/local/share/cin
using: with-config-dir = $$HOME/.bcast5
using: with-nested-dir = $$HOME/Videos
using: with-snap-dir = $$HOME/Pictures
using: with-browser = firefox
using: with-plugin-dir = /usr/local/lib64/cin/plugins
using: with-ladspa-dir = /usr/local/lib64/cin/ladspa
using: with-opencv = git
using: with-git-ffmpeg = no
using: with-noelision = auto
using: with-booby = no
using: with-clang = no
using: thirdparty build = yes
using: single-user = no
using: static-build = no
using: ladspa-build = yes
checking that generated files are newer than configure... done
ensuite on tape comme d'habitude
make
je bute sur cette erreur
libavcodec/libdav1d.c: Dans la fonction
« libdav1d_init »:
libavcodec/libdav1d.c:135:6: error: « Dav1dSettings » {alias
« struct Dav1dSettings »} n'a pas de membre nommé
« frame_size_limit »
ça vient d'une biblio système trop vieille lib64dav1d-devel avec un fichier /usr/include/dav1.h trop ancien, on va installer la dernière version qu'on trouvera ici https://code.videolan.org/videolan/dav1d/-/tags on décompresse l'archive en tapant
tar xvfj dav1d-0.9.2.tar.bz2
cela donne dav1d-0.9.2 dans lequel on tape
mkdir build
cd build
meson ..
ninja
et en tant que root (installation des
includes sous /usr/local/include)
ninja install
On retape make et si vous avez l'erreur
gaborobj.h:27:10: erreur fatale:
opencv2/core/types.hpp : Aucun fichier ou dossier de ce type
27 | #include "opencv2/core/types.hpp"
on créera en tant que root le lien suivant
ln -s /usr/local/include/opencv4/opencv2/ /usr/local/include/
ensuite en tant que root
make install
Si vous avez l'erreur suivante au lancement
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*):
je ne vois pour l'instant comme possibilité que de désactiver l'option
OpenCV en supprimant le répertoire
/usr/local/lib64/cin/plugins/opencv
On lance le logiciel en tapant cin, l'interface est assez similaire à l'original, il y a quand même quelques nettes améliorations sur la présentation, c'est à surveiller, il devrait faire de l'ombre à la version originale.
OpenShot est un logiciel de montage récent assez similaire à kdenlive le site officiel est http://www.openshotvideo.com/. On récupérera d'abord les bibliothèques d'openshot à l'adresse suivante https://launchpad.net/libopenshot/. On installera préalablement les packages suivantes lib64qt5multimedia-devel , qtmultimedia5, lib64qt5multimediawidgets-devel, ruby-devel, python3-httplib2, lib64zmq-devel, lib64cppzmq-devel, inkscape, python-pygoocanvas et python3-httplib2. il faudra installer préalablement python avec une version supérieure à 3 et blender. On installera ensuite les bibliothèques suivantes :
Unittest qu'on récupérera par là https://github.com/unittest-cpp on décompresse l'archive en tapant :
tar xvfz unittest-cpp-2.0.0.tar.gz
cela donne le répertoire unittest-cpp-2.0.0
dans lequel on tape
mkdir build
cd build
cmake ..
make
make install
zmq qu'on récupérera par
ici https://pypi.python.org/pypi/pyzmq
on décompresse l'archive en tapant :
tar xvfz pyzmq-22.3.0.tar.gz
puis dans le répertoire pyzmq-22.3.0 on tape en tant que root
pip install pyzmq
maintenant on revient au bibliothèque d'openshot. On décompresse l'archive en tapant
tar xvfz libopenshot-audio-0.2.2.tar.gz
dans le
répertoire
libopenshot-audio-0.2.2 on tape
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
et en tant que root
make install
on décompresse l'archive en tapant
tar xvfz libopenshot-0.2.7.tar.gz
dans le répertoire libopenshot-0.2.7 on va taper
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
voilà le résultat
-- Build configuration:
-- The following features have been enabled:
* FFmpeg swresample, Audio resampling uses swresample
* FFmpeg hwaccel, GPU-accelerated routines (FFmpeg 3.4+)
* OpenCV algorithms, Use OpenCV algorithms
* Non-default target 'doc', Build formatted API documentation
(HTML+SVG)
-- The following OPTIONAL packages have been found:
* ImageMagick
* PkgConfig
* cppzmq
* OpenCV (required version >= 4)
* Threads
* PythonInterp (required version >= 3)
* PythonLibs (required version >= 3)
* Ruby
* Doxygen
-- The following REQUIRED packages have been found:
* OpenShotAudio (required version >= 0.2.0)
* jsoncpp
* Qt5Widgets
* FFmpeg
* OpenMP
* ZeroMQ
* Protobuf (required version >= 3)
* Qt5Core (required version >= 5.15.2)
* Qt5Gui
* Qt5
* SWIG (required version >= 3.0)
-- The following features have been disabled:
* Coverage, analyze test coverage and generate report
* IWYU (include-what-you-use), Scan all source files with 'iwyu'
* Unit tests, Compile unit tests for library functions
-- The following OPTIONAL packages have not been found:
* Resvg
* Catch2
-- Configuring done
-- Generating done
-- Build files have been written to:
/usr/local/linux/multimedia/libopenshot-0.2.7/build
on tape ensuite
make
puis en tant que root make install
on installe maintenant sip qu'on récupèrera par là https://www.riverbankcomputing.com/software/sip/download/ on récupère l'archive qu'on décompresse en tapant
tar xvfz sip-4.19.25.tar.gz
cela donne le répertoire sip-4.19.25 dans lequel on tape
/usr/bin/python3.8 configure.py
make
et en tant que
root
make
install
on installe maintenant PyQt5 en tapant dans un terminal en tant que root
pip install PyQt5
pip install
PyQtWebEngine
On revient enfin à openshot, après avoir créé le répertoire openshot-qt-2.6.1, on y décompresse l'archive en tapant
tar xvfz openshot-qt-2.6.1.tar.gz
dans le répertoire openshot-qt-2.6.1 on tape en tant que root
/usr/bin/python3.8 setup.py install
Il suffit de
taper dans un shell openshot-qt, au besoin il sera peut être
nécessaire de taper préalablement
export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.8/site-packages/
voilà la fenêtre principale avec des vidéos importées.
Pour plus d'info sur l'utilisation merci de consulter le tutoriel.
Synfig Studio est un atelier de création d'animations qui peuvent ensuite être intégrées dans des logiciels de montage. C'est pour ça qu'on le retrouve dans cette page.
Le site officiel est http://www.synfig.org/
Avant d'aller plus loin il faudra sans doute installer les packages suivants lib64magick-devel, lib64xml++2.6-devel, lib64graphicsmagick-devel, lib64mng-devel on revient à synfig on décompresse l'archive en tapant
tar xvfz synfig-1.5.1.tar.gz
Cela donne le répertoire synfig-1.5.1 dans lequel on tape
./2-build-production.sh
l'exécutable se trouve sous synfig-1.5.1/_production/build/bin/synfigstudio on pourra en faire un lien sous /usr/local/bin
Voilà ce que ça donne quand on lance synfigstudio, à gauche la "boite à outils", à droite les propriétés des outils, au milieu l'écran principal et en bas la partie pour les images clés (keyframes) et l'animation.
Pour le reste je vous invite à consulter le tutorial par ici.
Blender est
un
logiciel de création 3D, il est nécessaire pour OpenShot
Video pour créer les animations.
Le site officiel est http://www.blender.org/
avant d'aller plus loin il faudra installer les packages scons, lib64openimageio-devel, lib64spnav-devel, lib64OpenEXR-devel,
lib64ilmbase-devel, lib64freealut-devel, lib64openal-devel, lib64fftw-devel, lib64gomp-devel
et python3-devel.
Attention il faut disposer de la version 3.9 de Python, ça ne marche pas avec la dernière version 3.10. Sur ma mageia 8 par défaut la version est la 3.8, j'ai donc dû récupérer la dernière version sur le site officiel https://www.python.org/ on décompresse l'archive en tapant
tar xvf Python-3.9.0.tar.xz
Cela donne le répertoire Python-3.9.0 dans lequel on tape successivement
./configure --enable-optimizations
make
puis en tant que root
make install
il faudra installer également l’extension numpy en tapant
pip3.9 install numpy
On installera également les utilitaires et bibliothèques suivantes. Tout d'abord pybind11 qu'on récupérera sur le site https://github.com/pybind/pybind11 on désarchive en tapant
tar xvfz pybind11-2.8.1.tar.gz
cela donne le répertoire pybind11-2.8.1/ dans lequel on tape successivement
mkdir build
cd build
cmake ..
make
puis en tant que root
make install
on revient à blender on décompresse l'archive en tapant
tar xvf blender-2.93.5.tar.xz
cela
donne le répertoire blender-2.93.5 dans
lequel
on tape
mkdir build
cd build
cmake .. -DFFMPEG=/usr/local -DWITH_CYCLES=ON
-DWITH_CYCLES_STANDALONE=ON -DWITH_CYCLES_STANDALONE_GUI=ON
-DWITH_CYCLES_EMBREE=OFF
s'il ne trouve pas OpenImageIO, il sera peut être nécessaire d'installer le package lib64openimageio-devel, comme ça m'installe un tas de dépendances qui vont écraser mes personnalisations, j'ai choisi d'installer strictement les packages nécessaires à blender avec l'option --nodeps pour ne pas vérifier les dépendances.
rpm -ivh --nodeps lib64openimageio-devel-2.2.10.0-1.mga8.x86_64.rpm
rpm -ivh --nodeps
lib64openimageio2.2-2.2.10.0-1.mga8.x86_64.rpm
urpmi lib64squish0 lib64dcmtk15 lib64field3d1.7 lib64openvdb7.1
lib64opencolorio1
les options qui suivent permettent de compiler le moteur de rendu CYCLES qui est jugé très supérieur à l'ancien, en tout cas il semblerait que par défaut OpenShot Video Editor qui utilise blender fait appel à ce moteur, car sinon par défaut ce moteur n'est pas compilé, vous pourriez obtenir une erreur comme cela (dans le terminal de lancement d'OpenShot)
TypeError: bpy_struct: item.attr = val: enum "CYCLES" not found in ('BLENDER_EEVEE', 'BLENDER_WORKBENCH')
vous devriez avoir plutôt ces messages quand ça fonctionne
INFO blender_model: updating effects
model.
INFO blender_listview: Animation param fontname set to Bfont
INFO blender_listview: Animation param spacemode set to CENTER
INFO blender_listview: Animation param length_multiplier set to 2
INFO blender_listview: Animation param length_multiplier set to 1
INFO blender_listview: Previewing frame 105
INFO blender_listview: Injecting GPU enable code from
/usr/local/lib/python3.8/site-packages/openshot_qt-2.6.1-py3.8.egg/openshot_qt/blender/scripts/gpu_enable.py.in
INFO blender_listview: Found Blender version 2.93.5
INFO blender_listview: Blender process exited, 1 frames saved.
INFO blender_listview: Injecting GPU enable code from
/usr/local/lib/python3.8/site-packages/openshot_qt-2.6.1-py3.8.egg/openshot_qt/blender/scripts/gpu_enable.py.in
INFO blender_listview: Found Blender version 2.93.5
INFO blender_listview: Blender process exited, 210 frames saved.
INFO blender_listview: RENDER FINISHED! Adding to project files:
TitleFileName%04d.png
revenons à la compilation de blender, on tape maintenant make
si vous rencontrez l'erreur suivante
/usr/local/linux/multimedia/blender-2.93.5/extern/audaspace/bindings/python/PySound.cpp:70:10:
erreur fatale: numpy/ndarrayobject.h : Aucun fichier ou dossier de
ce type
70 | #include <numpy/ndarrayobject.h>
on modifiera le fichier blender-2.93.5/extern/audaspace/bindings/python/PySound.cpp au niveau de l'include comme ceci
#include "/usr/local/lib/python3.9/site-packages/numpy/core/include/numpy/ndarrayobject.h"
et vous retapez make
puis en tant que root
make install
j'ai créé ce lien pour qu'il soit accessible de partout (à adapter suivant votre config)
ln -s
/usr/local/linux/multimedia/blender-2.93.5/build/bin/blender
/usr/bin
et voilà ce que ça donne quand on le lance