FUNIX

Mettez un manchot dans votre PC



Bibliothèques de base en vidéo


Les outils de base pour la vidéo

Dernière modification 7 mars 2014

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



Présentation

Les outils présentés dans cette page sont nécessaires pour le fonctionnement de la plupart des interfaces graphiques traitant de la vidéo, que ce soit des outils pour l'acquisition, le montage, la conversion et tout simplement la lecture vidéo.
Notez bien que j'ai pris le parti de présenter l'installation de ces outils à partir des sources pour pouvoir m'adapter à toutes les distributions linux (et accessoirement pour avoir un code optimisé et pouvoir choisir éventuellement mes options de compilation). La plupart des distributions proposent déjà ces outils en packages précompilés, libre à vous d'utiliser votre "package manager" préféré (urpmi, apt-get, ...) pour les installer. Cette remarque est valable pour toutes les autres pages traitant de la vidéo.
Vous devez suivre l'ordre d'installation des différents softs, notez qu'il sera nécessaire de basculer sur la page configuration de l'ieee1394 juste avant l'installation de libquicktime.

Installation de codecs et outils audio

Ogg vorbis

Présentation

Ogg Vorbis est un nouveau format de compression audio. Il est comparable à d'autres formats équivalents comme le MP3, VQF ou AAC à la différence qu'il est complètement libre. Il est généralement considéré comme plus performant que MP3. Ogg  est en fait le nom d'un conteneur qui peut contenir aussi bien de l'audio que de la vidéo, alors que vorbis est l'algorithme de compression utilisé pour l'audio inclu dans un conteneur ogg. Notez bien que le conteneur ogg peut contenir de l'audio qui utilise un moyen de compression différent du vorbis (FLAC par exemple).
Le site officiel de Ogg Vorbis est  http://www.vorbis.com/  on y récupèrera les bibliothèques libogg et libvorbis ainsi que la bibliothèque audio libao. Cette dernière bibliothèque permet de gérer la sortie audio au travers de diverses plateformes logicielles ou matérielles (OSS, ESD, ALSA, AIX, Sun, Net/OpenBSD, IRIX, ...).

Installation

On décompresse la première archive en tapant

tar xvfz libao-1.1.0.tar.gz

Cela donne le répertoire libao-1.1.0. On veillera à ce que les packages lib64xorg-x11-devel, (lib64x11-devel sous mageia 4), lib64alsa2-devel et pulseaudio-devel soient installés (libarts1-dev uniquement sous ubuntu), on tape maintenant successivement

./configure
make

Puis en tant que root

make install

