[ Présentation | Installation des bibliothèques de base ( madlibdvdcss , libdvdread , libdvdplay , libdvdnav , libdvbpsi , live555 ) |  Les lecteurs DVD ( totem , kaffeine ) | Les lecteurs multi formats ( présentation , vlcxine MPlayer , avifile ) | Streaming vidéo ( présentation , diffuser vers un poste, streaming sur le réseau ,  vidéo à la demande ) ]

Dernière modification 24 décembre 2009

Les lecteurs vidéo sous Linux


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

Présentation

Sur cette page sont présentés les lecteurs vidéo les plus courant sous linux, ils vous permettront de lire à peu près tous les types de formats vidéo (conteneur et codec) y compris les DVD.

On suppose que vous êtes passé par les pages outils de base pour la vidéo et conteneur vidéo.

[Retour haut de la page ]

Installation des bibliothèques de base

Installation de mad

MAD est un décodeur audio haute qualité MPEG. L'URL officiel est www.underbit.com/products/mad/ vous y trouverez la dernière archive que vous décompressez en tapant :

tar xvfz libmad-0.15.1b.tar.gz

Cela donne le répertoire mad-0.15.1b dans lequel on tape successivement

./configure
make

si vous rencontrez l'erreur suivante

cc1: erreur: option "-fforce-mem" de la ligne de commande non reconnue

Editez le fichier configure et supprimez fforce-mem

optimize="$optimize -fforce-mem"

relancez configure et make puis en tant que root

make install
ldconfig

[Retour haut de la page ]

Installation de libdvdcss

Libdvdcss est une bibliothèque offrant des outils pour lire du flux MPEG2 d'un disque dur ou d'un DVD. Il permet aussi de lire les DVD cryptés. L'URL est   http://www.videolan.org/developers/libdvdcss.html on y récupère l'archive qu'on décompresse en tant

tar xvfz libdvdcss-1.2.9.tar.gz


Cela donne le répertoire libdvdcss-1.2.9 dans lequel on tape

./configure
make


si vous avez un problème avec latex à la compil voilà une page pour le résoudre

http://ubuntuforums.org/showthread.php?t=669228

Puis en tant que root

make install

[Retour haut de la page ]

Installation de libdvdread

Cette bibliothèque offre des outils pour lire les DVD, elle se base sur la biblio libdvdcss. L'URL est  http://www.dtek.chalmers.se/groups/dvd/downloads.shtml   où on récupérera l'archive qu'on décompresse en tapant

libdvdread-0.9.7.tar.gz

Cela donne le répertoire libdvdread-0.9.7 dans lequel on tape

./configure
make


Puis en tant que root

make install

[Retour haut de la page ]

Installation de libdvdplay

libdvdplay est une biblio de fonctions qui se situent juste au dessus de celles de libdvdplay. Il permet la lecture, mais aussi la recherche de piste (chapitre) pour les DVD. Elle offre aussi d'autres fonctions pour les lecteurs DVD de haut niveau (sous titrage, titres, ...). L'URL officiel est http://www.videolan.org/developers/libdvdplay.html on y récupère l'archive qu'on décompresse en tapant

tar xvfz libdvdplay-1.0.1.tar.gz

Cela donne le répertoire libdvdplay-1.0.1 dans lequel on tape

./configure
make


Puis en tant que root

make install

[Retour haut de la page ]

Installation de libdvdnav

Cette bibliothèque de fonctions fournit des outils pour pouvoir "naviguer" dans un DVD, c'est à dire pouvoir utiliser les menus interactifs proposés dans la plupart des DVD. L'URL officiel est http://sourceforge.net/projects/dvd/ on y récupère l'archive qu'on décompresse en tapant

tar xvfz libdvdnav-0.1.10.tar.gz

Cela donne le répertoire libdvdnav-0.1.10 dans lequel on tape

./configure
make


Puis en tant que root

make install

[Retour haut de la page ]

Installation de libdvbpsi

libdvbpsi dont le site est http://www.videolan.org/developers/libdvbpsi.html permet la diffusion de flux MPEG2, on y récupère l'archive qu'on décompresse en tapant

tar xvfz libdvbpsi5-0.1.6.tar.gz

