MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)

http://www.mplayerhq.hu

[ Anglais ] [ Hongrois ] [ Allemand ] [ Français ]


Table des Matières


1. Introduction

1.1. Aperçu

MPlayer est un lecteur de vidéos pour GNU/Linux (fonctionne sur de nombreux autres Un*x, et processeurs non-x86, voir section 6). il lit la majorité des fichiers MPEG, AVI et ASF, supportés par de nombreux codecs natifs et les DLLs Win32. Vous pouvez voir les VideoCD, SVCD, DVD ainsi que les vidéos DivX. L'autre point fort de MPlayer est le grand nombre de sorties vidéo supportées. Il fonctionne avec X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, ainsi que les fonctions et drivers de la librairie SDL et certain drivers de bas niveau, spécifiques aux cartes (par ex. Matrox) ! La majorité d'entre eux supportent le redimensionnement matériel et/ou logiciel, pour que vous puissiez apprécier la vidéo plein écran. Et que dire de ces superbes sous-titres anti-aliasés (7 types supportés !!!) avec des polices hongroises, anglaises, cyrillic, tchèques et coréennes, ainsi que de l'OSD ?

MPlayer est fondamentalement GPL, mais contient du code non-GPL dont la redistribution sous forme binaire n'est pas autorisée. MPlayer contient aussi la bibliothèque OpenDivX dont la redistribution reste soumise à sa propre licence.

Je n'ai écrit aucun codec, uniquement des lecteurs. J'ai beaucoup travaillé sur la meilleure solution pour lire correctement les fichiers endommagés (MPEG and AVI) et pour assurer une synchronisation A-V avec des options d'avance/retour rapide. Mon lecteur est très stable pour la lecture des fichiers MPEG endommagés (utile pour certains VCDs), et il lit des fichiers AVI qui ne passent pas avec le fameux windows media player. Même les AVI sans table d'index sont lisibles, et vous pouvez la reconstruire avec l'option -idx, qui permet alors l'avance/retour rapide ! Comme vous pouvez le constater, le stabilité et la qualité sont mes objectifs prioritaires, même si la vitesse est aussi considérée avec importance.

1.2. Histoire

Cela a commencé un an auparavant... J'ai essayé de nombreux lecteurs de vidéos sous GNU/Linux (mtv,xmps,dvdview,livid/oms,VideoLAN, xine,xanim,avifile,xmmp) mais il présentaient tous des défauts, particulièrement sur certains fichiers ou avec la synchronisation audio/video. La plupart étaient incapables de lire à la fois les fichiers MPEG1, MPEG2 et AVI (DivX). De plus ils avaient des problèmes de vitesse/qualité d'images. J'ai donc décidé d'en écrire/modifier un...

1.3. Installation

Vous aurez besoin des paquetages et des versions suivant pour éviter tout problème :

