[ 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 2 février 2013

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

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 le package  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.8.8.tar.gz

cela donne le répertoire mlt-0.8.8 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.8.8/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.4.tar.gz

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

mkdir build;cd build
cmake ..

puis

make

puis en tant que root

make install

[Retour haut de la page]

Utilisation

Voici kdenlive lancé avec un projet de montage


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


[Retour haut de la page]

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. Le site officiel est http://lives.sourceforge.net/ on y récupère l'archive qu'on décompresse en tapant

tar xvfj LiVES-1.8.0.tar.bz2

Cela donne le répertoire lives-1.8.0 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

[Retour haut de la page]

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.


[Retour haut de la page]

Cinelerra

Installation

On installera d'abord le package lib64xv1-devel. On récupérera ensuite cinelerra à l'URL http://heroinewarrior.com on décompresse l'archive en tapant

tar xvf cinelerra-4.4.src.tar.xz

Cela donne le répertoire cinelerra-4.4 on doit installer en tant que root les packages 

texinfo
yasm

on tape ensuite

./configure
make

si vous avez une erreur du style

make[2]: ***  Aucune règle pour fabriquer la cible « x86_64/ogg/ », nécessaire pour « x86_64/libquicktime.a ». Arrêt.

il faudra éditer le fichier quicktime/Makefile et supprimer le / après $(OGG_LIB) de la ligne 265 comme ceci

$(OUTPUT): $(OBJS) $(FFMPEG_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(LAME_OBJS) $(FAAD_LIB) $(FAAC_LIB) $(FFMPEG_LIB) $(X264_LIB) $(DV_LIB) $(JPEG_LIB) $(OGG_LIB) $(VORBIS_LIB)

on retape make

je rencontre l'erreur suivante

gcc -O3 -Wall -o ch_lab ch_lab_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -ltermcap -ldl -lm -lstdc++ -lgcc
/usr/bin/ld: cannot find -ltermcap

on va dans le répertoire thirdparty/speech_tools/main et on tape successivement

gcc -O3 -Wall -o ch_lab ch_lab_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ch_track ch_track_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ch_wave ch_wave_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o na_play na_play_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o na_record na_record_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o sigfilter sigfilter_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o sig2fv sig2fv_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o spectgen spectgen_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o pda pda_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o pitchmark pitchmark_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ngram_test ngram_test_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ngram_build ngram_build_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o tilt_synthesis tilt_synthesis_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o tilt_analysis tilt_analysis_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o viterbi viterbi_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o dp dp_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o bcat bcat_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ch_utt ch_utt_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o fringe_client fringe_client_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o design_filter design_filter_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o align align_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o siod siod_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o wagon wagon_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o wagon_test wagon_test_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o scfg_make scfg_make_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o scfg_train scfg_train_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o scfg_test scfg_test_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o scfg_parse scfg_parse_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o wfst_build wfst_build_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o wfst_run wfst_run_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o wfst_train wfst_train_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ols ols_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o ols_test ols_test_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall -o xml_parser xml_parser_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc

on va dans le répertoire thirdparty/speech_tools/testsuite et on tape successivement

gcc  -fno-implicit-templates  -O3 -Wall    -o xml_example xml_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o string_example string_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o hash_example hash_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o pathname_example pathname_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o track_example track_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o token_example token_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o complex_example complex_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o list_example list_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o kvl_example kvl_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o matrix_example matrix_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o handle_example handle_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o named_enum_example named_enum_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o deq_example deq_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o ling_example ling_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o feature_example feature_example.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o xml_regression xml_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o string_regression string_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o hash_regression hash_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o pathname_regression pathname_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o track_regression track_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o token_regression token_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o complex_regression complex_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o list_regression list_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o kvl_regression kvl_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o matrix_regression matrix_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o handle_regression handle_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring  -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o named_enum_regression named_enum_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o deq_regression deq_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o ling_regression ling_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc  -fno-implicit-templates  -O3 -Wall    -o feature_regression feature_regression.o    -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc

on va maintenant dans le répertoire thirdparty/festival/src/main/ et on tape successivement

gcc -O3 -Wall     -o festival festival_main.o   -L../../src/lib -lFestival -L../../../speech_tools/lib -lestools -L../../../speech_tools/lib -lestbase -L../../../speech_tools/lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall     -o festival_client festival_client.o   -L../../src/lib -lFestival -L../../../speech_tools/lib -lestools -L../../../speech_tools/lib -lestbase -L../../../speech_tools/lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc
gcc -O3 -Wall     -o ../../lib/etc/unknown_RedHatLinux/audsp audsp.o   -L../../src/lib -lFestival -L../../../speech_tools/lib -lestools -L../../../speech_tools/lib -lestbase -L../../../speech_tools/lib -leststring -lncurses -ldl -lm -lstdc++ -lgcc

on revient sous cinelerra-4.4 et 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/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.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

Maintenant si vous avez des problèmes d'accents, pour une mandriva il faudra ouvrir le centre de contrôle, puis système, Gérer les paramètres locaux de votre système, Avancé et cochez Compatibilité encodage ancien et relancer l'interface graphique. Par contre ça a des effets collatéraux c'est une solution provisoire le temps d'utiliser cinelerra, je suis encore à la recherche d'une solution pérenne.

[Retour haut de la page]

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.

[Retour haut de la page]

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 les packages inkscape, blender 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...

[Retour haut de la page]

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.

[Retour haut de la page]

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

Cela donne le répertoire ETL-0.04.15 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 lib64xml++2.6-devel , lib64graphicsmagick-devel, lib64mng-devel j'ai du créer également les liens suivants

ln -s /usr/include/GraphicsMagick/Magick++.h /usr/include/
ln -s /usr/include/GraphicsMagick/Magick++ /usr/include/
ln -s /usr/include/GraphicsMagick/magick/ /usr/include/

puis on décompresse la deuxième bibliothèque en tapant

tar xvfz synfig-0.63.05.tar.gz

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

./configure --with-libavcodec
make

Je rencontre l'erreur suivante

trgt_magickpp.cpp: In function 'MagickLib::Image* copy_image_list(Container&)':
trgt_magickpp.cpp:69:54: error: expected unqualified-id before numeric constant
trgt_magickpp.cpp: In destructor 'virtual magickpp_trgt::~magickpp_trgt()':
trgt_magickpp.cpp:104:44: error: expected unqualified-id before numeric constant

malheureusement à part désactiver magick++ (configure --without-magickpp) je n'ai pas trouvé encore d'autres solutionspuis 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 le package suivant lib64gtkmm2.4-devel on décompresse ensuite l'archive en tapant

tar xvfz synfigstudio-0.63.05.tar.gz

Cela donne le répertoire synfigstudio-0.63.05 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).
[Retour haut de la page]

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

[Retour haut de la 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, lib64freealut-devel, lib64openal-devel, lib64fftw-devel et libgomp-devel. A noter qu'il faudra installer la version 0.10 de ffmpeg et non la version en développement. Il faut disposer d'une version 3.2.X de Python (c'est le cas de la Mageia2), dans ce cas on se contentera d'installer le package python3-devel. A défaut il faudra installer la version 3.2 de python qu'on récupèrera sur le site http://python.org on décompress l'archive en tapant

tar xvfj Python-3.2.3.tar.bz2

Cela donne le répertoire Python-3.2.3 dans lequel on tape

./configure
make

puis en tant que root

make install

on crée également le lien suivant

ln -s /usr/local/include/python3.2m/ /usr/include/
ln -s
/usr/local/lib/python3.2 /usr/lib

J'ai du également créer le lien suivant

ln -s /usr/include/python3.2mu/ /usr/include/python3.3m

Maintenant on revient à l'archive de blender qu'on décompresse en tapant

tar xvfz blender-2.65.tar.gz

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

python scons/scons.py

pour corriger l'erreur suivante

source/blender/blenkernel/intern/writeffmpeg.c:40:28: erreur fatale: libavcodec/opt.h : Aucun fichier ou dossier de ce type

j'ai du en tant que root créer le lien suivant

/usr/local/include/libavutil/opt.h /usr/local/include/libavcodec/

pour la même raison je crée également les liens suivants

ln -s /usr/local/include/libavutil/rational.h /usr/local/include/libavcodec/
ln -s /usr/local/include/libavutil/avutil.h /usr/local/include/libavcodec/
ln -s /usr/local/include/libavutil/dict.h /usr/local/include/libavcodec/
ln -s /usr/local/include/libavutil/log.h /usr/local/include/libavcodec/

Je relance la compilation, puis à présent en tant que root, il faudra créer les liens suivants.

ln -s /usr/local/linux/multimedia/install/linux/blender /usr/local/bin
ln -s /usr/local/linux/multimedia/install/linux/blenderplayer /usr/local/bin

[Retour page d'accueil FUNIX]