Cela donne le répertoire libdvbpsi5-0.1.6 dans lequel on tape

./configure
make

puis en tant que root

make install

cette bibliothèque est nécessaire à vlc pour faire du streaming vidéo.

[Retour haut de la page ]

Installation de live555

live555 dont le site http://www.live555.com/liveMedia/public/ permet de faire du streaming et de la réception vidéo, il est nécessaire à vlc. On décompresse l'archive en tapant

tar xvfz live.2009.11.27.tar.gz 

Cela donne le répertoire live dans lequel on tape ensuite

./genMakefiles linux

puis

make

pour le rendre disponible pour d'autres applications notamment MPlayer on tape en tant que root

ln -s /usr/local/linux/multimedia/live/ /usr/local/lib
ln -s /usr/local/linux/multimedia/live/liveMedia/include/ /usr/local/lib/live

vous devez bien évidemment mettre votre chemin absolu de live


[Retour haut de la page ]

Les lecteurs DVD

Présentation

Ces lecteurs permettent de lire les DVD tout en ayant accès au menu interactif qu'on peut trouver sur la plupart des DVD. Ces outils requièrent l'installation d'un certain nombres d'outils. Il est à noter que MPlayer et xine présentés plus bas lisent très bien les DVD.





[Retour haut de la page ]

Totem

Totem est le nouveau lecteur DVD qu'on peut trouver sur la Mandriva. Il est prévu pour l'environnement Gnome il faudra donc installer des packages de développement pour Gnome, à savoir  (libgnomeui-2.0 >= 2.3.3 libglade-2.0 gnome-vfs-2.0 >= 2.9.92 gnome-vfs-module-2.0 >= 2.9.92 gnome-desktop-2.0 >= 2.1.5 gnome-icon-theme >= 2.9.3) et toutes leurs dépendances (urpmi). Il requiert également l'installation d'une version récente de xine-lib (voir plus bas), du package nautilus-cd-burner d'une version supérieur à 2.8 que vous devrez installer si vous voulez passer par une installation par les sources. Autant dire que c'est un peu la galère pour l'installer avec les sources.

Le site officiel est http://www.hadess.net/totem.php3 pour ceux qu'ils veulent tenter une installation par les sources sinon pour une Mandriva on peut se contenter de taper pour l'installation

urpmi totem

ou bien pour une (k)ubuntu

apt-get install totem

On le lance simplement en tapant totem cela donne



Son fonctionnement est très intuitif et il dispose de toutes les fonctionnalités utiles à un lecteur de DVD (navigation dans les chapitres, choix des langues, sous-titres, plein écran, ...).

[Retour haut de la page ]

Kaffeine

