[ PrésentationInstallation de codecs audioInstallation d'Ogg Vorbis , installation de FLAC Installation de Lame , installation de a52dec , installation de faad ) | Installation de codecs vidéo (installation de divx4linux , installation de xvid , installation de theora , installation de ffmpeg installation de libquicktime , installation de libfameinstallation des codes windows d'avifile , installation du codec Windows Media Player  , installation de mpeg2dec ) | Installation d'outils en ligne de plus haut niveau ( Présentation , avifile , mjpegtools ) | Bibliothèques pour visioconférence ( gstreamer , farsight ) ]


Les outils de base pour la vidéo

Dernière modification 24 décembre 2009

( 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.
[Retour haut de la page ]

Installation de codecs 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-0.8.8.tar.gz

Cela donne le répertoire libao-0.8.8. On veillera à ce que les packages libxorg-x11-devel, libarts-dev et pulseaudio-devel soient installés (libarts1-dev uniquement sous ubuntu), on tape maintenant sucessivement

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

On tape alors

ldconfig

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

tar xvfz libogg-1.1.4.tar.gz

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

./configure
make

Puis en tant que root

make install

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

tar xvfz libvorbis-1.2.3.tar.gz

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

./configure
make

puis en tant que root

make install
ldconfig


[Retour haut de la page ]

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 xvfz flac-1.2.1.tar.gz

Cela donne le répertoire flac-1.2.1 à 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

je bute sur l'erreur suivante

main.cpp:75: erreur: ‘memcmp’ was not declared in this scope

pour la résoudre il faut éditer les fichiers  ./examples/cpp/encode/file/main.cpp et ./examples/cpp/decode/file/main.cpp juste après

#include <stdio.h>
#include <stdlib.h>

on rajoute

#include <cstring>

on retape 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-398-2.tar.gz

Cela donne le répertoire lame-398-2. On installera éventuellement le package suivant libgtk+1.2-devel (urpmi libgtk+-devel ou apt-get install libgtk1.2-dev). On revient dans le répertoire de lame dans lequel on tape successivement

./configure
make

Puis en tant que root

make install

[Retour haut de la page ]

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
make


Puis en tant que root

make install
ldconfig



[Retour haut de la page ]

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
[Retour haut de la page ]

Installation de codecs vidéo

Installation de divx4linux

divx4linux est une bibliothèque contenant des codecs DivX 4.0. Sur le site avifile.sourceforge.net on trouvera  les sources de divx4linux, on décompresse le tarball en tapant

tar xvfz divx4linux-std-20030428.tar.gz

Cela va donner le répertoire divx4linux-20030428, dans lequel en tant que root, on tape :

./install.sh
 

[Retour haut de la page ]

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

Voilà le résultat

  D: /usr/local/lib
  I: /usr/local/lib/libxvidcore.so.4.2
  I: /usr/local/lib/libxvidcore.a
  D: /usr/local/include
  I: /usr/local/include/xvid.h

Tapez 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 libSDL1.2-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 Puis en tant que root

make install
ldconfig

[Retour haut de la page ]

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.mplayerhq.hu/ puisqu'aucun package de version stable n'est disponible, j'ai choisi d'installer la version en développement, pour la récupérer il suffit de taper

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

en ayant préalablement installé subversion, cela donne le répertoire ffmpeg dans lequel on tape

./configure --enable-shared --enable-gpl --enable-postproc --enable-libfaad --enable-libfaadbin --enable-libmp3lame  --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libdc1394

à mon grand désespoir il n'a pas voulu prendre en compte xvid, j'ai triché en éditant le fichier configure et en modifiant les lignes suivantes

cc_default="gcc -lpthread"
host_cc_default="gcc -lpthread"

à noter qu'il faut les options postproc et gpl et désactiver l'option swscale pour pouvoir compiler vlc voilà le résultat

Please upgrade to libvdpau >= 0.2 if you would like vdpau support.                                                          
install prefix            /usr/local                                                                                        
source path               /usr/local/linux/multimedia/ffmpeg-24-12-09                                                       
C compiler                gcc -lpthread                                                                                     
.align is power-of-two    no                                                                                                
ARCH                      x86 (generic)                                                                                     
big-endian                no                                                                                                
runtime cpu detection     no                                                                                                
yasm                      no                                                                                                
MMX enabled               yes                                                                                               
MMX2 enabled              yes                                                                                               
3DNow! enabled            yes                                                                                               
3DNow! extended enabled   yes                                                                                               
SSE enabled               yes                                                                                               
SSSE3 enabled             yes                                                                                               
CMOV enabled              no                                                                                                
CMOV is fast              no                                                                                                
EBX available             yes                                                                                               
EBP available             yes                                                                                               
10 operands supported     yes                                                                                               
gprof enabled             no                                                                                                
debug symbols             yes                                                                                               
strip symbols             yes                                                                                               
optimizations             yes                                                                                               
static                    yes                                                                                               
shared                    yes                                                                                               
postprocessing support    yes                                                                                               
new filter support        no                                                                                                
filters using lavformat   no                                                                                                
network support           yes                                                                                               
IPv6 support              yes                                                                                               
threading support         no                                                                                                
SDL support               yes                                                                                               
Sun medialib support      no                                                                                                
AVISynth enabled          no                                                                                                
libdc1394 support         yes                                                                                               
libdirac enabled          no                                                                                                
libfaac enabled           no                                                                                                
libfaad enabled           yes                                                                                               
libfaad dlopened          yes                                                                                               
libgsm enabled            no                                                                                                
libmp3lame enabled        yes                                                                                               
libnut enabled            no                                                                                                
libopencore-amrnb support no                                                                                                
libopencore-amrwb support no                                                                                                
libopenjpeg enabled       no                                                                                                
libschroedinger enabled   no                                                                                                
libspeex enabled          no                                                                                                
libtheora enabled         yes                                                                                               
libvorbis enabled         yes                                                                                               
libx264 enabled           no                                                                                                
libxvid enabled           yes                                                                                               
zlib enabled              yes                                                                                               
bzlib enabled             yes                                                                                               

Enabled decoders:
aac                     eatgv                   pcm_f32le
aasc                    eatqi                   pcm_f64be
ac3                     eightbps                pcm_f64le
adpcm_4xm               eightsvx_exp            pcm_mulaw
adpcm_adx               eightsvx_fib            pcm_s16be
adpcm_ct                escape124               pcm_s16le
adpcm_ea                ffv1                    pcm_s16le_planar
adpcm_ea_maxis_xa       ffvhuff                 pcm_s24be      
adpcm_ea_r1             flac                    pcm_s24daud    
adpcm_ea_r2             flashsv                 pcm_s24le      
adpcm_ea_r3             flic                    pcm_s32be      
adpcm_ea_xas            flv                     pcm_s32le      
adpcm_g726              fourxm                  pcm_s8         
adpcm_ima_amv           fraps                   pcm_u16be      
adpcm_ima_dk3           frwu                    pcm_u16le      
adpcm_ima_dk4           gif                     pcm_u24be      
adpcm_ima_ea_eacs       h261                    pcm_u24le      
adpcm_ima_ea_sead       h263                    pcm_u32be      
adpcm_ima_iss           h263i                   pcm_u32le      
adpcm_ima_qt            h264                    pcm_u8         
adpcm_ima_smjpeg        huffyuv                 pcm_zork       
adpcm_ima_wav           idcin                   pcx            
adpcm_ima_ws            imc                     pgm            
adpcm_ms                indeo2                  pgmyuv         
adpcm_sbpro_2           indeo3                  pgssub         
adpcm_sbpro_3           interplay_dpcm          png            
adpcm_sbpro_4           interplay_video         ppm            
adpcm_swf               jpegls                  ptx            
adpcm_thp               kmvc                    qcelp          
adpcm_xa                libfaad                 qdm2           
adpcm_yamaha            loco                    qdraw          
alac                    mace3                   qpeg           
als                     mace6                   qtrle          
amv                     mdec                    r210           
ape                     mimic                   ra_144         
asv1                    mjpeg                   ra_288         
asv2                    mjpegb                  rawvideo       
atrac1                  mlp                     rl2            
atrac3                  mmvideo                 roq            
aura                    motionpixels            roq_dpcm       
aura2                   mp1                     rpza           
avs                     mp2                     rv10           
bethsoftvid             mp3                     rv20           
bfi                     mp3adu                  rv30           
bmp                     mp3on4                  rv40           
c93                     mpc7                    sgi            
cavs                    mpc8                    shorten        
cdgraphics              mpeg1video              smackaud       
cinepak                 mpeg2video              smacker        
cljr                    mpeg4                   smc            
cook                    mpeg_xvmc               snow           
cscd                    mpegvideo               sol_dpcm       
cyuv                    msmpeg4v1               sonic          
dca                     msmpeg4v2               sp5x           
dnxhd                   msmpeg4v3               sunrast        
dpx                     msrle                   svq1           
dsicinaudio             msvideo1                svq3           
dsicinvideo             mszh                    targa          
dvbsub                  nellymoser              theora         
dvdsub                  nuv                     thp            
dvvideo                 pam                     tiertexseqvideo
dxa                     pbm                     tiff           
eac3                    pcm_alaw                tmv            
eacmv                   pcm_bluray              truehd         
eamad                   pcm_dvd                 truemotion1    
eatgq                   pcm_f32be               truemotion2    
truespeech              vmdvideo                wmav2          
tscc                    vmnc                    wmv1           
tta                     vorbis                  wmv2           
twinvq                  vp3                     wmv3           
txd                     vp5                     wnv1           
ulti                    vp6                     ws_snd1        
v210                    vp6a                    xan_dpcm       
v210x                   vp6f                    xan_wc3        
vb                      vqa                     xl             
vc1                     wavpack                 xsub           
vcr1                    wmapro                  zlib           
vmdaudio                wmav1                   zmbv           

Enabled encoders:
aac                     libxvid                 pcm_u32be
ac3                     ljpeg                   pcm_u32le
adpcm_adx               mjpeg                   pcm_u8  
adpcm_g726              mp2                     pcm_zork
adpcm_ima_qt            mpeg1video              pcx     
adpcm_ima_wav           mpeg2video              pgm     
adpcm_ms                mpeg4                   pgmyuv  
adpcm_swf               msmpeg4v1               png     
adpcm_yamaha            msmpeg4v2               ppm     
alac                    msmpeg4v3               qtrle   
asv1                    nellymoser              rawvideo
asv2                    pam                     roq     
bmp                     pbm                     roq_dpcm
dnxhd                   pcm_alaw                rv10    
dvbsub                  pcm_f32be               rv20    
dvdsub                  pcm_f32le               sgi     
dvvideo                 pcm_f64be               snow    
ffv1                    pcm_f64le               sonic   
ffvhuff                 pcm_mulaw               sonic_ls
flac                    pcm_s16be               svq1    
flashsv                 pcm_s16le               targa   
flv                     pcm_s24be               tiff    
gif                     pcm_s24daud             v210    
h261                    pcm_s24le               vorbis  
h263                    pcm_s32be               wmav1   
h263p                   pcm_s32le               wmav2   
huffyuv                 pcm_s8                  wmv1    
jpegls                  pcm_u16be               wmv2    
libmp3lame              pcm_u16le               xsub    
libtheora               pcm_u24be               zlib    
libvorbis               pcm_u24le               zmbv    

Enabled hwaccels:

Enabled parsers:
aac                     dvdsub                  mpeg4video
ac3                     h261                    mpegaudio
cavsvideo               h263                    mpegvideo
dca                     h264                    pnm      
dirac                   mjpeg                   vc1      
dnxhd                   mlp                     vp3      
dvbsub                                                   

Enabled demuxers:
aac                     ipmovie                 pcm_u24be
ac3                     iss                     pcm_u24le
aea                     iv8                     pcm_u32be
aiff                    lmlm4                   pcm_u32le
amr                     m4v                     pcm_u8  
apc                     matroska                pva     
ape                     mjpeg                   qcp     
asf                     mlp                     r3d     
ass                     mm                      rawvideo
au                      mmf                     rl2     
avi                     mov                     rm      
avs                     mp3                     roq     
bethsoftvid             mpc                     rpl     
bfi                     mpc8                    rtsp    
c93                     mpegps                  sdp     
caf                     mpegts                  segafilm
cavsvideo               mpegtsraw               shorten 
cdg                     mpegvideo               siff    
daud                    msnwc_tcp               smacker 
dirac                   mtv                     sol     
dnxhd                   mvi                     sox     
dsicin                  mxf                     str     
dts                     nc                      swf     
dv                      nsv                     thp     
dxa                     nut                     tiertexseq
ea                      nuv                     tmv      
ea_cdata                ogg                     truehd   
eac3                    oma                     tta      
ffm                     pcm_alaw                txd      
flac                    pcm_f32be               vc1      
flic                    pcm_f32le               vc1t     
flv                     pcm_f64be               vmd      
fourxm                  pcm_f64le               voc      
gsm                     pcm_mulaw               vqf      
gxf                     pcm_s16be               w64      
h261                    pcm_s16le               wav      
h263                    pcm_s24be               wc3      
h264                    pcm_s24le               wsaud    
idcin                   pcm_s32be               wsvqa    
iff                     pcm_s32le               wv       
image2                  pcm_s8                  xa       
image2pipe              pcm_u16be               yuv4mpegpipe
ingenient               pcm_u16le                          

Enabled muxers:
ac3                     matroska                pcm_s16be
adts                    matroska_audio          pcm_s16le
aiff                    mjpeg                   pcm_s24be
amr                     mlp                     pcm_s24le
asf                     mmf                     pcm_s32be
asf_stream              mov                     pcm_s32le
ass                     mp2                     pcm_s8  
au                      mp3                     pcm_u16be
avi                     mp4                     pcm_u16le
avm2                    mpeg1system             pcm_u24be
crc                     mpeg1vcd                pcm_u24le
daud                    mpeg1video              pcm_u32be
dirac                   mpeg2dvd                pcm_u32le
dnxhd                   mpeg2svcd               pcm_u8  
dts                     mpeg2video              psp     
dv                      mpeg2vob                rawvideo
eac3                    mpegts                  rm      
ffm                     mpjpeg                  roq     
flac                    mxf                     rtp     
flv                     mxf_d10                 sox     
framecrc                null                    spdif   
gif                     nut                     swf     
gxf                     ogg                     tg2     
h261                    pcm_alaw                tgp     
h263                    pcm_f32be               truehd  
h264                    pcm_f32le               vc1t    
image2                  pcm_f64be               voc     
image2pipe              pcm_f64le               wav     
ipod                    pcm_mulaw               yuv4mpegpipe
m4v                                                        

Enabled protocols:
file                    pipe                    tcp
gopher                  rtmp                    udp
http                    rtp                       

Enabled filters:
crop                    null                    slicify
format                  scale                   vflip
noformat

Enabled bsfs:
aac_adtstoasc           mjpega_dump_header      noise
dump_extradata          mov2textsub             remove_extradata
h264_mp4toannexb        mp3_header_compress     text2movsub
imx_dump_header         mp3_header_decompress

Enabled indevs:
alsa                    libdc1394               v4l
dv1394                  oss                     v4l2

Enabled outdevs:
alsa                    oss

License: GPL version 2 or later
Creating config.mak and config.h...

on tape make et 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


[Retour haut de la page ]

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

Cela donne le répertoire libquicktime-1.1.3. Préalablement veillez à installer pour une Mandriva les packages doxygen, libjpeg-devel, libgtk+2.0-devel, libMesaGL1 et libMesaGLU1-devel (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/lib/pkgconfig:/usr/local/lib/pkgconfig

on tape maintenant

make

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 ]

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
make


Puis en tant que root

make install
[Retour haut de la page]

Installation des codecs windows d'avifile

On récupèrera les bibliothèques de codage/décodage de vidéo sur le site avifile.sourceforge.net . On va désarchiver l'archive en tant que root sous /usr/lib

cp binaries-011002.tgz /usr/lib/
cd /usr/lib
tar xvfz binaries-011002.tgz

Cela donne un répertoire win32 avec les bibliothèques d'encodage/décodage.
 

[Retour haut de la page ]

Installation du codec Windows Media Player

On récupèrera le codec sur le site avifile.sourceforge.net. On désarchive l'archive en tapant

gunzip Win32_dmo.tgz
tar xvf
Win32_dmo.tar

Cela donne le répertoire Win32_dmo. Placez vous dans ce répertoire et en tant que root tapez

cp * /usr/lib/win32

[Retour haut de la page ]

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 dans lequel on tape successivement

./configure
make

Puis en tant que root

make install
ldconfig

[Retour haut de la page ]

Installation d'outils de plus haut niveau

Présentation

Ils se basent sur les outils précédents et proposent des commandes en ligne pour la gestion vidéo (acquisition, lecture, ...). Ils sont eux mêmes utilisés par des outils de plus haut niveau disposant d'une interface graphique (dvr, linuxvideostudio, ...) présentés dans les pages acquisition vidéo et montage vidéo.

[Retour haut de la page ]

Installation d'avifile

On récupérera la dernière archive sur le site avifile avifile.sourceforge.net. Avant d'aller plus loin, assurez vous que qt3 est préalablement installé sur votre système ainsi que le package de développement (qt4-devel ne doit pas être installé pour éviter les conflits). Revenons à l'archive d'avifile, on décompresse en tapant :

tar xvfj avifile-0.7-0.7.45.tar.bz2

Cela donne le répertoire avifile-0.7-0.7.45 dans lequel on tape :

./configure

Voilà le résultat :

Configuration for avifile RELEASE-0.7.45-090714-13:12-4.3.2           
Compiler C:       gcc  -O2 -mtune=i686 -march=i686 -ffast-math -fomit-frame-pointer -pipe
Compiler C++:     g++  -O2 -mtune=i686 -march=i686 -ffast-math -fomit-frame-pointer -pipe
Install path:     /usr/local                                                            
Qt:               yes                                                                   
Sdl:              yes                                                                   
Xft:              yes
Oss audio:        yes
Sun audio:        no
Mga_vid:          no
Plugins:
  ac3passthrough  yes  (with SBLive only)
  divx (dec/enc)  yes/no (DivxNetworks divx4linux)
  xvid            no   (DivX4, XviD)
  xvid4           yes  (DivX4, XviD)
  ffmpeg          yes  (DivX ;-), OpenDivX, MJPEG, AC3)
  ffmpeg faad     yes  (AAC) (runtime yes)
  os motion jpeg  yes  (MJPEG)
  win32           yes  (DivX, WM7/8/9, DV, MJPEG, Ati, Asus,...)
  mad             yes  (MPEG Layer I/II/III)
  vorbis          yes
  lame runtime    yes

