FUNIX

Mettez un manchot dans votre PC



Montage vidéo sous linux    
[ Présentation | Outils de montage ( KDEnlive ( Présentation , Installation , Utilisation ) , LiVES ( installation , utilisation )  , Cinelerra ( Installation , Utilisation ) , OpenShot Vidéo ( Installationutilisation ) , Kino (Installation, Présentation , utilisation de kino) | Outils divers ( Synfig Studio ( Installation , Utilisation ) , Blender ) ]

Montage vidéo

Dernière modification 8 décembre 2014

( ce document est disponible au format pdf dans la rubrique téléchargement)

Présentation

kdenlive est certainement le logiciel de montage le plus abouti sous linux et le plus stable, certes il lui manque encore quelques fonctionnalités pour être à la hauteur des softs pro, mais il s'en approche petit à petit, c'est le soft que j'utilise habituellement.

OpenShot Vidéo, c'est le petit dernier des logiciels de montage vidéo, il est très simple d'utilisation. A noter qu'il a des plus indéniables par rapport à kdenlive puisqu'il intègre des fonctionnalités d'animation, sur la base notamment de blender et inkscape, alors qu'il faudra passer par synfigstudio pour kdenlive. Ce soft est encore jeune, il souffre encore d'une certaine instabilité.

LiVES logiciel conçu à l'origine pour faire des clips vidéo, très riche en fonctionnalités, demande pas mal de ressources, plante encore pas mal de mon côté, mais je continue à surveiller son développement d'un oeil car il a un gros potentiel.

cinelerra qui est un logiciel de montage évolué et relativement complexe, il exige pas mal de ressources.

Cette page ne présente que l'installation de ces logiciels, les pages sur kdenlive et cinelerra sont dédiées davantage à leur mise en oeuvre.

Il existe aussi avidemux qui même s'il ne réalise pas d'acquisition permet de faire quelques montages à partir d'une vidéo préexistante.

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 fotn 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.

[Retour haut de la page]

Outils de montage vidéo

KDEnlive

Présentation

KDEenlive est un logiciel de montage vidéo relativement puissant et simple d'utilisation.

Installation

kdenlive est basé sur KDE, il faudra installer les packages suivants avec ses dépendances

urpmi kdelibs4-devel

sur ubuntu il faudra installer les packages kde-devel, unsermake et ladspa-sdk. Sous mageia il faut installer les packages lib64xpm-devel, kdelibs4-devel, lib64v4l-devel, lib64qjson-devel, lib64qimageblitz-devel, ladspa-devel, lib64gdk_pixbuf2.0-devel, qimageblitz, swig, lib64python-devel et lib64samplerate-devel


Maintenant il nous faut installer mlt qu'on trouvera ici  http://mlt.sourceforge.net/  on désarchive la première archive en tapant

tar xvfz mlt-0.9.2.tar.gz

cela donne le répertoire mlt-0.9.2 dans le lequel on tape

./configure  --swig-languages=python --enable-gpl

voilà ce que ça donne

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:
- jackrack not found: disabling
Configuring modules/kdenlive:
Configuring modules/lumas:
Configuring modules/oldfilm:
Configuring modules/opengl:
Configuring modules/plus:
Configuring modules/rtaudio:
Configuring modules/sdl:
Configuring modules/sox:
Configuring modules/swfdec:
Configuring modules/vmfx:
Configuring modules/xml:
Configuring mlt++:
Configuring swig:
LGPLv2.1 license used; GPL components disabled

puis on tape

make

puis 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

A présent pour OpenShot Video, il faudra faire quelques manips supplémentaires

dans le répertoire mlt-0.9.2/src/swig/python on copiera les deux fichiers suivants dans les répertoires de bibliothèques de python

cp _mlt.so /usr/lib/python2.7/site-packages
cp mlt.py /usr/lib/python2.7/site-packages

il faudra veiller à ce qu'aucune ancienne installation de mlt soit présente, au besoin supprimez la.

Revenons à kdenlive, l'URL officiel de kdenlive est http://kdenlive.sourceforge.net/  on y récupéera la dernière version qu'on décompresse en tapant

tar xvfz kdenlive-0.9.10.tar.gz

cela donne le répertoire kdenlive-0.9.10 dans lequel on tape

mkdir build;cd build
cmake ..

puis

make

puis en tant que root

make install



Utilisation

Voici kdenlive lancé avec un projet de montage


J'ai fait une documentation sommaire de l'utilisation par ici.

LiVES

Installation

LiVES est un éditeur vidéo orienté VJ (Vidéo Jockey), en d'autres termes, il est bourré d'effets spéciaux pour faire des clips vidéos. On installera préalablement les packages lib64weed-devel et lib64gtk+2.0-devel. Le site officiel est http://lives.sourceforge.net/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz LiVES-2.2.6.tar.bz2

Cela donne le répertoire lives-2.2.6 dans lequel on éditera le fichier ./lives-plugins/plugins/decoders/avformat_decoder.c au lieu de

if (priv->ic !=NULL) av_close_input_file(priv->ic);

on écrit

if (priv->ic !=NULL) avformat_close_input(priv->ic);

cela évitera à l'exécution de lives l'erreur suivante

lives: symbol lookup error: /usr/lib64//lives/plugins/decoders/zzavformat_decoder.so: undefined symbol: av_close_input_file

on tape maintenant

./configure --libdir=/usr/lib64 --disable-gtk3
make

on compile lives avec gtk+ 2 car lives bogues avec gtk+ 3

Puis en tant que root

make install

on rajoutera les lignes suivantes dans le fichier /etc/ld.so.conf

/usr/lib64/lives/plugins/playback/video
/usr/lib64/lives/plugins/decoders
/usr/lib64/lives/plugins/effects/realtime/weed

puis on tape ldconfig

Utilisation

On lance le soft en tapant lives. Très sommairement voilà ce que j'ai compris de son utilisation, d'abord on commence par fixer les préférences Outils->Préférences (notamment les répertoires de travail et l'encodeur par défaut), j'ai changé également le thème (en choisissant Aucun) car celui par défaut rendait l'interface illisible. Dans le menu Effets, on doit également indiquer le chemin de frei0r (/usr/local/lib/frei0r-1 pour ce qui me concerne), ça évitera d'avoir le message suivant dans le shell de lancement

No frei0r plugins found; if you have them installed please set the FREI0R_PATH environment variable to point to them.
LiVES info: No usable filters found in plugin /usr/lib64/lives/plugins/effects/realtime/weed/frei0r/frei0r.so

On charge les fichiers vidéos à partir de Fichier->Ouvrir Fichier/Répertoire j'en choisis deux

Voilà ce que ça donne avec le dernier fichier vidéo chargé, par défaut la première image de la vidéo est à gauche et la dernière à droite, on peut voir qu'il y a une piste vidéo et deux pistes audio.


Pour la lecture du fichier, il y a une icone à droite du bouton Aide, cela donne cela


On retrouve les boutons classiques de lecture qui sont également répétées dans la barre de menu de la fenêtre principale. Maintenant pour faire une sélection d'une séquence particulière, dans la fenêtre de lecture, la case libre est activée, placez vous en début de séquence puis activez la case début, réactivez la case libre et sélectionnez la fin de séquence, activez la case fin, puis revenez en activant la case libre. Fermez la fenêtre (en recliquant sur l'icone à droite de Aide) et vous retrouvez la séquence qui a été choisie au niveau de l'interface principale.

On bascule en mode classique multi pistes, à partir du menu Edition->Mode  multipistes on retrouve l'interface d'un éditeur vidéo classique, en passant en Mouse mode sélection, on retrouve la séquence sélectionnée plus haut dans l'onglet clips qui est activé par défaut, par drag and drop je la glisse sur la première piste.


Je vais rajouter maintenant une séquence du deuxième clip, je reviens au mode initial d'édition de clip en sélectionnant Editer->Editeur de clip puis dans le menu Clips je choisis l'autre clip chargé. De la même manière je choisis une séquence, et je rebascule en mode multi pistes, glisser l'autre séquence sur l'autre piste à la suite chronologique de l'autre (ou inversement c'est à vous de voir).