Lisez ce qui suit avant de compiler MPlayer :

  • Si vous désirez uitliser la GUI (interface graphique), lisez la section 1.4 avant de compiler.
  • Maintenant compilez MPlayer:

        ./configure
        make
        make install

    Regardez attentivement le listing généré par ./configure , il contient des informations sur ce qui sera compilé, et ce qui ne le sera pas. Vous pouvez également consulter les fichiers config.h et config.mak.

    Bien que n'étant pas indispensables, les polices peuvent être installées pour l'affichage de l'OSD, et le support des sous-titres. Téléchargez mp-arial-iso-8859-*.zip et (si disponibles) les langages locaux.Il reste particulièrement recommandé de lire la section 1.5 pour plus de détails

    
        mkdir ~/.mplayer/font
        cd ~/.mplayer/font
        unzip mp-arial-iso-8859-1.zip
    

    Une dernière étape : copiez le fichier codecs.conf depuis le répertoire etc (relatif à l'arborescence de MPlayer) dans $HOME/.mplayer/codecs.conf.

    1.4. A propos de l'interface graphique ?

    La GUI est basée sur GTK, donc le paquetage de développement de GTK doit être installé. Vous la compilerez en spécifiant l'option --enable-gui durant l'étape ./configure. Ensuite, pour l'activez vous devrez soit :

    MPlayer n'ayant pas de skin par défaut, vous devrez la télécharger si vous voulez utiliser la GUI. Vos en trouverez sur la page de téléchargement. Elles pourront se placer dans le répertoire commun (/usr/local/share/mplayer/Skin), ou dans $HOME/.mplayer/Skin . MPlayer consulte ces répertores par défaut, mais vous pouvez utiliser l'option -skin newskin, ou placer skin=newskin dans votre fichier de configuration pour utiliser la skin dans le répertoire */Skin/newskin.

    1.5. Sous-titres et OSD

    Oui, MPlayer supporte également de nombreux types de sous-titres. Actuellement 7 types de sous-titres peuvent être utilisés par le code de lecture. Pour en savoir plus, lisez le fichier subreader.c, ligne ~20.

    Les sous-titres sont affichés grâce à la technique 'OSD', On Screen Display. OSD est utilisé pour afficher le temps de lecture, la barre de volume, d'avance/retour rapide, le contraste, etc...

    Installer OSD et SUB

    Vous aurez besoin d'un paquetages de polices pour MPlayer afin d'utiliser les fonctions d'OSD/SUB. Plusieurs manières de les obtenir :

    Après quoi, dézippez le fichier vers ~/.mplayer/font/ . Vous pouvez maintenant voir un compteur dans le coin supérieur gauche du film. (Faites les apparaitre/disparaitre avec la touche 'o') .

    OSD possède trois états: (interchangeable avec 'o')

    Vous pouvez en modifier le comportement par défaut en spécifiant la variable osdlevel= dans le fichier config.

    2. Fonctionnalités

    2.1. Formats vidéo, codecs audio & vidéo

    2.2. Périphérique audio

    3. Utilisation

       fichier   mplayer [options] [path/]filename
    VCD mplayer [options] -vcd trackno /dev/cdrom
    DVD mplayer [options] -dvd titleno [/dev/dvd]
    net mplayer [options] http://site.com/file.[mpg|avi]

    
      mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
      mplayer -vcd 2 /dev/cdrom
      mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
      mplayer -dvd 1 /dev/dvd
      mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

    3.1. Controle du clavier

      <- or ->  avance/recule de 10 secondes
    haut ou bas avance/recule de 1 minute
    pgup/pgdown avance/recule de 10 minutes
    p ou espace pause (presser une touche pour quitter la pause)
    q ou echap arrête la lecture et quitte le programme
    + ou - ajuste le délai audio de +/- 0.1 seconde
    / ou * augmente/diminue le volume
    o affichage OSD: aucun / barre d'avancement rapide / barre + compteur
    m utilise le contôle du volume master ou pcm
    z ou x ajuste le sous-titre des DVD de +/- 0.1 seconde

    (les touches suivantes sont valides uniquement pour le codec DivX DirectShow)

    1 ou 2 ajuste le contraste
    3 ou 4 ajuste la luminosité
    5 ou 6 ajuste la colorisation
    7 ou 8 ajuste la saturation

    Contôle clavier avec l'interface graphique

    , et . canal précédent/suivant
    - ou + augmente/diminue le volume
    entrée commencer la lecture
    espace pause
    s stop
    a A propos
    l charger fichier
    b navigateur de revêtements
    e affiche l'equalizer
    p affiche la playlist
    f mode plein écran
    m muet

    3.2. Contrôle depuis LIRC

    Linux Infrared Remote Control - utilisez un récepteur infrarouge fait maison, une télécommande, et controlez votre linux à distance ! Plus d'infos sur www.lirc.org.

    Si vous avez installé le paquetage LIRC, vous pouvez compiler MPlayer en spécifiant ./configure --enable-lirc

    Si tout se passe bien, MPlayer affichera un message du type :

    LIRC init was successful.

    au démarrage. Si une erreur se produit il vous préviendra. Si rien ne se passe, le support de LIRC n'a pas été inclu à la compilation. C'est tout :-)

    Le nom de l'application a lancer avec MPlayer est mplayer_lirc. Il comprend les commandes suivantes :

      PAUSE   Met en pause. Tout autre touche relance la lecture
    QUIT Quitte MPlayer
    RWND 10 secs en arrière
    FRWND 60 secs en arrière
    FWD 10 secs en avant
    FFWD 60 secs en avant
    INCVOL augmente le volume de un pour cent
    DECVOL diminue le volume de un pour cent
    MASTER utilise le mixer principal
    PCM utilise le mixer PCM

    N'oubliez pas de préciser l'option de répétition pour RWND/FWD dans .lircrc. Un exemple de .lircrc :

      begin
       remote = CU-SX070
       prog = mplayer_lirc
       button = Tape_Play
       repeat = 1
       config = FFWD
      end
    
      begin
       remote = CU-SX070
       prog = mplayer_lirc
       button = Tape_Stop
       config = QUIT
      end

    Pour spécifier un autre emplacement que celui par défaut (~/.lircrc) du fichier lirc-config, utilisez l'option -lircconf <filename>.

    3.3. Lecture depuis le réseau ou les pipes

    MPlayer peut lire depuis le réseau, en utilisant le protocole HTTP, et même le streaming ASF est supporté. La configuration en est simple, recompilez MPlayer avec l'option

        ./configure --enable-streaming

    MPlayer peut lire depuis l'entrée standard stdin (pas pour les pipes nominatifs). Cela peut être par exemple utilisé pour lire depuis le FTP :

        wget ftp://micorsops.com/something.avi -O - | mplayer -

    4. Section FAQ

    5. Section CD/DVD

    6. Autres OS

    6.1. Packaging Debian

    Pour créer un paquetage Debian, récupérez la version CVS ou tarball, et exécutez dans le répertoire principal :

        cd main
        fakeroot debian/rules binary

    (... mplayer detecte l'environnement matériel/logiciel, se compile, puis... )

       dpkg-deb 

    crée la paquetage `mplayer' dans `../mplayer_0.18-1_i386.deb'.

    Maintenant vous pouvez l'installer (en tant que root) :

        dpkg -i ../mplayer_0.18-1_i386.deb.

    Cela doit ressembler à :

    	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb 
    	Password:
    	(Reading database ... 26946 files and directories currently installed.)
    	Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb)
    	Unpacking replacement mplayer ...
    	Setting up mplayer (0.18-1) ...

    6.2. FreeBSD

    Pour compiler vous aurez besoin de GNU make (gmake, /usr/ports/devel/gmake), le compilateur BSD natif ne fonctionnera pas.

    Pour lancer MPlayer vous devrez recompiler le kernel avec l'option "options USER_LDT" (à moins que vous n'utilisiez le -CURRENT, qui l'intègre par défaut). Si votre processeur accepte les instructions SSE utilisez également l'option "options CPU_ENABLE_SSE" (FreeBSD-STABLE nécessaire, ou bien un noyau patché).

    Si MPlayer affiche "CD-ROM Device '/dev/cdrom' not found!" créez un lien symbolique :

    ln -s /dev/(your_cdrom_device) /dev/cdrom

    Il n'existe pas encore de support DVD pour FreeBSD. (??? libdvdread?)

    6.3. Solaris

    MPlayer peut fonctionner sur Solaris 2.6 ou supérieur.

    La lecture des AVI fonctionne mieux sur Solaris x86, grâce à l'option permettant d'utiliser les codecs win32 des plates-formes x86. Vous pouvez également utiliser les instructions MMX/MMX2/3DNow/etc pour les fichiers MP3/DivX/DVD/etc. Sur Solaris SPARC, vous trouverez quelques fichiers AVI sans son et/ou vidéo,du au fait que les codecs utilisant les DLLs Win32 ne sont pas disponibles. Cependant, les vidéos au format DivX/OpenDivX devraient fonctionner, en utilisant libavcodec.

    Sur les UltraSPARCs, MPlayer profite de leurs extensions VIS (équivalent de MMX), actuellement uniquement pour libmpeg2, libvo et libavcodec, mais pas dans mp3lib. Vous pourrez lire un fichier VOB sur une machine à 400Mhz. Il faudra installer les mLibs.

    Pour compiler vous aurez besoin de GNU make (gmake, /opt/sfw/gmake), le make natif de Solaris ne fonctionnera pas. Erreur typique quand vous utlisez le make natif au lieu de GNU make :

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

    Sur Solaris SPARC, vous aurez besoin du GNU Compiler Collection; cela ne change rien que le GCC soit configuré avec ou sans l'assembleur GNU.

    Sur Solaris x86, vous aurez besoin de l'assembleur GNU et du GCC, configuré pour utiliser l'assembleur GNU ! Le code de mplayer sur les plates-formes x86 utilise pleinement les instructions MMX, SSE et 3DNOW! qui ne peuvent pas être employées avec l'assembleur de Sun.

    /usr/ccs/bin/as.

    Le script "configure" essaie de déterminer quel assembleur est utilisé par votre GCC, (en cas d'erreur pour l'autodétection, utilisez l'option "--as=/ou/vous/avez/installé/gnu-as" pour indiquer au script où trouver le GNU "as"sur votre système).

    Error message from configure on a Solaris x86 system using GCC without GNU assembler:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

    (Solution: installer et utiliser gcc avec l'option "--with-as=gas")

    Erreur typique quand vous compilez avec un GCC qui n'utilise pas GNU "as":

       % gmake
       ...
       gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math 
    	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
       Assembler: mplayer.c
       "(stdin)", line 3567 : Illegal mnemonic
       "(stdin)", line 3567 : Syntax error
       ... more "Illegal mnemonic" and "Syntax error" errors ...

    Pour le support des DVD vous devez avoir une version patchée de libcss. Patch: http://www.tools.de/solaris/mplayer/.

    Suite a deux bogues dans solaris 8 x86, vous ne pouvez pas décement lire des DVDs d'une capacité supérieure à 4GB :

    Sur Solaris avec un processeur UltraSPARC, vous pouvez obtenir une accélération conséquente en utilisant les instructions VIS pour certaines opérations couteuses en temps CPU. L'accélération VIS peut être utilisée dans MPlayer en faisant appel aux fonction du mediaLib de Sun.

    Les accélérations VIS de mediaLib sont utilisées pour le décodage des vidéos mpeg2 et dans la conversion de palette des drivers de sortie.

    6.4. StrongARM

    MPlayer a été compilé avec succès sur StrongARM. Utilisez la commande suivante :

      ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
    	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

    Appendice A - Auteurs

    NOTE: N'envoyez *PAS* de rapports de bogues, de demande d'aide et de fonctionnalités directement aux auteurs !

    Lisez l'appendice C et souscrivez à la liste de diffusion mplayer-users.

    Le projet MPlayer :

    Principaux testeurs :

    Les librairies et codecs:

    Leur codec n'est pas utilisé dans la version actuelle, mais j'ai une aide technique de :

    Appendice A/2 - code de MPlayer et documentation maintainers

    Page d'acceuil

    Documentation en englais

    Traductions documentation

    Ports/plates-formes

    code MPlayer :

    drivers libvo:

    drivers libao2 :

    TOOLS:

    Appendice B - Listes de diffusion

    Il existe plusieurs listes de diffusion publiques pour MPlayer. Vous pouvez y souscrire aux addresses suivantes :