Dans le fichier /etc/ld.so.conf on rajoutera les lignes suivantes (si ce n'est déjà fait)

/usr/local/lib
/usr/local/lib/ao/plugins-4

On tape alors

ldconfig

Passons à libogg, on décompresse l'archive en tapant

tar xvfz libogg-1.3.1.tar.gz

Cela donne le répertoire libogg-1.3.1 dans lequel on tape successivement

./configure
make

Puis en tant que root

make install

Passons à libvorbis, on décompresse l'archive en tapant

tar xvf libvorbis-1.3.4.tar.xz

Cela donne le répertoire libvorbis-1.3.4 dans lequel on tape successivement

./configure
make

puis en tant que root

make install
ldconfig


Installation de FLAC

FLAC (Free Lossless Audio Codec) est une algorithme de compression qui est similaire au MP3 à la différence que la compression s'effectue sans perte de qualité. Son site officiel est http://flac.sourceforge.net/ on y récupérera l'archive qu'on décompresse en tapant:

tar xvf flac-1.3.0.tar.xz

Cela donne le répertoire flac-1.3.0 à noter que si voulez que xmms ait le support FLAC vous devez installer le package xmms-devel. Dans le répertoire de flac on tape

./configure
make

puis en tant que root

make install

Vérifiez que la ligne /usr/local/lib soit bien dans le fichier /etc/ld.so.conf puis tapez

ldconfig


[Retour haut de la page ]

Installation de LAME

LAME qui signifie Ain't an MP3 Encoder se trouve à l'URL http://www.mp3dev.org et plus précisément ici http://sourceforge.net/projects/lame/ . Comme son nom l'indique c'est un encodeur MP3, il est utilisé notamment par les logiciels pour construire des avi (avec une piste audio en mp3).

On décompresse le tarball en tapant :

tar xvfz  lame-3.99.5.tar.gz

Cela donne le répertoire lame-3.99.5 dans lequel on tape successivement

./configure
make

Puis en tant que root

make install

Installation de a52dec

La bibliothèque a52 fournit des fonctions pour décoder du flux A/52. Kezako flux A/52 ? C'est le flux audio utilisé par le DVD, il est connu aussi sous le terme AC-3, vous trouverez davantage d'informations dans ce document http://www.atsc.org/standards/a_52a.pdf. Cette bibliothèque est nécessaire pour pouvoir lire les DVD.
L'URL officiel est http://liba52.sourceforge.net/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz a52dec-0.7.4.tar.gz

Cela donne le répertoire a52dec-0.7.4 dans lequel on tape

./configure --with-pic --enable-shared --disable-static

Les options --with-pic --enable-shared --disable-static sont utiles en mode 64bits pour la compilation de ffmpeg et transcode et ce n'est pas suffisant, il faut éditer tous les fichiers Makefile et à la place de

CC = gcc

on rajoute

CC = gcc -fPIC

on tape make puis en tant que root

make install
ldconfig



Installation de faad

Faad est un codec audio compatible AAC (Advanced Audio Coding). l'AAC est un format de compression audio comparable à MP3, qui a été développé dans le cadre du standard MPEG2 puis MPEG4, il se pose comme le successeur du MP3 qui a été développé auparavant pour le MPEG2. Les oreilles fines pourront noter qu'un fichier AAC codé à 96kbps a une qualité sonore meilleure qu'un fichier mp3 codé à 128 kbps. L'URL officiel est http://sourceforge.net/projects/faac on y récupèrera l'archive qu'on décompresse en tapant

tar xvfj faad2-2.7.tar.bz2


Cela donne le répertoire faad2-2.7 dans lequel on tape

./configure  --with-drm
make

et enfin en tant que root

make install
ldconfig

Installation de faac

La bibliothèque FAAC fournit des encodeurs MPEG-4 and MPEG-2 AAC. Le site officiel est http://www.audiocoding.com/faac.html on y récupère l'archive qu'on décompresse en tapant

tar xvfj faac-1.28.tar.bz2

cela donne le répertoire faac-1.28 dans lequel on tape

./configure
make

je bute sur l'erreur suivante

mpeg4ip.h:126: erreur: new declaration ‘char* strcasestr(const char*, const char*)’

Pour la résoudre il suffit d'éditer le fichier  ./common/mp4v2/mpeg4ip.h et de supprimer la ligne suivante

char *strcasestr(const char *haystack, const char *needle);

on retape make et enfin en tant que root

make install
ldconfig

Installation de sox

On installera également sox qui sert à convertir différents format audio, le site officiel est http://sox.sourceforge.net/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz sox-14.4.1.tar.gz

cela donne le répertoire sox-14.4.1 préalablement on installera les packages suivants  lib64id3tag-devel, lib64png-devel et lib64ltdl-devel on revient au répertoire de sox dans lequel on tape successivement

./configure
make

puis en tant que root

make install

Installation de aacplus

AAC+ est un code audio, le site officiel est http://tipok.org.ua/ru/node/17 on y récupère l'archive qu'on décompresse en tapant

tar xvfz libaacplus-2.0.2.tar.gz

cela donen le répertoire libaacplus-2.0.2 dans lequel on tape

./autogen.sh

si vous rencontrez l'erreur suivante

I am going to run ./configure with no arguments - if you wish
to pass any to it, please specify them on the ./autogen.sh command line.
Generating configuration files for libaacplus, please wait....
  aclocal
configure.ac:8: error: 'AM_CONFIG_HEADER': this macro is obsolete.
    You should use the 'AC_CONFIG_HEADERS' macro instead.

il suffit d'éditer le fichier configure.ac et au lieu de AM_CONFIG_HEADER(config.h) on remplace par AC_CONFIG_HEADERS(config.h) on retape autogen.sh puis make
puis en tant que root

make install

Installation de vo-aacenc

Cette bibliothèque intégre une implémentation du codec audio AAC (Advanced Audio Coding). Le site officiel est http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz vo-aacenc-0.1.3.tar.gz

Cela donne le répertoire vo-aacenc-0.1.3 dans lequel on tape

./configure
make

puis en tant que root

make install

Installation de codecs et outils vidéo

Installation de xvid

xvid est un codec compatible MPEG4 comme DivX à la différence qu'il est complètement libre. Le site officiel est www.xvid.org, on récupère la dernière archive stable qu'on décompresse en tapant

tar xvfz xvidcore-1.3.2.tar.gz

Cela donne le répertoire xvidcore. On veillera à ce que le package nasm soit installé. Au niveau de xvidcore/build/generic on tape

./configure

Puis

make

Puis en tant que root

make install

tapez ensuite ldconfig

[Retour haut de la page ]

Installation de Theora

Theora est codec vidéo complètement libre qui est développé par la fondation xiph.org (les mêmes qui font Ogg), il intègre un codec vidéo VP3, le codec audio Ogg Vorbis et un conteneur multimedia Ogg. Le site officiel  http://www.theora.org/ on y récupérera l'archive qu'on décompresse en tapant

tar xvfz libtheora-1.1.1.tar.gz

Cela donne le répertoire libtheora-1.1.1. Vous devez préalablement installer le package lib64SDL-devel (un petit urpmi devrait suffire ou apt-get install libSDL-dev sous ubuntu). Revenons au répertoire libtheora-1.1.1 on y tape successivement

./configure

Puis make sur la mageia 4 je bute sur l'erreur suivante

png2theora-png2theora.o: In function `png_read':
png2theora.c:(.text+0x251): undefined reference to `png_sizeof'
png2theora.c:(.text+0x277): undefined reference to `png_sizeof'

il faut éditer le fichier examples/png2theora.c et aux lignes

 3*height*width*png_sizeof(*row_data));

 height*png_sizeof(*row_pointers));

remplacer png_sizeof par sizeof. On retape make puis en tant que root

make install
ldconfig


Installation de libx264

libx264 est une bibliothèque permettant d'encoder du flux vidéo dans le format  H.264/MPEG-4 AVC on récupère l'archive par ici http://www.videolan.org/developers/x264.html on la décompresse en tapant

tar xvfj last_x264.tar.bz2

cela donne le répertoire x264-snapshot-20140306-2245 dans lequel on tape

./configure --enable-pic --enable-shared
make

il faudra sans doute installer préalablement yasm. A noter que les options --enable-pic --enable-shared  sont utiles pour les configurations 64bits pour compiler ffmpeg.

puis en tant que root

make install

ldconfig
 

Installation de mpeg2dec

mpeg2dec est un décodeur vidéo compatible MPEG2, son site officiel est http://libmpeg2.sf.net dans lequel on récupère l'archive qu'on décompresse en tapant

tar xvfz mpeg2dec-0.4.1.tar.gz

Cela donne le répertoire mpeg2dec-0.4.1 on installe ensuite le package lib64xv-devel puis on tape successivement

./configure --with-pic

l'option with-pic est nécessaire pour la compilation pour les plateformes 64 bits, mais ce n'est pas suffisant il faudra éditer tous les Makefile et au lieu de

CC = gcc

mettre

CC = gcc -fPIC

on tape make puis en tant que root

make install
ldconfig

Installation de gmerlin

gmerlin est un ensemble de bibliothèques et d'applications multimédia utilisé par des outils de plus haut niveau. on aura installé préalablement les packages lib64cdio-devel, lib64tiff-devel, lib64xtst-devel, texinfo, fontconfig-devel, lib64gtk+2.0-devel, lib64cddb-devel et doxygen. Le site officiel est http://gmerlin.sourceforge.net/ on y récupère l'archive officiel qu'on désarchive en tapant

tar xvfz gmerlin-all-in-one-20120608.tar.bz2

cela donne le répertoire gmerlin-all-in-one-20120608 dans lequel on tape en tant que root

./buildall.sh

si vous butez sur l'erreur suivante

/usr/bin/ld: visualize_slave.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlclose@@GLIBC_2.2.5' is defined in DSO /lib64/libdl.so.2 so try adding it to the linker command line

il faut laisser tomber le script d'installation globale et faire une installation unitaire. On ira d'abord sous le répertoire gavl et décompresser l'archive qui s'y trouve

tar xvfz gavl-1.4.0.tar.gz

cela donne le répertoire gavl-1.4.0 dans lequel on tape

./configure
make

puis en tant que root

make install
ldconfig

on va ensuite dans le répertoire gmerlin on y décompresse l'archive

tar xvfz gmerlin-1.2.0.tar.gz

cela donne le répertoire gmerlin-1.2.0 dans lequel on tape

./autogen.sh

si vous avez l'erreur suivante

configure.ac:5: error: 'AM_CONFIG_HEADER': this macro is obsolete.
    You should use the 'AC_CONFIG_HEADERS' macro instead.

éditez le fichier configure.ac et remplacez la ligne

AM_CONFIG_HEADER(include/config.h)

par

AC_CONFIG_HEADERS(include/config.h)

on retape ./autogen.sh puis ./configure

s'il ne trouve pas gavl il faudra sans doute taper dans le shell

export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig

on retape make puis en tant que root

make install
ldconfig

on entre maintenant dans le répertoire gmerlin_avdecoder on décompresse l'archive en tapant

tar xvfz gmerlin-avdecoder-1.2.0.tar.gz

cela donne le répertoire gmerlin-avdecoder-1.2.0 dans lequel on tape

./configure
make

si vous rencontrez l'erreur suivante

demux_ffmpeg.c:212:16: erreur: field ‘id’ has incomplete type
demux_ffmpeg.c:350:16: erreur: field ‘id’ has incomplete type

il faut éditer le fichier suivant

./gmerlin-avdecoder-1.2.0/lib/demux_ffmpeg.c

et aux lignes 212 et 350 remplacez CodecID par AVCodecID on retape make, et on retombe à nouveau sur ce message d'erreur

audio_ffmpeg.c:102:16: erreur: field ‘ffmpeg_id’ has incomplete type
audio_ffmpeg.c: In function ‘bgav_init_audio_decoders_ffmpeg’:
audio_ffmpeg.c:940:5: erreur: incompatible type for argument 1 of ‘avcodec_find_decoder’

on fera de même pour les fichiers suivants, il faut remplacer les occurences de CodecID par AVCodecID

./gmerlin-avdecoder-1.2.0/lib/audio_ffmpeg.c
./gmerlin-avdecoder-1.2.0/lib/video_ffmpeg.c

puis en tant que root

make install

on va procéder de même pour les répertoires (en respectant l'ordre) gmerlin_effectv, gmerlin_encoders. On entre dans le répertoire gmerlin_effectv et on extrait l'archive en tapant

tar xvfz gmerlin-effectv-1.2.0.tar.gz

cela donne le répertoire gmerlin-effectv-1.2.0 dans lequel on tape

./configure
make

puis en tant que root

make install

On entre maintenant dans le répertoire gmerlin_encoders et on extrait l'archive en tapant

tar xvfz gmerlin-encoders-1.2.0.tar.gz

cela donne le répertorie gmerlin-encoders-1.2.0 dans lequel on tape

./configure
make

je bute sur l'erreur suivante

ffmpeg_common.h:60:16: erreur: field ‘id’ has incomplete type

il faut éditer le fichier ./plugins/ffmpeg/ffmpeg_common.h et à la ligne 60 remplacer CodecID par AVCodecID, on fera de même pour les fichiers

./plugins/ffmpeg/e_ffmpeg_video.c
./plugins/ffmpeg/ffmpeg_common.c
./plugins/ffmpeg/ffmpeg_common.h
./plugins/ffmpeg/e_ffmpeg_audio.c
./plugins/ffmpeg/e_ffmpeg.c
./plugins/ffmpeg/codecs.c

il reste à régler cette erreur sur le dernier fichier

codecs.c: In function ‘bg_ffmpeg_set_codec_parameter’:
codecs.c:933:3: erreur: ‘AVCodecContext’ has no member named ‘luma_elim_threshold’
codecs.c:934:3: erreur: ‘AVCodecContext’ has no member named ‘chroma_elim_threshold’
codecs.c:972:3: erreur: ‘AVCodecContext’ has no member named ‘inter_threshold’
codecs.c:973:3: erreur: ‘AVCodecContext’ has no member named ‘quantizer_noise_shaping’
codecs.c:1002:3: erreur: ‘CODEC_FLAG_CBP_RD’ undeclared (first use in this function)

j'ai mis en commentaires les lignes 933, 934, 972, 973 1002, 1003 et 1010 puis en tant que root

make install

on rentre maintenant dans le répertoire lemuria et on tape

tar xvfz lemuria-2.1.0.tar.gz

cela donne le répertoire lemuria-2.1.0 dans lequel on tape

./configure
make

puis en tant que root

make install

On rajoutera la ligne /usr/local/lib/gmerlin/plugins dans le fichier /etc/ld.so.conf et on tapera ldconfig.


Installation de swfdec

A présent on récupérera swfdec qui est un décodeur pour les animations de Macromedia Flash. Le site officiel est http://swfdec.freedesktop.org/wiki/. On installera préalablement les packages suivants lib64soup-devel, lib64gdk_pixbuf2.0-devel, lib64png-devel et lib64oil-devel. A noter que gstreamer et gst-plugins-base doivent être installés avant. On récupère l'archive qu'on décompresse en tapant

tar xvfz swfdec-0.9.2.tar.gz

Cela donne le répertoire swfdec-0.9.2 dans lequel on tape successivement

./configure LDFLAGS="-L/usr/lib64" --disable-gstreamer

j'ai du rajouter l'option --disable-gstreamer  car swfdec n'est pas compatible avec la version 1.0 mais ne compile qu'avec la version 0.10, on tape maintenant

make

si vous rencontrez l'erreur suivante

/usr/include/gtk-2.0/gdk/gdkpixbuf.h:37:35: erreur fatale: gdk-pixbuf/gdk-pixbuf.h : Aucun fichier ou dossier de ce type

on édite le fichier swfdec-gtk/Makefile et on rajoute à la fin de la ligne -I/usr/include/gdk-pixbuf-2.0 comme ceci

GTK_CFLAGS = -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2  -I/usr/include/gdk-pixbuf-2.0

on fait de même pour player/Makefile

on revient dans le répertoire swfdec-0.9.2 on retape make puis en tant que root

make install

Libfame

Libfame est une bibliothèque pour encoder du MPEG1 et du MPEG4. L'URL officiel est http://fame.sourceforge.net/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz libfame-0.9.1.tar.gz

Cela donne le répertoire libfame-0.9.1 dans lequel on édite le fichier src/half_mmx.h au lieu de

static short const _mmx_one[] = { 1, 1, 1, 1 };

On écrit

const _mmx_one[] = { 1, 1, 1, 1 };

De même dans le fichier src/half_sse.h au lieu de

static short const _mmx_one[] = { 1, 1, 1, 1 };

On écrit

const _mmx_one[] = { 1, 1, 1, 1 };

Ces modifications sont nécessaires pour pouvoir compiler transcode. On tape maintenant

./configure

sur une configuration 64bits si vous obtenez l'erreur suivante

checking build system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
configure: error: /bin/sh ./config.sub x86_64-unknown-linux-gnu failed

Il suffit d'écraser les fichiers suivants dans le répertoire

cp /usr/share/libtool/config/config.guess .
cp /usr/share/libtool/config/config.sub .

on retape ./configure puis

make


Puis en tant que root

make install


Installation de codecs et outils multimedia

Installation d'OpenCV

OpenCV qui veut dire Open Source Computer Vision library est une bilbiothèque qui fournit 500 algorithmes, documentation et divers code d'affichage. Le site officiel est  http://opencvlibrary.sourceforge.net/ on y récupère l'archive officiel qu'on désarchive en tapant

tar xvfz opencv-2.4.8.tar.gz

cela donne le répertoire opencv-2.4.8 dans le quel on tape

mkdir build;cd build
cmake ..
make

puis en tant que root

make install

Installation de frei0r

Maintenant on va récupérer la bibliothèque frei0r qui fournit une API vidéo qui est utile pour les effets vidéo pour les logiciels de montage vidéo, le site officiel est http://www.dyne.org/software/frei0r/. Comme la dernière release est un peu vieille, j'ai installé la dernière version instable, on la décompresse en tapant

tar xvfz frei0r-plugins-1.4.tar.gz


cela donne le répertoire frei0r-plugins-1.4 dans lequel on tape successivement

./configure

cela donne

Compile frei0r-plugins 1.3.0 for x86_64-unknown-linux-gnu

    - INSTALL prefix: /usr/local
    - CPU optimization: YES
    - opencv: YES
              data dir:
    - gavl: YES
    - cairo: YES

Now you can run make.

on tape ensuite

make

puis en tant que root

make install



Installation de ffmpeg

Si vous disposez d'une entrée firewire, vous devez d'abord installer les outils de base pour piloter un caméscope miniDV compatible ieee1394, c'est par ici.

ffmpeg
est un codec vidéo compatible MPEG-4 son site officiel est http://ffmpeg.org/download.html , j'ai choisi d'installer la version en développement mais vous pouvez également installer les releases qui sont proposés sur le site depuis peu.
Vous pouvez récupérer la dernière version ffmpeg-2.1.4.tar.gz qui donnera le répertoire ffmpeg-2.1.4 ou bien encore la version de développement en tapant

git clone git://git.videolan.org/ffmpeg.git ffmpeg

en ayant préalablement installé git cela donne le répertoire ffmpeg. Dans les deux cas on tape

./configure --enable-shared --enable-gpl --enable-nonfree --enable-postproc --enable-libmp3lame  --enable-libtheora --enable-libvorbis --enable-libxvid  --enable-libx264 --enable-libfaac --enable-nonfree --enable-frei0r  --enable-libpulse --enable-libopencv  --enable-x11grab  --enable-libaacplus --enable-libvo-aacenc --enable-version3 --enable-libdc1394

on tape make puis en tant que root

make install
ldconfig

Vous remplacez le chemin en absolu de ffmpeg avec celui de votre configuration. On obtient la liste des formats supportés par ffmpeg en tapant

ffmpeg -formats


Installation de libquicktime

Si vous disposez d'une entrée firewire, vous devez d'abord installer les outils de base pour piloter un caméscope miniDV compatible ieee1394, c'est par ici.

C'est un codec vidéo quicktime (compatible MPEG4) Il se trouve sur le site libquicktime.sourceforge.net il remplace quicktime4linux qu'on peut trouver notamment sur le même site que mjpegtools. On décompresse l'archive en tapant

tar xvfz libquicktime-1.2.4.tar.gz

Cela donne le répertoire libquicktime-1.2.4. Préalablement veillez à installer pour une Mandriva les packages doxygen, lib64jpeg-devel, lib64gtk+2.0-devel et lib64MesaGL1  (libasound2-dev libjpeg-dev libxaw-headers libxaw6 libxv-dev et libgtk2.0-dev pour une ubuntu). Dans le répertoire de libquicktime on tape maintenant 

./configure  --with-libdv

voilà le résultat

Configuration:
libdv:        Yes
vorbis:       Yes
lame:         Yes
libjpeg:      Yes
libpng:       Yes
schroedinger: Missing (Go to http://www.diracvideo.org)
libavcodec:   Yes
libswscale:   Yes
gtk >= 2.4.0: Yes
Alsa          Yes
GPL plugins   Disabled

si certaines biblio ne sont pas installées alors que vous savez qu'elles le sont pensez à rajouter la ligne suivante dans  votre fichier ~/.bashrc

export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig

on tape maintenant

make

je bute sur l'erreur suivante

audio.c:518:31: erreur: ‘AVCODEC_MAX_AUDIO_FRAME_SIZE’ undeclared (first use in this function)

j'édite le fichier ./plugins/ffmpeg/audio.c et au lieu de

  new_samples = num_samples + AVCODEC_MAX_AUDIO_FRAME_SIZE / (2 * track_map->channels);

j'écris

  new_samples = num_samples + 192000 / (2 * track_map->channels);

je retape make et je tombe sur l'erreur suivante

params.c: In function ‘lqt_ffmpeg_set_parameter’:
params.c:205:3: erreur: ‘AVCodecContext’ has no member named ‘luma_elim_threshold’
params.c:206:3: erreur: ‘AVCodecContext’ has no member named ‘chroma_elim_threshold’
params.c:244:3: erreur: ‘AVCodecContext’ has no member named ‘inter_threshold’
params.c:245:3: erreur: ‘AVCodecContext’ has no member named ‘quantizer_noise_shaping’
params.c:275:3: erreur: ‘CODEC_FLAG_CBP_RD’ undeclared (first use in this function)

il faut éditer le fichier ./plugins/ffmpeg/params.c et on met en commentaire les lignes 205, 206, 244, 245, 275, 276 et 291

puis en tant que root

make install

Dans le fichier /etc/ld.so.conf on rajoute à la fin

/usr/local/lib/libquicktime

Puis on tape

ldconfig

[Retour haut de la page ]

Installation de mjpegtools

mjpegtools offre un certain nombre d'outils permettant d'enregistrer et de visualiser de la vidéo, ils permettent également de faire du montage vidéo en ligne de commande (!). L'URL officiel est mjpeg.sourceforge.net. On installera préalablement le package lib64jpeg-devel. On décompresse l'archive en tapant

tar xvfj mjpegtools-2.1.0.tar.bz2

Cela donne le répertoire mjpegtools-2.1.0 dans lequel on tape

./configure

Voilà le résultat de la commande

configure:  MJPEG tools 2.1.0 build configuration :
configure:
configure:   - X86 Optimizations:
configure:     - MMX/3DNow!/SSE enabled      : true
configure:   - arch/cpu compiler flags       : -march=core2 -mtune=core2
configure:   - video4linux recording/playback: false
configure:   - software MJPEG playback       : true
configure:   - Quicktime playback/recording  : true
configure:   - PNG input support             : true
configure:   - AVI MJPEG playback/recording  : true (always)
configure:   - libDV (digital video) support : true
configure:   - Gtk+ support for glav         : true

on tape make puis en tant que root

make install

Vérifiez bien que la ligne /usr/local/lib existe bien dans le fichier /etc/ld.so.conf, si ce n'est pas le cas rajoutez la puis tapez

ldconfig

A noter l'excellente aide en ligne à cet endroit https://sourceforge.net/docman/display_doc.php?docid=3456&group_id=5776

Bibliothèques pour visioconférence

Installation de gstreamer

gstreamer est une bibliothèque de gestion globale du son et de l'image de haut niveau. Le site officiel est  http://gstreamer.freedesktop.org/src/gstreamer/ on y récupère la dernière version qu'on décompresse en tapant

tar xvf gstreamer-1.2.3.tar.xz

cela donne le répertoire gstreamer-1.2.3 dans lequel on tape

./configure
make

puis en tant que root

make install

on rajoutera dans le fichier /etc/ld.so.conf la ligne suivante

/usr/local/lib/gstreamer-1.0

puis on tape ldconfig

farsight

farsight est une bibliothèque pour gérer les protocoles audio/vidéo utilisés pour les visioconférences. Préalablement on a besoin d'installer tout une série de bibliothèques logicielles.

On a besoin maintenant de différents plugins de gstreamer. On récupère le premier sur le site http://gstreamer.freedesktop.org/src/gst-plugins-base/ on le décompresse en tapant

tar xvf gst-plugins-base-1.2.3.tar.xz

cela donne le répertoire gst-plugins-base-1.2.3. On installera préalablement les packages lib64oil-devel et pygtk2.0-devel, on revient au répertoire préalablement créé dans lequel on tape

./configure
make

puis en tant que root

make install

On fera de même pour les bibliothèques suivantes gst-plugins-good, gst-plugins-bad et gst-python, à installer dans cet ordre précis

Le premier plugin se trouve à cette adresse http://gstreamer.freedesktop.org/src/gst-plugins-good/ on décompresse l'archive en tapant

tar xvf gst-plugins-good-1.2.3.tar.xz

cela donne le répertoire gst-plugins-good-1.2.3 dans lequel on tape

./configure
make

puis en tant que root

make install

Le deuxième  plugin se trouve à cette adresse http://gstreamer.freedesktop.org/src/gst-plugins-bad/ on décompresse l'archive en tapant

tar xvf gst-plugins-bad-1.2.3.tar.xz

cela donne le répertoire gst-plugins-bad-1.2.3 dans lequel on tape

./configure
make

puis en tant que root

make install

Le dernier plugin se trouve à l'adresse http://gstreamer.freedesktop.org/src/gst-python/ on décompresse l'archive en tapant

tar xvfz gst-python-1.1.90.tar.gz

cela donne le répertoire gst-python-1.1.90 dans lequel on tape

./configure
make

puis en tant que root

make install

il faudra rajouter dans le fichier /etc/ld.so.conf la ligne suivante

/usr/local/lib64/python2.7/site-packages

puis taper ldconfig

On a besoin maintenant d'installer libnice, qui est une implémentation du standard ICE (Interactice Connectivity Establishment standard) de l'IETF. Pour être plus clair, il fournit des fonctions pour établir les connexions point à point en UDP en traversant des NAT et en fournissant des services pour sécuriser la connexion. Le site officiel est http://nice.freedesktop.org/wiki/ on y récupère la dernière version qu'on décompresse en tapant

tar xvfz libnice-1.1.5.tar.gz

cela donne le répertoire libnice-1.1.5 dans lequel on tape

./configure
make

puis en tant que root

make install

on édite le fichier /etc/ld.so.conf et on rajoute

/usr/local/lib/gstreamer-1.0

on tape maintenant ldconfig

A présent on récupèrera farsight qu'on trouvera sur le site  http://farsight.freedesktop.org/wiki/ on décompresse l'archive en tapant

tar xvfz farsight2-0.0.31.tar.gz

cela donne le répertoire farsight2-0.0.31 dans lequel on tape

./configure
make

puis en tant que root

make install

on récupérera également farstream qui a terme va remplacer farsight à l'adresse suivante http://freedesktop.org/software/farstream/releases/farstream/

tar xvfz farstream-0.2.3.tar.gz

cela donne le répertoire farstream-0.2.3 dans lequel on tape

./configure
make

puis en tant que root

make install

on édite le fichier /etc/ld.so.conf et on rajoute

/usr/local/lib/farstream-0.2

on tape maintenant ldconfig
[Retour page d'accueil FUNIX]