dans un premier temps, il voulait pas prendre en compte xvid, j'ai du éditer le fichier configure et modifier les lignes suivantes

XVID_LIBS="$XVID_LIBS -lxvidcore -lpthread"

XVID4_LIBS="$XVID4_LIBS -lxvidcore -lpthread"

On tape ensuite

make

j'ai l'erreur suivante

mp3encoder.cpp:111:2: warning: #warning FIXME 8-bit?
mp3encoder.cpp:33: error: extra qualification 'avm::MP3Encoder::' on member 'MP3Encoder'
make[3]: *** [mp3encoder.lo] Erreur 1
make[3]: quittant le répertoire « /usr/local/linux/video/avifile-0.7-0.7.45/plugins/libmp3lame_audioenc »
make[2]: *** [all-recursive] Erreur 1
make[2]: quittant le répertoire « /usr/local/linux/video/avifile-0.7-0.7.45/plugins/libmp3lame_audioenc »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /usr/local/linux/video/avifile-0.7-0.7.45/plugins »
make: *** [all-recursive] Erreur 1

pour la résoudre j'édite le fichier plugins/libmp3lame_audioenc/mp3encoder.cpp à la ligne 33 au lieu de

MP3Encoder::MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)

j'écris

MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)

on retape make j'ai maintenant l'erreur suivante

