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 7 mars 2014

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

Présentation

Kino est dédié en particulier aux  caméscopes DV. Il possède toutes les fonctions utiles pour un vidéaste amateur, c'est un très bon début pour commencer dans la pratique du montage vidéo. C'est malheureusement un projet mort qui n'évolue plus.

kdenlive est un logiciel de montage dans la lignée de kino, comparé à kino je le trouve intuitivement plus pratique, franchement il m'a conquis et maintenant c'est mon logiciel de montage préféré.

OpenShot Vidéo, c'est le petit dernier des logiciels de montage vidéo, à mi chemin entre kino et kdenlive, 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 plutôt simple d'utilisation conçu pour faire des clips vidéo.

cinelerra qui est un logiciel de montage évolué et relativement complexe

Pour la simplicité vous pouvez préférer kino. Pour des softs qui se rapprochent davantage de ce qu'on peut trouver dans le monde professionnel, vous pencherez plutôt vers openshot vidéo, kdenlive voire cinelerra (dans l'ordre de complexité).

Cette page ne présente que l'installation de ces logiciels, les pages sur kino, 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.

Pour mémoire on peut citer aussi cinepaint mais il est plus dédié aux retouches d'images vidéo plutôt qu'au montage et jahshaka que je n'arrive pas à compiler !

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.0.tar.gz

cela donne le répertoire mlt-0.9.0 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/dgraft:
Configuring modules/dv:
- libdv not found: disabling
Configuring modules/effectv:
Configuring modules/feeds:
Configuring modules/frei0r:
Configuring modules/gtk2:
Configuring modules/jackrack:
- jackrack not found: disabling
Configuring modules/kdenlive:
Configuring modules/kino:
- libdv not found: mov dv may not have audio
Configuring modules/linsys:
Configuring modules/lumas:
Configuring modules/motion_est:
Configuring modules/normalize:
Configuring modules/oldfilm:
Configuring modules/plus:
Configuring modules/qimage:
Qt version 4.x detected, will compile Qt4 qimage producer
KDE version 4.x detected, will enable extra image formats
Configuring modules/resample:
Configuring modules/rotoscoping:
Configuring modules/rtaudio:
Configuring modules/sdl:
Configuring modules/sox:
Configuring modules/swfdec:
Configuring modules/videostab:
Configuring modules/vmfx:
Configuring modules/vorbis:
Configuring modules/xine:
Configuring modules/xml:
Configuring melt:
Configuring mlt++:
Configuring swig:
GPLv2 license used; GPLv3 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.0/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.6.tar.gz

cela donne le répertoire kdenlive-0.9.6 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+3.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.2.tar.bz2

Cela donne le répertoire lives-2.2.2 dans lequel on tape maintenant

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

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

Pour la capture il faut sélectionner la commande suivante Fichier->Importe depuis lecteur->Import from firewire device(dv) cela va enregistrer avec la commande dvgrab on charge ensuite les fichiers vidéos à partir de Fichier->Ouvrir fichier sélection

Voilà ce que ça donne avec un fichier vidéo chargé, par défaut la première image de la vidéo est à gauche et la dernière à droite, on choisit une sélection en faisant varier le numéro de frame en dessus de chaque image.





Mode lecteur Lecture->Lecture sélection
Lecture dans une fenêtre séparée Lecture->Lecture dans une fenêtre séparée

On sauvegarde la session avec Fichier->Backup clip as .lv1 on va prendre le nom essai.lv1
On sélectionne donc une scène avec le numéro de frame de la première image au début de la scène et avec le numéro de frame de la dernière image de la scène, on se sert des flèches haut et bas pour faire changer le numéro de frame.
Vous pouvez maintenant couper la scène avec Edition->Couper sélection, si vous voulez travailler une scène particulière pour lui faire subir un effet spécial vous devez faire Edition->Copier sélection puis Edition->Coller comme nouveau
Vous obtenez un clip vidéo que vous allez nommer Clips->Renomme le clip actuel dans le menu on l'appelle mon-clip
On lui applique l'effet Dream avec Effets->Dream vous pouvez bien lui rajouter une bande son particulière (menu Audio) maintenant on va le remettre en place dans la vidéo d'origine (le master)
Edition->Copier sélection
puis au niveau de Clips on choisit essai.lv1 je sélectionne l'endroit où je veux faire un copier coller dans le master puis
Edition->Insérer depuis le presse papier une fenêtre vous demande si vous voulez l'insérer avant ou après la sélection.
On sauvegarde la vidéo obtenu avec Fichier->Encode clip as l'extension est rajoutée automatiquement en fonction de l'encodeur choisi.