Une fois qu'on est arrivé à ce stade on va pouvoir faire des choses intéressantes en rajoutant des effets et des transitions et pour le reste je vous invite à visiter cette page en attendant mieux http://lives.sourceforge.net/index.php?do=tutorial-wiki

Cinelerra

Installation

On récupérera cinelerra à l'URL http://heroinewarrior.com on décompresse l'archive en tapant

tar xvf cinelerra-4.6.src.tar.xz

Cela donne le répertoire cinelerra-4.6-src 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

make[2]: Entering directory '/usr/local/linux/multimedia/cinelerra-4.6-src/cinelerra'
g++ `cat x86_64/c_flags`  filejpeg.C -o x86_64/filejpeg.o
filejpeg.C: In static member function ‘static int FileJPEG::check_sig(Asset*)’:
filejpeg.C:73:23: erreur: ‘strlen’ was not declared in this scope

il faut éditer le fichier ./cinelerra/filejpeg.C et on rajoute au niveau des includes

#include <string.h>


on fera pareil pour le fichier ./cinelerra/filemov.C

Pour l'erreur suivante

filepng.C: In function ‘void read_function(png_structp, png_bytep, png_uint_32)’:
filepng.C:212:71: erreur: ‘memcpy’ was not declared in this scope

on édite le fichier ./cinelerra/filepng.C et on rajoute au niveau des includes