include/avm_map.h:48: error: non-template 'pair' used as template

pour la résoudre j'édite le fichier include/avm_map.h à la ligne 36 au lieu de
     
     template <class Key1, class Value1> struct pair

j'écris

    template <class KeyP, class ValueP> struct pair

aux lignes 38, 39 au lieu de

        Key1 key;
       Value1 value;

j'écris

        KeyP key;
       ValueP value;

aux lignes 41,42 au lieu de

        pair(Key1 k, Value1 v) : key(k), value(v) {}
       pair(const pair<Key1, Value1>& p) : key(p.key), value(p.value) {}
       
j'écris
       
        pair(KeyP k, ValueP v) : key(k), value(v) {}
       pair(const pair<KeyP, ValueP>& p) : key(p.key), value(p.value) {}

à la ligne ligne 48 au lieu de

       avm_map::pair<Key1, Value1>* entry;

j'écris

        _Tpair* entry;

on retape make j'ai maintenant l'erreur suivante

kv4lsetup.cpp: In function ‘int main(int, char**)’:
kv4lsetup.cpp:232: attention : déréférencement du pointeur type-punned brisera les strictes d'aliases
kv4lsetup.cpp:232: erreur: invalid conversion from ‘int*’ to ‘unsigned int*’
kv4lsetup.cpp:232: erreur:   initializing argument 3 of ‘int XF86DGAGetVideoLL(Display*, int, unsigned int*, int*, int*, int*)’
make[3]: *** [kv4lsetup.o] Erreur 1