kaffeine est le lecteur DVD par défaut installé pour KDE, le site officiel est http://kaffeine.sourceforge.net/ à noter qu'il a besoin de l'installation de xine.
Pour une Mandriva un simple urpmi kaffeine devrait suffire (de toute façon généralement il est de base dans l'installation).



Il dispose de toutes les fonctionnalités propres à la lecture des DVD (menu, sous titre, chapitre et j'en passe). Comme totem il est plutôt sympa et très intuitif.
[Retour haut de la page ]

Les lecteurs multiformats

Présentation

Je vous présente ici les lecteurs les plus courants à savoir xine, MPlayer et aviplay. Ces différents players sont capables de lire les avi classiques (du style divx/xvid mp3) mais aussi les ogm et les matroska (sauf pour aviplay qui ne reconnait pas ces deux derniers conteneurs vidéo).

[Retour haut de la page ]

VLC

Installation

VLC est un player vidéo particulièrement puissant, le site officiel est http://www.videolan.org on y récupère l'archive qu'on décompresse en tapant

tar xvfj vlc-1.0.4.tar.bz2

cela donne le répertoire vlc-1.0.4. On installera éventuellement les packages qt4-devel, fribidi, fribidi-devel, libgcrypt-devel et libSDL_image-devel (sous ubuntu libsdl-image1.2-dev)
Sous ubuntu en plus, sous /usr/include il faut créer le lien suivant

ln -s postproc libpostproc

On revient dans vlc-1.0.4 on y tape

./configure  --enable-live555 --with-live555-tree=/usr/local/linux/multimedia/live

les options permettent d'activer les fonctions de streaming, pour la dernière option vous devez indiquer le répertoire en absolu de live555
puis on tape

make

et en tant que root

make install

[Retour haut de la page ]

Utilisation

Il suffit de taper vlc, l'interface est particulièrement riche (nettement plus que xine ou mplayer qui sont basiques à côté).



Si vous avez une erreur de ce style au lancement

*** glibc detected *** vlc: double free or corruption (out): 0x08463520 ***
======= Backtrace: =========
/lib/i686/libc.so.6[0xb7548ff3]
/lib/i686/libc.so.6(cfree+0x90)[0xb754caf0]
/usr/lib/libglib-2.0.so.0(g_free+0x31)[0xb57187e1]
/usr/local/lib/libwx_gtk2_core-2.6.so.0(_ZN8wxButton10SetDefaultEv+0x76)[0xb5f3cd76]
/usr/local/lib/vlc/gui/libwxwidgets_plugin.so(_ZN5wxvlc8MessagesC1EP13intf_thread_tP8wxWindow+0x647)[0xb63637]

il suffit d'avant de lancer vlc dans un shell de taper la commande

export G_SLICE=always-malloc vlc
[Retour haut de la page ]

Xine

Installation

xine est disponible sur la Mandriva. Dans ce paragraphe je détaille l'installation de la version tarball disponible sur le site officiel. Avant d'aller plus loin on pourra installer les packages suivants

libarts1-devel
libalsa2-devel
libaa1-devel

Pour une (k)ubuntu

libarts1-dev
libsdl1.2-dev

On  récupérera xine à l'URL xine.sourceforge.net. On décompresse la première archive en tapant

tar xvfz xine-lib-1.1.17.tar.gz

Cela donne le répertoire xine-lib-1.1.17 dans lequel on tape

./configure

Voici le résultat

xine-lib summary:                                                                                                           
----------------                                                                                                            
 * input plugins:                                                                                                           
   - file          - net                                                                                                    
   - stdin_fifo    - rtp                                                                                                    
   - http          - mms                                                                                                    
   - pnm           - rtsp                                                                                                   
   - dvb                                                                                                                    
   - dvd (internal libs)                                                                                                    
   - vcd (internal libs)                                                                                                    
   - vcdo                                                                                                                   
   - cdda                                                                                                                   
   - v4l                                                                                                                    

 * demultiplexer plugins:
   - avi           - mpeg
   - mpeg_block    - mpeg_audio
   - mpeg_elem     - mpeg_pes 
   - mpeg_ts       - qt/mpeg-4
   - film          - roq      
   - fli           - smjpeg   
   - idcin         - wav      
   - wc3 mve       - voc      
   - vqa           - aiff     
   - cdda          - snd/au   
   - yuv4mpeg2     - real/realaudio
   - ea wve        - raw dv       
   - interplay mve - psx str      
   - ws aud        - pva          
   - vox                          
   - nsv           - 4xm          
   - FLAC          - aac          
   - iff           - matroska     
   - vmd           - flv          
   - nsf                          
   - ogg                          
   - mng                          
   - ac3 (internal library)       

 * video decoder plugins:
   - MPEG 1,2         - Amiga Bitplane
   - Raw RGB          - Raw YUV      
   - ffmpeg (external library):      
     - MPEG-4 (ISO, Microsoft, DivX*, XviD)
     - Creative YUV    - Motion JPEG      
     - Cinepak         - MS Video-1       
     - FLI/FLC         - MS RLE           
     - Id RoQ          - Id Cin           
     - Apple Graphics  - Apple Video      
     - Apple Animation - Interplay Video  
     - Westwood VQA    - Origin Xan       
     - H.263           - Intel Indeo 3    
     - SVQ1            - SVQ3             
     - Real Video 1.0  - Real Video 2.0   
     - 4X Video        - Sierra Video     
     - Asus v1/v2      - HuffYUV          
     - On2 VP3         - DV               
     - 8BPS            - Duck TrueMotion v1
     - ATI VCR1        - Flash Video      
     - ZLIB            - MSZH             
   - dxr3_video                           
   - w32dll                               
   - gdk-pixbuf                           
   - theora                               

 * audio decoder plugins:
   - GSM 06.10       - linear PCM
   - ffmpeg (external library): 
     - Windows Media Audio v1/v2
     - DV            - logarithmic PCM
     - 14k4          - 28k8          
     - MS ADPCM      - IMA ADPCM     
     - XA ADPCM      - Game DPCM/ADPCM
     - Mace 3:13     - Mace 6:1      
     - FLAC                          
   - Nosefart (NSF)                  
   - vorbis                          
   - w32dll                          
   - MAD (MPG 1/2/3) (internal library)
   - DTS (internal library)           
   - A52/ra-dnet (internal library)   
   - MusePack (internal library)      

 * subtitle decoder plugins:
   - spu             - spucc
   - spucmml         - sputext
   - spudvb                  
   - dxr3_spu                

 * post effect plugins:
  * planar video effects:
   - invert          - expand
   - eq              - eq2  
   - boxblur         - denoise3d
   - unsharp         - tvtime  
  * SFX:                       
   - goom            - oscope  
   - fftscope        - mosaico

 * video driver plugins:
   - XShm (X11 shared memory)
   - SyncFB (for Matrox G200/G400 cards)
   - Xv (XVideo *shared*)
   - XxMC (XVideo extended motion compensation)
   - XvMC (XVideo motion compensation)
   - OpenGL
   - xcb-shm (X shared memory using XCB)
   - xcb-xv (XVideo using XCB)
   - aa (Ascii ART)
   - fb (Linux framebuffer device)
   - sdl (Simple DirectMedia Layer)
   - dxr3 (Hollywood+ and Creative dxr3, mpeg video only)
   - vidix (X11 and framebuffer support)

 * audio driver plugins:
   - oss (Open Sound System)
   - alsa
   - pulseaudio sound server
---

On tape ensuite

make

puis en tant que root

make install

Dans le fichier /etc/ld.so.conf on rajoute les lignes

/usr/local/lib/xine/plugins/1.27
/usr/local/lib/xine/plugins/1.27/vidix
/usr/local/lib/xine/plugins/1.27/post

On tape alors, toujours en tant que root

ldconfig

Maintenant on décompresse la deuxième archive en tapant

tar xvfz xine-ui-0.99.5.tar.gz

Cela donne le répertoire xine-ui-0.99.5 dans lequel on tape successivement

./configure
make

Puis en tant que root

make install

[Retour haut de la page ]

Utilisation

On lance xine en tapant simplement

xine

Voilà le résultat avec le skin CelomaChrome


Xine a le look d'un lecteur de DVD de salon



Vous trouverez d'autres skins à cet endroit http://www.xinehq.de/index.php/skins il suffit de les décompresser sous /usr/local/share/xine/skins. Un petit exemple d'installation

cp Bambino-Blue.tar.gz /usr/local/share/xine/skins
cd /usr/local/share/xine/skins
tar xvfz Bambino-Blue.tar.gz

chown -R root:root Bambino-Blue
chmod 755 Bambino-Blue

voilà le résultat



Malheureusement le site semble down et je n'ai pas d'alternative à vous proposer pour le moment.

xine
est capable de lire les fichiers vidéo utilisant les codes compatibles MPEG1 (VCD) ou MPEG2 (SVCD) et même MPEG4 (xvid ou DivX). Il lit les DVD dès lors que vous avez installé libdvdcss il n'est plus nécessaire d'installer un quelconque plugin (xine-dvdnav, d4d, d5d, ...) tout est inclu dans xine-lib.

[Retour haut de la page ]

MPlayer

On récupèrera MPlayer à l'URL http://www.mplayerhq.hu. On décompressera l'archive en tapant sucessivement

tar xvfj MPlayer-1.0rc2.tar.bz2

Cela donne le répertoire MPlayer-1.0rc2. Vous pouvez également récupérer la dernière version svn en tapant

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

Cela donne le répertoire mplayer. Auparavant on va décompresser les codecs windows qu'on récupérera dans la section download du site. On crée d'abord le répertoire d'accueil:

mkdir /usr/local/lib/win32

Dans lequel on copie les codecs

cp essential-20071007.tar.bz2  /usr/local/lib/win32/

Qu'on décompresse après s'être placé sous /usr/local/lib/win32/

tar xvfj essential-20071007.tar.bz2 

Dans le répertoire essential-20071007 ainsi obtenu on tape

mv * ..

Vous pouvez supprimer maintenant le répertoire /usr/local/lib/win32/essential-20071007.
Revenons dans le répertoire MPlayer-1.0rc2 ou mplayer, on tape alors

./configure --language=fr --enable-gui

En fin de ./configure on a les principales options qui seront utilisées pour la compilation de MPlayer

Config files successfully generated by ./configure --language=fr --enable-gui !

  Install prefix: /usr/local
  Data directory: /usr/local/share/mplayer
  Config direct.: /usr/local/etc/mplayer 

  Byte order: little-endian
  Optimizing for: native  

  Languages:
    Messages/GUI: fr
    Manual pages:  fr
    Documentation:  fr

  Enabled optional drivers:
    Input: dvdnav(internal) ftp pvr tv-v4l2 tv-v4l tv live555 libdvdcss(internal) dvdread(internal) vcd dvb network
    Codecs: xvid libdv libavcodec(internal) qtx real xanim win32 faad2(internal) libmpeg2(internal) liba52(internal) mp3lib(internal) libtheora tremor(internal) libmad liblzo gif                                                                       
    Audio output: alsa pulse nas oss v4l2 sdl mpegpes(dvb)                                                                  
    Video output: v4l2 sdl gif89a pnm jpeg png opengl mpegpes(dvb) fbdev aa ggi xvidix cvidix dga xv x11 xover dfbmga directfb yuv4mpeg md5sum tga                                                                                                       

  Disabled optional drivers:
    Input: vstream radio tv-dshow nemesi cddb cdda smb
    Codecs: libschroedinger libdirac x264 libopencore_amrwb libopencore_amrnb faac musepack libdca speex toolame twolame
    Audio output: sun openal jack esd arts ivtv dxr2                                                                    
    Video output: zr zr2 ivtv dxr3 dxr2 vesa svga caca xmga mga winvidix 3dfx vdpau xvmc bl xvr100 tdfx_vid wii s3fb tdfxfb

On peut taper make puis make install en tant que root. 

A présent on peut récupérer les thèmes dont le thème par défaut s'appelle Blue. On le copiera sous /usr/local/share/mplayer/skins

cp Blue-1.7.tar.bz2 /usr/local/share/mplayer/skins

Dans ce répertoire on tape ensuite successivement

cd /usr/local/share/mplayer/skins
tar xvfj Blue-1.7.tar.bz2
mv Blue default

C'est fini on peut taper MPlayer en tapant

gmplayer

Et voilà le résultat


La vidéo apparaît dans une fenêtre séparée et non pas dans la petite fenêtre. Autre vu de MPlayer en utilisant un skin copiant lecteur bien connu...


MPlayer est capable de lire à peu près tous les formats (MPEG1, MPEG2, MPEG4, ...), y compris le format DV brut ! Pour lire les DVD dans le menu (clique bouton droit de la souris sur la fenêtre d'affichage) DVD->Ouvrir un disque, puis DVD->Langues audio->French. Il reconnait également les conteneurs ogm et les matroska.

Ca n'a pas grand chose à voir avec la vidéo, mais MPlayer permet de pouvoir écouter la radio ! Avec la commande suivante on écoute France Inter

mplayer -afm acm  
http://viphttp.yacast.net/V4/radiofrance/franceinter_hd.m3u

Comment connaître les adresses mms qui pointent vers des stations radio en ligne ? il suffit d'aller sur le site un question ouvrir le lien pour écouter la radio dans une nouvelle fenêtre, de noter l'URL mms et de la passer en argument à mplayer. Voilà un site qui répertorie des radios en ligne http://wiki.linux-aide.org/index.php?n=Logiciels.Radios

Pour visionner une chaine de la freebox vous pouvez taper

gmplayer rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=202

comment connaître la liste des chaînes ? En uploadant la playlist comme ceci

wget -c http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

dans le fichier on retrouve par exemple

#EXTINF:0,2 - France 2
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=201
#EXTINF:0,3 - France 3 national
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=202
#EXTINF:0,5 - France 5
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=203
#EXTINF:0,6 - M6

Si vous avez des problèmes de bloquage de mplayer au lancement sous KDE avec l'erreur suivante:

audio_setup: Can't open audio device /dev/dsp: Device or resource busy
alsa-init: got device=0, subdevice=0
alsa-init: 1 soundcard found, using: default

Il suffit de lancer mplayer avec l'option -ao arts. Pour ne pas à avoir à la taper à chaque fois dans votre fichier ~/.mplayer/config il suffit de rajouter

ao=arts

par ailleurs si vous les messages d'erreur à répétition du style

[AO_ALSA] Impossible de trouver un contrôle simple 'PCM',0..1% 21 0

il faut aller dans Préférences->Audio et cocher Activer mixeur logiciel
[Retour haut de la page ]

avifile

L'installation d'avifile est décrite dans la page les outils de base vidéo. Et voilà le résultat quand on tape:

aviplay nom-fichier.avi

A noter que vous pouvez agrandir la fenêtre et même passer en plein écran. Comme MPlayer, il est capable de lire à peu près tous les formats (MPEG1, MPEG2, MPEG4, ...), y compris le format DV brut. Il n'est pas capable de lire par contre l'ogm et le matroska.

[Retour haut de la page ]

Streaming vidéo

Présentation

Nous allons nous servir de vlc

Diffuser une vidéo vers un poste en particulier

Il suffit de taper la commande

vlc video.avi --sout '#std{access=udp,mux=ts,dst=192.168.26.50:1234}'

192.168.26.50 est l'adresse IP du poste client et 1234 le port de diffusion, sur le poste client pour recevoir le flux, il suffit de taper

vlc udp://@:1234

[Retour haut de la page ]

Faire du streaming sur un réseau

Le streaming permet la réception sur plusieurs postes clients d'un réseau

vlc video.avi --sout '#std{access=mmsh,dst=:1234}'

pour la réception de n'importe quel poste client, il suffit de taper

vlc mmsh://serveurdiffusion:1234

serveurdiffusion étant le nom du serveur de diffusion et 1234 le port de diffusion.

pour transcoder puis diffuser en UDP multicast à l'adresse 224.1.0.200 on tapera

vlc video.avi --sout '#transcode{vcode=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}
:standard{access=udp,mux=ts,dst=224.1.0.200,sap,name="monflux"}
'

pour diffuser simplement en UDP multicast à l'adresse 224.1.0.200 on tapera

vlc video.avi --sout '#duplicate{dst=standard{access=udp,mux=ts,dst=224.1.0.200,sap,name="monflux"}}'

pour lire le fichier il suffit de taper

vlc udp:@224.1.0.200

le flux multicast pouvant être stoppé par les routeurs on pourra rajouter à la commande de diffusion l'option --ttl X avec X qui correspond au nombre de routeur.
[Retour haut de la page ]

Vidéo à la demande (VoD)

Il faut lancer le serveur manager de video à la demande accessible sur le serveur de diffusion par telnet

vlc --extraintf telnet --telnet-password videolan  --rtsp-host 192.168.1.11:1234 

le mot de passe au serveur de diffusion sera videolan, son adresse 192.168.1.11 et le port de diffusion 1234, on va maintenant rajouter des vidéos. On se connecte sur le serveur par telnet, le port par défaut étant 4212

telnet 192.168.1.11 4212
Trying 192.168.1.11...
Connected to 192.168.1.11.
Escape character is '^]'.
Password:
Welcome, Master
>

pour rajouter une vidéo après le prompt on tape

> new canal1 vod enabled setup canal1 input "/maurice/video/perso/tahiti/danses/danses-marquisiennes-xvid.avi"

pour en rajouter une deuxième

> new canal2 vod enabled setup canal2 input "/maurice/video/perso/tahiti/dansesmangareva.avi"

Maintenant d'un poste client pour lire le canal1 on va taper

vlc rstp://192.168.1.11:1234/canal1

 
[Retour page d'accueil FUNIX]