#include <cstring>

pour l'erreur suivante

videodevice.C:360:40: erreur: ‘strcpy’ was not declared in this scope

on édite le fichier ./cinelerra/videodevice.C et on rajoute au niveau des includes

#include <string.h>

on retape make puis en tant que root

make install

on ajoute maintenant à la fin au fichier /etc/ld.so.conf

/usr/local/linux/multimedia/cinelerra-4.5/thirdparty/lib

et on tape ldconfig

j'ai du créer le lien suivant pour accéder à cinelerra

ln -s /usr/local/linux/multimedia/cinelerra-4.6-src/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.


Utilisation

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.

OpenShot Video

Installation

OpenShot est un logiciel de montage récent assez similaire à kdenlive le site officiel est http://www.openshotvideo.com/ on y récupèrera la dernière archive qu'on décompresse en tapant

tar xvfz openshot-1.4.3.tar.gz

Cela donne le répertoire openshot-1.4.3 il faudra installer préalablement blender les packages inkscape et python-pygoocanvas puis on revient dans le répertoire openshot-1.4.3 dans lequel on tape en tant que root

python setup.py install

par contre openshot se base sur une version récente de blender (au moins 2.59), si votre distribution n'en fournit pas, se reporter au paragraphe correspondant sur l'installation de blender. Comme ce dernier requiert au moins python3.2 il faudra privilégier une installation d'openshot dans la même version de python sans quoi vous risquez d'avoir des problèmes de lancement de blender à partir d'openshot.

Utilisation

Il suffit de taper dans un shell openshot, au besoin il sera peut être nécessaire de taper préalablement

export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/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.


Outils divers

Synfig Studio

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.

Installation

Le site officiel est http://www.synfig.org/cms/ on y récupérera les tarballs de 2 bibliothèques puis de synfigstudio. On décompresse la première bibliothèque en tapant

tar xvfz ETL-0.04.17.tar.gz

Cela donne le répertoire ETL-0.04.17 dans lequel on tape

./configure
make

puis en tant que root

make install

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'archiver en tapant

tar xvfz synfig-0.64.2.tar.gz

Cela donne le répertoire synfig-0.64.2 dans lequel on tape successivement

./configure --with-libavcodec

voilà le résultat

Synfig Core v.0.64.2
Configuration Summary
- - - - - -

Install Prefix -------------------> /usr/local
Module directory -----------------> ${exec_prefix}/lib/synfig/modules
Build Platform -------------------> x86_64-unknown-linux-gnu
Host Platform --------------------> x86_64-unknown-linux-gnu
Arc Profiling --------------------> no
GProf Profiling ------------------> no
Debug Mode -----------------------> no (-DNDEBUG)
Optimization ---------------------> 2
PNG output target support --------> yes
MNG output target support --------> yes
JPEG output target support -------> yes
ETL_CFLAGS -----------------------> -I/usr/local/include
FreeType2 ------------------------> yes
fontconfig -----------------------> yes
libavcodec -----------------------> yes
libswscale -----------------------> yes
vImage ---------------------------> no
ImageMagick ----------------------> yes
Magick++ -------------------------> yes
FFMPEG ---------------------------> yes
libdv ----------------------------> yes
OpenEXR --------------------------> yes
Using OpenEXR's "half" type ------> no