j'édite le fichier samples/qtvidcap/kv4lsetup.cpp à la ligne 232 au lieu de

XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(int*)&base,&width,&foo,&bar);

je mets

XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(unsigned int*)&base,&width,&foo,&bar);

idem dans le fichier samples/qtvidcap/v4lxif.cpp à la ligne 1118

XF86DGAGetVideoLL(disp, DefaultScreen(disp), (unsigned int*)&base, &width, &bank, &ram);

on retape make puis en tant que root

make install

Rajoutez maintenant dans le fichier /etc/ld.so.conf si ce n'est déjà fait les lignes

/usr/local/lib
/usr/local/lib/avifile-0.7/
/usr/local/lib/avifile-0.7/vidix/

Puis tapez en tant que root

ldconfig

[Retour haut de la page ]

Installation de mjpegtools

L'URL officiel est mjpeg.sourceforge.net. On décompresse l'archive en tapant

tar xvfz mjpegtools-1.9.0.tar.gz

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

./configure

Voilà le résultat de la commande

configure:  MJPEG tools 1.9.0 build configuration :
configure:
configure:   - X86 Optimizations:
configure:     - MMX/3DNow!/SSE enabled      : true
configure:   - arch/cpu compiler flags       : -march=athlon-4 -mno-sse2 -mtune=athlon-4
configure:   - video4linux recording/playback: true
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
configure:

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.

[Retour haut de la page ]

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 xvfz gstreamer-0.10.25.tar.gz

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

./configure
make

puis en tant que root

make install

[Retour haut de la page ]

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 xvfz gst-plugins-base-0.10.25.tar.gz

cela donne le répertoire gst-plugins-base-0.10.25. On installera préalablement les packages liboil-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-ffmpeg, à 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 xvfz gst-plugins-good-0.10.17.tar.bz2

cela donne le répertoire gst-plugins-good-0.10.17 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 xvfj gst-plugins-bad-0.10.17.tar.bz2

cela donne le répertoire gst-plugins-bad-0.10.17 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-ffmpeg/ on décompresse l'archive en tapant

tar xvfj gst-ffmpeg-0.10.9.tar.bz2

cela donne le répertoire gst-ffmpeg-0.10.9 dans lequel on tape

./configure
make

puis en tant que root

make install

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

cela donne le répertoire libnice-0.0.10 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-0.10

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

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

./configure
make

puis en tant que root

make install

[Retour page d'accueil FUNIX]
[Retour haut de la page ]