Voilà vous savez (presque) tout à vous de jouer.


Cinelerra

Installation

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

tar xvf cinelerra-4.5.src.tar.xz

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

../include/EST_TIterator.h:212:7: erreur: ‘begin’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/EST_TIterator.h:212:7: note: declarations in dependent base ‘EST_TIterator<EST_THash<EST_String, EST_Regex*>, EST_THash<EST_String, EST_Regex*>::IPointer_s, EST_Hash_Pair<EST_String, EST_Regex*> >’ are not found by unqualified lookup
../include/EST_TIterator.h:212:7: note: use ‘this->begin’ instead

Editez le fichier ./thirdparty/speech_tools/include/EST_TIterator.h et aux lignes 212 et 292 au lieu

{ begin(over); }

vous écrivez

{ this->begin(over); }

on fera de même à la ligne 133 du fichier ./thirdparty/speech_tools/include/EST_TNamedEnum.h qu'on modifie comme suit

const char *name(ENUM tok, int n=0) const {return this->value(tok,n); };

On modifiera maintenant le fichier thirdparty/speech_tools/base_class/EST_TSimpleMatrix.cc comme suit aux lignes 100 et 134

this->just_resize(new_rows, new_cols, &old_vals);

et à la ligne 136

this->set_values(old_vals,

suite à cette erreur

../../include/../base_class/EST_TSimpleMatrix.cc:53:5: erreur: ‘memcpy’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

il suffit de rajouter en entête du fichier thirdparty/speech_tools/base_class/EST_TSimpleMatrix.cc

#include <memory.h>

on fera de même dans le fichier thirdparty/speech_tools/base_class/EST_TSimpleVector.cc  on modifie également  la ligne 73 pour lire

this->just_resize(newn, &old_vals);

dans les fichiers ./cinelerra/filejpeg.C et ./cinelerra/filemov.C on rajoutera les lignes suivantes après la suite des includes

#include <memory.h>
#include <string.h>

dans le fichier ./cinelerra/filepng.C on rajoutera la ligne suivante après les includes

#include <memory.h>

dans le fichier cinelerra/videodevice.C on rajoutera la ligne suivante après les 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.5/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.

Maintenant si vous avez des problèmes d'accents, il faudra installer le package suivant

urpmi glibc-i18ndata

puis taper en tant que root

localedef -c -i fr_FR -f  ISO-8859-1 fr_FR.ISO-8859-1

Maintenant en tapant ça, ça devrait marcher

env LANG=$(echo $LANG | sed -e s/UTF-8/ISO-8859-1/g) cinelerra

si ce n'est pas le cas avant chaque lancement de cinelerra créez dans votre homedirectory le fichier .i18n contenant

LANGUAGE=fr_FR:fr
LC_ADDRESS=fr_FR
LC_COLLATE=fr_FR
LC_NAME=fr_FR
LC_NUMERIC=fr_FR
LC_MEASUREMENT=fr_FR
LC_TIME=fr_FR
LANG=fr_FR
LC_IDENTIFICATION=fr_FR
LC_MESSAGES=fr_FR
LC_CTYPE=fr_FR
LC_TELEPHONE=fr_FR
LC_MONETARY=fr_FR
LC_PAPER=fr_FR

relancez KDE et c'est tout bon. Il y a néanmoins des effets collatéraux sur le reste de l'environnement. Pour revenir en arrière, il faudra supprimer ensuite ce fichier et relancez KDE. Je sais c'est pas génial, mais j'ai pas trouvé mieux.

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


kino

Installation

Préalablement on installera les outils de base pour piloter votre liaison IEEE1394 (firewire) grâce à la page qui leur est consacrée.  On récupèrera la dernière version stable de kino sur le site http://www.kinodv.org on décompresse l'archive en tapant

tar xvfz kino-1.3.4.tar.gz

Cela donne le répertoire kino-1.3.4 on veillera à ce que les packages suivants soient installés intltool, libiec61883-devel (si vous avez une entrée firewire)  libsamplerate-devel et libglade2-devel (libglade2-dev sous ubuntu). Maintenant sous kino-1.3.4 on tape

./configure  --enable-quicktime --disable-local-ffmpeg

la première option permet de bénéficier du quicktime et la deuxième d'utiliser la version locale de ffmpeg (et non pas ffmpeg fourni avec kino). On tape maintenant

make

je bute sur l'erreur suivante

frame.cc:1066: erreur: ‘avcodec_decode_video’ was not declared in this scope

cela vient de la fontion avcodec_decode_video qui a disparu des versions récentes de ffmpeg et qui a été remplacé par la commande avcodec_decode_video2 qui a des arguments différents.

On édite le fichier ./src/frame.cc au niveau de la fonction suivante

int Frame::ExtractRGB( void * rgb )
{
#if defined(HAVE_LIBAVCODEC)
        AVFrame *frame = avcodec_alloc_frame();
        AVPicture dest;
        int got_picture;

        avcodec_decode_video2( libavcodec, frame, &got_picture, data, GetFrameSize() );

on écrit à la place

       AVFrame *frame = avcodec_alloc_frame();
        AVPicture dest;
        int got_picture;
        AVPacket pkt;
        av_init_packet(&pkt);
        pkt.data = data;
        pkt.size = GetFrameSize();
       
        avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );

au niveau de la fonction suivante

int Frame::ExtractYUV( void *yuv )
{
#if defined(HAVE_LIBAVCODEC)
     AVFrame *frame = avcodec_alloc_frame();;
     AVPicture output;
     int got_picture;

     avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );

on écrit à la place

int Frame::ExtractYUV( void *yuv )
{
#if defined(HAVE_LIBAVCODEC)
        AVFrame *frame = avcodec_alloc_frame();;
        AVPicture output;
        int got_picture;
        AVPacket pkt;
        av_init_packet(&pkt);
        pkt.data = data;
        pkt.size = GetFrameSize();
       
        avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );

au niveau de la fonction suivante

int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
{
#if defined(HAVE_LIBAVCODEC)
        AVFrame *frame = avcodec_alloc_frame();
        int got_picture;

        avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );

on écrit à la place

int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
{
#if defined(HAVE_LIBAVCODEC)
        AVFrame *frame = avcodec_alloc_frame();
        int got_picture;

        AVPacket pkt;
        av_init_packet(&pkt);
        pkt.data = data;
        pkt.size = GetFrameSize();
       
        avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );

au niveau de la fonction suivante

bool Frame::CreateEncoder( bool isPAL, bool isWide )
{
        pthread_mutex_lock( &avcodec_mutex );
#if defined(HAVE_LIBAVCODEC)
        if ( avformatEncoder == NULL )
        {
                avformatEncoder = av_alloc_format_context();
                if ( avformatEncoder )
                {
                        avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
                        AVStream* vst = av_new_stream( avformatEncoder, 0 );
                        vst->codec->codec_type = CODEC_TYPE_VIDEO;
                        vst->codec->codec_id = CODEC_ID_DVVIDEO;
                        vst->codec->bit_rate = 25000000;
                        vst->start_time = 0;

on écrit à la place

bool Frame::CreateEncoder( bool isPAL, bool isWide )
{
        pthread_mutex_lock( &avcodec_mutex );
#if defined(HAVE_LIBAVCODEC)
        if ( avformatEncoder == NULL )
        {
                avformatEncoder = avformat_alloc_context();
                if ( avformatEncoder )

                {
                        avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
                        AVStream* vst = av_new_stream( avformatEncoder, 0 );
                        vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
                        vst->codec->codec_id = CODEC_ID_DVVIDEO;
                        vst->codec->bit_rate = 25000000;
                        vst->start_time = 0;

on retape make puis en tant que root

make install

on rajoutera dans le fichier /etc/ld.so.conf la ligne /usr/local/lib/kino-gtk2 puis on tape ldconfig

L'exportation au format divx marche enfin très bien  il utilise pour cela ffmpeg (présenté dans ma page outils de base pour la vidéo). Cela dit vous ne pouvez pas saisir de paramètres de transcodage à ffmeg, ils sont figés, on peut modifier cela pour que ça corresponde à vos attentes.

Editer le fichier kino-1.3.4/scripts/exports/ffmpeg_divx.sh vous trouverez les lignes

        # Profiles
        echo "Profile: Best Quality (native size, interlace, VBR)"
        echo "Profile: High Quality (full size, progressive, VBR, QPEL)"
        echo "Profile: Medium Quality (medium size, progressive, VBR)"
        echo "Profile: Broadband Quality (medium size, progressive, 564 kb/s)"
        echo "Profile: Low Quality (small size, 12fps, progressive, 128 kb/s)"

Puis

        # Run the command
        case "$profile" in
                "0" )   ffmpeg -threads $threads -f dv -i pipe: $hq $interlace -g 300 -vtag DIVX -s $normalisation \
                        -aspect $aspect -qscale 2 \
                        -acodec "$acodec" -ab 192$audio_kilo -y "$file".avi ;;
                "1" )   ffmpeg -threads $threads -f dv -i pipe: $hq $progressive -g 300 -vtag DIVX -s $full_res \
                        -aspect $aspect -qscale 2 $qpel \
                        -acodec "$acodec" -ab 192$audio_kilo -y "$file".avi ;;
                "2" )   ffmpeg -threads $threads -f dv -i pipe: $hq $progressive -g 300 -vtag DIVX -s $med_res \
                        -aspect $aspect -qscale 4 -acodec "$acodec" -ar 44100 -ab 128$audio_kilo -y "$file".avi ;;
                "3" )   ffmpeg -threads $threads -f dv -i pipe: $hq $progressive -g 120 -g 300 -vtag DIVX -s $med_res \
                        -aspect $aspect -b 500$kilo -acodec "$acodec" -ar 32000 -ab 64$audio_kilo -y "$file".avi ;;
                "4" )   ffmpeg -threads $threads -f dv -i pipe: $hq $progressive -r 12 -g 120 -vtag DIVX -s $low_res \
                        -aspect $aspect -b 96$kilo -acodec "$acodec" -ac 1 -ar 22050 -ab 32$audio_kilo -y "$file".avi ;;
        esac

Vous pouvez très facilement adapter ou créer un profil particulier

FFMPEG supporte les options suivantes
-b bitrate vidéo
-acodec mp3 -ab bitrate audio mp3
-s taille de l'image

Pour le reste reportez vous à la doc de ffmpeg (man).

Recommencez la compilation de kino...

Utilisation

Voilà ce que ça donne en tapant maintenant

kino

Mode Acquisition


Voilà pour la configuration (Menu Editions->Préférences). Onglet IEEE 1394. Je me suis contenté de charger le module raw1394 par défaut kino utilise maintenant libiec61883 au lieu de dv1394, si vous avez néanmoins des soucis d'export vers le caméscope, vous pouvez toujours compiler kino avec l'option --with-dv1394


Onglet de configuration Acquisition pour définir le format des fichiers à manipuler (éviter DV type 1 non lisible par aviplay ou MPlayer, par défaut c'est le DV brut qui est actif).  Vous pouvez décocher la case Auto Séparation des fichiers si vous ne voulez pas que Kino crée un fichier pour chaque scène (cette option est néanmoins intéressante pour le DVD authoring pour créer un chapitre pour chaque scène)


On sort des pages de configuration. Onglet Montage pour monter sa vidéo.  Pour avoir une idée plus poussée du montage avec kino, voir la page correspondante.


Onglet Timeline

Onglet Découper



L'onglet Effets pour gérer les transitions entre les scènes.



Export vers un fichier MPEG. On a le choix entre les codecs suivants generic MPEG1, standard VCD, VCD,  generic MPEG2, standard SVCD, user SVCD et DVD, à noter la possibilité de création d'un xml pour le dvdauthoring. L'export au format divx au format  se fait à partir de l'onglet Autre,


Export vers autres formats, on  a le choix vers différents formats compatibles MPEG-4 avec les encodeurs mencoder ou ffmpeg



Et celui d'exportation vers le caméscope DV (onglet Export puis IEEE1394)


Export d'une vidéo "montée" vers le caméscope DV qui fait ainsi office de magnétoscope numérique. Pour mon caméscope Canon, j'ai du me placer en mode Lecture, pour accepter le flux vidéo. L'exportation ne marche que si vous avez une carte ieee1394 compatible OHCI.

Dernière précision au niveau de la barre de menu principal, Fichier à ouvrir, Kino n'accepte que les fichiers au format DV (enregistrés avec dvgrab par exemple) et Quicktime.

Utilisation de kino

Maintenant passez à la page kino qui vous présente plus en détail l'utilisation de kino.

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.1.tar.gz

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

./configure --with-libavcodec

voilà le résultat

Synfig Core v.0.64.1
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: In function 'AVFrame* alloc_picture(int, int, int)':
trgt_av.cpp:124:53: error: invalid conversion from 'int' to 'AVPixelFormat' [-fpermissive]

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:349: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, dictionary) < 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:574: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:661:41: error: 'URL_WRONLY' was not declared in this scope
trgt_av.cpp:661:51: error: 'url_fopen' was not declared in this scope
trgt_av.cpp:682: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

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.1.tar.gz

Cela donne le répertoire synfigstudio-0.64.1 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.



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.X de Python (c'est le cas de la Mageia4), dans ce cas on se contentera d'installer le package python3-devel. Maintenant on revient à l'archive de blender qu'on décompresse en tapant

tar xvfz blender-2.69.tar.gz

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

python scons/scons.py

puis en tant que root

python scons/scons.py install

[Retour page d'accueil FUNIX]