on tape maintenant

make

je bute sur la première erreur

trgt_av.cpp:119:53: error: invalid conversion from 'int' to 'AVPixelFormat' [-fpermissive]
     size = avpicture_get_size(pix_fmt, width, height);

on édite ./src/modules/mod_libavcodec/Makefile et on rajoute l'option suivante au CXXFLAGS

CXXFLAGS =  -DNDEBUG -O2 -W -Wall -fpermissive

maintenant pour cette erreur

trgt_av.cpp:344:33: error: 'avcodec_open' was not declared in this scope

on modifie dans le fichier ./src/modules/mod_libavcodec/trgt_av.cpp la fonction suivante comme suit (les modifs sont en italique)

bool open(AVFormatContext *formatc, AVStream *stream)
        {
                if(!formatc || !stream)
                {
                        synfig::warning("Attempt to open a video codec with a bad format or stream");
                        return false;
                }

                //codec and context
                AVCodec *codec;
                AVCodecContext *context;
                AVDictionary **dictionary; 

                //get from inside stream
                context = stream->codec;

                //search for desired codec (contained in the stream)
                codec = avcodec_find_encoder(context->codec_id);
                if(!codec)
                {
                        synfig::warning("Open_video: could not find desired codec");
                        return 0;
                }

                //try to open the codec
                if(avcodec_open2(context, codec, dictionnary) < 0)
                {
                        synfig::warning("open_video: could not open desired codec");
                        return 0;
                }


pour vous évitez une suite ensuite laborieuse de compilation correction, voilà le total des modifs à faire. Il faut rajouter en entête du ficher  ./src/modules/mod_libavcodec/trgt_av.cpp les lignes suivantes

#include <libavutil/frame.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>

puis on remplace les occurences de CodecID par AVCodecID. Pour l'erreur suivante

trgt_av.cpp:571:46: error: 'guess_format' was not declared in this scope

on remplace guess_format par av_guess_format. Maintenant pour les erreurs suivantes

trgt_av.cpp:660:41: error: 'URL_WRONLY' was not declared in this scope
trgt_av.cpp:660:56: error: 'url_fopen' was not declared in this scope
trgt_av.cpp:681:26: error: 'av_write_header' was not declared in this scope

on édite toujours le fichier ./src/modules/mod_libavcodec/trgt_av.cpp au lieu de

                
av_write_header(formatc);

on écrit

                AVDictionary **dictionary;
                avformat_write_header(formatc, dictionary);

on remplace les occurences de url_fclose par close
et celles de url_fopen par avio_open
ainsi que de URL_WRONLY par AVIO_FLAG_WRITE
et CODEC_TYPE_VIDEO par AVMEDIA_TYPE_VIDEO
et CODEC_TYPE_AUDIO par AVMEDIA_TYPE_AUDIO
et PKT_FLAG_KEY par AV_PKT_FLAG_KEY
dump_format
par av_dump_format
avformat_new_stream

pour l'erreur

trgt_av.cpp:833:19: error: 'set_remove_alpha' was not declared in this scope

on édite toujours le fichier ./src/modules/mod_libavcodec/trgt_av.cpp et on met en commentaire la ligne suivante comme ceci

 //set_remove_alpha();

pour l'erreur

trgt_png.cpp:213:44: error: 'strlen' was not declared in this scope

On édite le fichier ./src/modules/mod_png/trgt_png.cpp et on rajoute au niveau des includes

#include <string.h>

et enfin après un ultime make vous pouvez taper en tant que root

make install

On édite le fichier /etc/ld.so.conf et on rajoute à la fin la ligne suivante

/usr/local/lib/synfig/modules

on tape ldconfig

On installe maintenant synfigstudio en installant d'abord les packages suivants intltool, lib64gtkmm2.4-devel on décompresse ensuite l'archive en tapant

tar xvfz synfigstudio-0.64.2.tar.gz

Cela donne le répertoire synfigstudio-0.64.2 dans lequel on tape successivement

./configure
make

puis en tant que root

make install
ldconfig

Utilisation

Voilà ce que ça donne quand on lance synfigstudio, à gauche la "boite à outils", à droite la fenêtre de propriété des outils, au milieu l'écran principal et en bas la fenêtre pour les images clés (keyframes).


Admettons qu'on veuille faire tomber des flocons de neige au niveau du titre d'introduction d'une vidéo. Mon animation doit se chevaucher avec une séquence vidéo qui a une taille de 1280x720 pixels, on doit donc définir une taille d'animation équivalente, pour cela au niveau de la fenêtre principale, avec le clic droit de la souris, on sélectionne Edition->Propriétés



Dans la même fenêtre au niveau de l'onglet Temps, vous pouvez définir la longueur de l'animation, elle est par défaut à 5s. On revient à la fenêtre principale, on va dessiner des étoiles telles qu'elles seront en début d'animation (en haut de l'écran). Pour cela vous disposez de la boîte à outil, c'est assez analogue à gimp, je me suis servi de l'outil Etoile.



On va travailler maintenant sur l'animation, il faut cliquer sur le bouton en bas tout en droite "Turn on animate editing mode", le petit bonhomme vert passe en rouge et court comme on peut le voir ci-dessous. A noter qu'on retrouve l'échelle de temps d'une durée de 5s au même niveau, votre curseur est par défaut en début de séquence (champ 0f), n'y touchez surtout pas pour l'instant.


C'est là qu'intervient la fenêtre Image clés (keyframes), cliquez sur l'onglet représentant une clé, à présent cliquez sur le menu permettant de créer une nouvelle image clé (cf ci-dessous).

Revenez à la fenêtre du dessous et cliquez sur la position 1s (ne déplacez pas le curseur), recréez à nouveau une image clé, et ainsi de suite jusqu'à la position 5s. Voilà ce que vous devriez obtenir.



A présent sélectionnez la ligne 1s et commencer à déplacer vos étoiles (outil déplacement lissé), sélectionnez ensuite la ligne 2s et d"placez encore plus loin vos étoiles, ainsi de suite jusqu'à la dernière séquence à 5s.



Au final voilà ce que j'obtiens pour la dernière séquence de l'animation.



Pour voir à quoi ça ressemble, à partir du menu accessible par un clic droit de la souris sur l'animation, vous choisissez Fichier->Aperçu



Pour exporter l'animation afin de l'importer sur kdenlive, à partir du même menu on choisit Fichier->Rendu on choisit le format png qui préserve la transparence, par contre il faudra penser à créer préalablement un répertoire d'accueil, car il va créer une flopée de fichiers png, avec une image par mouvement.



Dans kdenlive, on importe l'animation à partir du menu Projet->Ajouter un clip diaporama on indique le type d'image, et on modifie la durée de l'image comme indiqué ci-dessous.

blender

A présent, vous faites glisser votre animation dans une ligne vidéo de la timeline, vous rajoutez une transition composite, et c'est fini !



Pour aller plus loin dans l'utilisation de synfig studio les pages de documentation se trouvent par ici http://wiki.synfig.org/wiki/Main_Page


Blender

Blender est un logiciel de création 3D, il est nécessaire pour OpenShot Vidéo pour créer les animations. Le site officiel est  http://www.blender.org/ avant d'aller plus loin il faudra installer les packages scons, lib64spnav-devel, lib64OpenEXR-devel, lib64ilmbase-devel, lib64freealut-devel, lib64openal-devel, lib64fftw-devel et libgomp-devel. Il faut disposer d'une version 3.4 de Python (Pour la mageia, il faudra aller sur le dépot cauldron). Maintenant on revient à l'archive de blender qu'on décompresse en tapant

tar xvfz blender-2.72b.tar.gz

cela donne le répertoire blender-2.72b dans lequel on tape

python scons/scons.py

puis en tant que root

python scons/scons.py install

sinon on se contentera d'installer le package blender de votre distrib

[Retour page d'accueil FUNIX]