MPlayer - Le Lecteur vidéo pour LINUX

© 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[ Anglais ] [ Hongrois ] [ Allemand ] [ Français ] [ Polonais ] [ Italien ] [ Chinois ]


Table des matières


  • 3. Utilisation
  • 4. Section CD/DVD
  • 5. Section FAQ
  • 6. Portages
  • Appendice A - Listes de diffusion
  • Appendice B - Comment reporter un bogue
  • Appendice C - Bogues connus
  • Appendice D - Format de skin de MPlayer
  • Appendice E - Lamentations du Développeur

  • 0. Comment lire cette documentation

    Si c'est votre première installation, assurez-vous de tout lire d'ici jusqu'à la fin de la section Installation, et de suivre tous les liens que vous pourrez trouver. Si vous avez d'autres questions, retournez à la table des matières, lisez la FAQ, ou faites une recherche dans ces fichiers.

    Règle principale de cette documentation: si ce n'est pas documenté, cela n'existe pas. Si je ne dit pas que vous encodez l'audio à partir du tuner TV, c'est que vous ne pouvez pas. Cependant, une bonne quantité de talents combinés est la bienvenue. Bonne chance. Vous en aurez besoin :) Et pour un autre bon conseil, laissez-moi citer Chris Phillips sur la liste de diffusion mplayer-users:

    J'ai dit il y a quelque temps qu'il y avait une énorme différence entre être novice et être idiot. Peu importe ce que vous pensez réellement maitriser (que ce soit à propos de linux, des voitures ou des femmes :D) vous devriez TOUJOURS être capable de prendre du recul et d'être objectif. Sinon vous etes juste idiot, à mon humble avis. Une fille avec qui j'habite pensait que l'apirateur etait cassé car il n'aspirait plus rien. Elle n'a jamais pensé à remplacer le sac car elle ne l'avait jamais fait. Ok, ça c'est juste bête, pas un exemple de méconnaissance...Simplement ne pas être si familiarisé avec votre environnement n'est pas une excuse pour être a) faineant b) ignorant. Il a tellement de personnes qui voient le mot "erreur" et s'arretent là....Quelque uns seulement semblent *lire* les mots qui SUIVENT.

    1. Introduction

    MPlayer est un lecteur de vidéos pour GNU/Linux (fonctionne sur de nombreux autres Un*x, et processeurs non-x86, voir section ports). Il lit la majorité des fichiers MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA supportés par de nombreux codecs natifs, XAnim et les DLLs Win32. Vous pouvez voir les VideoCD, SVCD, DVD, 3ivx, RealMedia,ainsi que les vidéos DivX (et vous n'avez même pas besoin de la bibliothèque avifile pour cela!). 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, DirectFB mais vous pouvez également utiliser les fonctions et drivers des bibliothèques GGI et SDL, plus certains drivers de bas niveau, spécifiques aux cartes (pour Matrox, 3Dfx et Radeon, Mach64, Permedia3)! La majorité d'entre eux supportent le redimensionnement matériel et/ou logiciel, pour que vous puissiez apprécier la vidéo plein écran. MPlayer supporte la décompression matérielle fournie par certaines cartes MPEG, telles que la DVB et la DXR3/Hollywood+. Et que dire de ces superbes sous-titres anti-aliasés (10 types supportés) avec des polices européennes/ISO 8859-1,2(Hongrois, Anglais, tchèque, etc.) Cyrilliques, Coréennes, ainsi que de l'OnScreenDisplay (OSD)?

    Ce lecteur peut lire les fichiers MPEGS endommagés (utile pour certains VCDs), ainsi que les mauvais fichiers AVI qui ne sont pas lisibles par le célèbre windows média player. Même les fichiers AVI sans index sont lisibles, et vous pouvez recontruire ses indexes soit temporairement avec l'option -idx, soit de manière définitive avec MEncoder, authorisant ainsi 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 comme importante.

    MEncoder (MPlayer's Movie Encoder) est un simple encodeur de vidéos, conçu pour encoder des vidéos jouables par MPlayer (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) dans d'autres formats jouables par MPlayer (voir plus bas). Il peut encoder avec des codecs variés, comme DivX4 (1 ou 2 passes), libavcodec, PCM/MP3/VBR MP3 audio. Il possède également un puissant système de plugins pour la manipulation vidéo.

    Fonctionnalités de MEncoder

    Fonctionnalités prévues

    MPlayer et MEncoder peuvent être distribués selon les termes de la GNU General Public License Version 2.

    1.1 Histoire

    Cela a commencé un an auparavant... J'ai (A'rpi) 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.2 Installation

    Dans ce chapitre je vais essayer de vous guider à travers la compilation et la configuration de MPlayer. Ce n'est pas facile, mais pas vraiment difficile non plus. Si vous rencontrez un comportement différent de celui de mes explications, cherchez dans la doc et vous trouverez les réponses. Si vous voyez des liens, suivez-les et lisez attentivement ce qu'ils contiennent. Cela prendra du temps, mais ça en vaut VRAIMENT le coup.

    Vous aurez besoin d'un système relativement réçent. Sous Linux, les noyaux 2.4.x sont recommendés.

    Logiciels nécessaires:

    Codecs:

    Cartes Vidéo

    Il y a généralement deux types de cartes vidéo. Les premières (les cartes les plus réçentes) has ont un zoom matériel et l'accélération YUV , les autres n'en ont pas.

    Cartes YUV

    Vous pouvez afficher et redimmensioner (zoom) l'image dans n'importe quelle taille qui tient dans leur mémoire, avec peu d'utilisation processeur (même en zoomant), ainsi la lecture plein-écran est agréable et très rapide.

    Cartes non-YUV

    L'affichage en plein-écran peut être obtenu soit en activant le redimmensionnement logiciel (utilisez les options -zoom ou -vop scale, mais je vous préviens: c'est lent), ou passez dans une résolution plus basse, par exemple 352x288. Si vous n'avez pas d'accélération YUV, cette dernière méthode est recommandée. Le changement de mode vidéo peut être activé en utilisant l'option -vm et fonctionne avec les pilotes suivants:

    Certaines cartes:

    Cartes Son:

    Fonctions:

    Maintenant compilez MPlayer:

        ./configure
        make
        make install
    

    A ce point, MPlayer est prêt à fonctionner. Le répertoire $PREFIX/etc/mplayer contient le fichier codecs.conf, qui est utilisé pour donner au programme la liste des codecs et de leurs capacités. Ce fichier devrait toujours être tenu à jour par rapport au binaire principal.
    Vérifiez si vous avez un codecs.conf dans votre répertoire home (~/.mplayer/codecs.conf) provenant d'une ancienne installation de MPlayer, et supprimez-le.

    Les utilisateurs Debian peuvent construire un paquet .deb pour leur propre usage, c'est très simple. Executez fakeroot debian/rules binary dans le répertoire racine de MPlayer. Voir Création de paquets Debian pour de plus amples instructions.

    Regardez attentivement le listing généré par ./configure, ainsi que le fichier configure.log, ils contienent 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.
    Si vous avez quelques librairies installées, mais pas détectées par ./configure, alors vérifiez que vous avez les fichiers d'en-tête (généralement les paquets -dev) et que leur version correspond. Le fichier configure.log vous dit généralement ce qui manque.

    Bien que n'étant pas indispensables, les polices peuvent être installées pour l'affichage de l'OSD, et le support des sous-titres. La méthode recommandée est d'installer un fichier de police TTF et de dire à MPlayer de l'utiliser. Voir la section Sous-titres et OSDpour les détails

    1.3 A propos de l'interface graphique ?

    La GUI à besoin de GTK (elle n'est pas basé dessus, mais les menus le sont). Les skins sont stockées au format PNG, donc gtk, libpng (ansi que leurs paquets devel) doivent être installés. Vous la compilerez en spécifiant l'option --enable-gui durant l'étape ./configure. Ensuite, pour l'activer vous devrez soit :

    Actuellement vous ne pouvez pas utiliser l'option -gui en ligne de commande, ceci pour des raisons techniques.

    MPlayer n'ayant pas de skin par défaut, vous devrez la télécharger si vous voulez utiliser la GUI. Voir la page des téléchargements. Elles pourront se placer dans le répertoire commun($PREFIX/share/mplayer/Skin), ou dans $HOME/.mplayer/Skin. Par défaut, MPlayer consulte ces répertoires à la recherche d'un répertoire nommé default, 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.4 Sous-titres et OSD

    MPlayer peut afficher des sous-titres durant le film. les formats suivants sont supportés:

    MPlayer peut convertir les formats précédemment listés dans dans les formats de destination suivants, avec les options associées:

    Les options en ligne de commande diffèrent légérement suivant les différents formats:

    Sous-titres VobSub

    Les sous-titres VobSub consistent en un gros (plusieurs mégaoctets) fichier .SUB, et d'éventuels fichiers .IDX et/ou .IFO.
    Utilisation: si vous avez des fichiers tels que sample.sub, sample.ifo(optionnel), sample.idx - vous devrez passer les options -vobsub sample [-vobsubid <id>] (éventuellement avec le chemin complet). L'option -vobsubid est comme l'option -sid pour les DVDs, vous pouvez choisir les pistes de sous-titres (langues) avec. Au cas où -vobsubid est ommis, MPlayer essaira d'utiliser les langues indiqués par l'option -slang et se rabattra sur l'objet langidx du fichier .IDX pour définir la langue de sous-titres. Si cela échoue, il n'y aura pas de sous-titres.

    Autres sous-titres

    Les autres formats consistent en un seul fichier texte contenant le timing, l'emplacement et autres infos du texte.
    Utilisation: si vous avez un fichier tel que sample.txt,vous devrez passer l'option -sub sample.txt (éventuellement avec le chemin complet).

    Réglage du timing et de l'emplacement des sous-titres:

    -subdelay <sec>
    Décale les sous-titres de <sec> secondes. Peut être négatif.
    -subfps <rate>
    Spécifie le rapport trame/sec du fichier de sous-titres (nombre à virgule).
    -subpos <0 - 100>
    Spécifie la position des sous-titres sur l'écran.

    Si vous constatez un décalage progressif entre le film et les sous-titres en utilisant un fichier de sous-titres MicroDVD, il est probable que la vitesse du film et celle des sous-titres sont différentes.
    Veuillez noter que le format de sous-titres MicroDVD utilise des numéros de trames absolus pour sa synchronisation, et de plus l'option -subfps ne peut pas être utilisée avec ce format. Mplayer n'a pas la possibilité de deviner la vitesse du fichier de sous-titres, vous devrez donc convertir manuellement la vitesse. Il y a un petit script perl dans le répertoire contrib du serveur FTP de MPlayer qui fera la conversion pour vous.

    MPlayer essaira de deviner les fichiers de sous-titres que vous voulez utiliser pour lire un film. Si, comme dans la plupart des cas, le fichier de sous-titres et celui du film ont le même nom et sont au même endroit, vous n'avez pas besoin de définir les options de sous-titres. Jouez simplement le film, MPlayer gérera les sous-titres automatiquement.

    A propos des sous-titres DVD, voir la section DVD.

    1.4.1 Format de sous-titres propre à MPlayer (MPsub)

    MPlayer introduit un nouveau format de sous-titres appelé MPsub. Il a été conçu par moi (Gabucino). Son principal avantage est de se baser dynamiquement sur la durée (bien qu'il possède également un mode basé sur les frames). Exemple(de DOCS/tech/mpsub.sub):

    # premier nombre : attends cette durée après la disparition du dernier sous-titre
    # second nombre : affiche le sous-titre en cours pour tant de secondes

    15 3
    A long long, time ago...

    0 3
    in a galaxy far away...

    0 3
    Naboo was under an attack.

    Comme vous pouvez le constater, l'objectif ici est de faciliter l'édition la synchronisation, la jointure et le découpagedes sous-titres. Si vous avez un sous-titre SSA mal synchronisé avec votre version de la vidéo, faites simplement un mplayer dummy.avi -sub source.ssa -dumpmpsub. Un fichier dump.mpsubsera crée dans le répertoire courant, contenant le texte du sous-titre au format MPsub. Vous pourez alors aisément ajouter/soustraire du temps entre les sous-titres.

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

    1.4.2 Installer l'OSD et les sous-titres

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

    Si vous avez choisi des polices non-TTF, dézippez le fichier vers ~/.mplayer ou $PREFIX/share/mplayer. Ensuite renommez ou faite un lien symbolique de l'un d'eux sur font (par ex: ln -s ~/.mplayer/arial-24 ~/.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.

    1.4.3 Menu OSD

    MPlayer possède une interface de menu OSD complètement modulable.

    Installation

    1. compilez MPlayer en passant les paramètres --enable-new-conf --enable-menu à ./configure
    2. assurez-vous que les polices OSD sont installées
    3. copiez etc/menu.conf dans votre répertoire .mplayer
    4. copiez etc/input.conf dans votre répertoire .mplayer, ou dans le fichier de config globale de MPlayer (par défaut: /usr/local/etc/mplayer)
    5. trouvez et éditez input.conf pour activer les touches correspondant aux mouvements dans le menu (c'est décrit sur place).
    6. lancez MPlayer avec par exemple:
      $ mplayer -menu file.avi
    7. pressez n'importe laquelle des touches menu que vous avez défini

    1.5 RTC

    Il y a trois méthodes de synchro dans MPlayer. Note: Ne JAMAIS installer un binaire MPlayer setuid root sur un système multi-utilisateur! C'est une manière facile pour chacun de devenir root.

    2. Fonctionnalités

    2.1 Formats supportés

    2.2 Codecs supportés

    2.3 Périphériques de sortie Video & Audio

    2.4 MEncoder - Un encodeur multi-usages

    2.5 Entrée TV

    Cette section concerne l'activation de la lecture/enregistrement à partir d'un tuner TV compatible V4L. Voir la page de man pour une description des options TV et des contrôles clavier.

    2.5.1 Compilation

    1. D'abord, vous devez recompiler. ./configure autodétectera les entêtes v4l du noyau et l'existence des entrées /dev/video*. Si elles existent, le support TV sera activé (voir le résultat de ./configure).
    2. Assurez-vous que votre tuner fonctionne avec d'autres logiciels TV pour Linux. par exemple xawtv.

    2.5.2 Astuces d'utilisation

    La liste complète des options est disponible sur la page de manuel. Voci juste quelques astuces:

    2.5.2 Exemples

    Sortie muette, vers AAlib :)
        mplayer -tv on:driver=dummy:width=640:height=480 -vo aa

    Entrée depuis V4L standard
        mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

    Un exemple plus élaboré. MEncoder capture l'image PAL entière, coupe les marges, et désentrelaçe l'image en utilisant un algorithme de mélange linéaire. L'audio est compressé à un bitrate constant de 64kbps, en utilisant le codec LAME. Cette combinaison est adaptée pour capturer des films.
        mencoder -tv on:driver=v4l:width=768:height=576 \
        -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
        -oac mp3lame -lameopts cbr:br=64 \
        -vop pp=lb,crop=720:544:24:16 -o sortie.avi


    Cela redimmensionne également l'image en 384x288 et compresse la vidéo avec un bitrate de 350kbps en mode haute qualité. L'option vqmax perds le quantizer et permet au compresseur vidéo d'atteindre un bitrate plus bas au détriment de la qualité. Cela peut être utilisé pour capturer des longues séries TV, quand la qualité n'est pas très importante.
        mencoder -tv on:driver=v4l:width=768:height=576 \
        -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
        -oac mp3lame -lameopts cbr:br=48 \
        -vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o sortie.avi

    Il est également possible de spécifier des dimensions d'image plus peites dans l'option -tv et d'omettre le zoom logiciel mais cette approche utilise le maximum d'informations disponibles et est un peut plus résistant au bruit. Les chips bt8x8 peuvent faire une moyenne de pixel uniquement dans la direction horizontale à cause d'une limitation matérielle.

    2.6 Listes d'Edition de Décision (EDL)

    Le système de liste d'édition de décision (EDL) vous permet de sauter ou rendre muet des sections de videos pendant la lecture, basé sur un fichier de configuration EDL spécifique au film.

    Ceci est utile pour ceux qui veulent voir un film en mode "tout public". Vous pouvez couper toutes violence, profanation, Jar-Jar Binks .. d'un film suivant vos propres préférences personnelles. A part ça, il y a d'autres utilisations, comme sauter automatiquement les pubs dans les fichiers vidéos que vous regardez.

    Le format de fichier EDL est plutôt rudimentaire. Une fois que le système EDL aura atteinds un certain niveau de maturité, un format de fichier basé sur XML sera problablement implémenté (en gardant une compatiblité descendante avec les précédents formats EDL).

    Le nombre maximum d'entrées EDL pour l'incarnation actuelle de EDL est 1000. Si vous avez besoin de plus, changez le #define MAX_EDL_ENTRIES dans le fichier edl.h.

    2.6.1 Utiliser un fichier EDL

    Incluez l'option -edl <nomfichier> quand vous lancez MPlayer, avec le nom du fichier EDL que vous voulez appliquer à la video.

    2.6.1 Faire un fichier EDL

    Le format de fichier actuel EDL est:

    [seconde de départ] [seconde de fin] [action]

    Où les secondes sont des nombres à virgule et l'action est soit 0 pour sauter, soit 1 pour couper le son. Exemple:

    5.3   7.1    0
    15    16.7   1
    420   422    0
    

    Cela va sauter de la seconde 5.3 à la seconde 7.1 de la vidéo, puis va couper le son à 15 secondes, le remettre à 16.7 secondes et sauter de la seconde 420 à la seconde 422 de la vidéo. Ces actions seront appliqués quand le temps de lecture atteind le temps induqyé dans le fichier.

    Pour créer un fichier EDL à partir duquel travailler, utilisez l'option -edlout <nomfichier>. Durant la lecture, quand vous voulez marquer les deux secondes précédentes à sauter, tapez i. Une entrée correspondante sera écrite dans le fichier. Vous pouvez ensuite revenir et affiner le fichier EDL généré.

    3. Utilisation

    3.1 Ligne de commande

    MPlayer utilise un ordre de lecture complexe. Il consiste en les options globales écrites en premier (par exemple mplayer -vfm 5), et les options écrites après les noms de fichier, qui s'appliquent uniquement au nom de fichier/URL/autre donné (par exemple mplayer -vfm 5 movie1.avi movie2.avi -vfm 4).
    Vous pouvez regrouper les noms de fichiers/URLs en utilisant { et }. C'est utile avec l'option -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3 jouera les fichiers dans cet ordre: 1 1 2 1 1 2 1 1 2

      fichier  mplayer [options] [chemin/]nomfichier
    fichiersmplayer [default options] [chemin/]nomfichier1 [options pour nomfichier1] nomfichier2 [options pour nomfichier2] ...
    VCDmplayer [options] -vcd nopiste [-cdrom-device /dev/cdrom]
    DVDmplayer [options] -dvd notitre [-dvd-device /dev/dvd]
    WWWmplayer [options] http://site.com/fichier.asf (les playlists peuvent être utilisées, également)
    RTSPmplayer [options] rtsp://server.exemple.com/NomFlux

    Les dernières versions de MPlayer accèptent également les pistes VCD et DVD en style URL, comme xine en fait: mplayer dvd://1 ou mplayer vcd://1

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

    3.2 Contrôles

    MPlayer dispose d'une couche de contrôle pleinement configurable, qui vous permet de contrôler MPlayer avec le clavier, la souris, le joystick ou une télécommande (en utilisant LIRC). Voir la page de man pour une liste complète des contrôles clavier.

    3.2.1 Configuration des contrôles

    Mplayer vous permet d'associer n'importe quel touche/bouton à n'importe quelle commande MPlayer en utilisant un simple fichier de config. La syntaxe consiste un nom de touche suivi d'une commande. Le fichier de config par défaut est $HOME/.mplayer/input.conf mais cela peut être outrepassé en utilisant l'option -input (les chemins relatifs le sont par rapport à $HOME/.mplayer).

    Exemple:

    ##
    ## MPlayer input control file
    ##
    
    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1
    

    3.2.1.1 Noms des touches

    Vous pouver obtenir la liste complète en éxécutant mplayer -input keylist

    Clavier:

    Souris (uniquement sous X):

    Joystick (son support doit avoir été activé à la compilation):

    3.2.1.2 Commandes

    Vous pouver obtenir la liste complète des commandes en éxécutant "mplayer -input cmdlist"

    3.2.2 Contrôle avec 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, configure l'autodétectera. Si tout c'est bien passé, Mplayer affichera un message du genre "Setting up lirc support..." au démarrage. Si une erreur se produit il vous le dira. Si il ne vous dis rient à propos de LIRC c'est que son support n'est pas compilé. C'est tout :-)

    Le nom de l'application a lancer avec MPlayer est - oh surprise - 'mplayer'. Vous pouvez utiliser n'importe quel commande mplayer et même passer plus d'une commande en les séparant avec \n. N'oubliez pas d'activer le flag repeat dans .lircrc quand cela est approprié (déplacement, volume, etc). Voici un extrait de mon .lircrc:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end
    
    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end
    
    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end
    
    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end
    

    Si vous n'aimez pas l'emplacement standard du fichier de config de lirc(~/.lircrc) utilisez -lircconf <nomfichier> pour spécifier un autre fichier.

    3.2.3 Mode esclave

    Le mode esclave vous permet de construire un frontend à MPlayer. Quand il est activé (avec -slave Mplayer lit les commandes séparées par un saut de ligne (\n) depuis l'entrée par défaut (stdin).

    3.3 Streaming depuis le réseau ou les pipes

    MPlayer peut lire des fichiers depuis le réseau, en utilisant les protocoles HTTP, MMS ou RTSP/RTP.

    La lecture se fait juste en ajoutant l'URL à la ligne de commande. MPlayer utilise la variable d'environnement http_proxy, and utilise le proxy si disponible. L'utilisation du Proxy peut aussi être forcé:

    mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/flux.asf

    MPlayer peut lire depuis stdin (Pas depuis les pipes només). Cela peut être utilisé par exemple pour lire depuis le FTP:

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

    Note: il est également recommandé d'activer le CACHE pour une lecture depuis le réseau:

      wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -cache 8192 -

    4. Section FAQ

    5. Section CD/DVD

    6. Ports

    6.1 Paquets Debian

    Pour construire le paquet, téléchargez la version cvs, ou tgz et décompressez-là, et placer vous dans le répertoire obtenu:

        cd main
        fakeroot debian/rules binary
    

    (... mplayer detecte le matériel/les logiciels, ce construit et.. ) dpkg-deb: building package `mplayer' in `../mplayer_0.90-1_i386.deb'.

    Et maintenant devenez root et:

        dpkg -i ../mplayer_0.90-1_i386.deb en tant que root.
    

    Voila à quoi ça ressemble:

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

    6.2 *BSD

    MPlayer fonctionne sur FreeBSD, OpenBSD, NetBSD, BSD/OS et Darwin. Il y a des versions ports/pkgsrc/fink/etc de MPlayer disponibles qui sont probablement plus faciles à utiliser que nos sources brutes.

    Pour construire MPlayer vous aurez besoin de GNU make (gmake - le make natif de BSD ne fonctionnera pas) et une version rescente des binutils.

    Si MPlayer se pleinds de ne pas trouver /dev/cdrom ou /dev/dvd, créez le lien symbolique approprié:
    ln -s /dev/(votre_périphérique_cdrom) /dev/cdrom.

    Pour utiliser les DLLs Win32 avec MPlayer vous devrez recompiler le noyau avec "option USER_LDT" (à moins d'utiliser FreeBSD -CURRENT, où c'est le cas par défaut).

    6.2.1 FreeBSD

    Si votre CPU à SSE, recompilez votre noyau avec "options CPU_ENABLE_SSE" pour l'utiliser (FreeBSD-STABLE ou patches noyau requis).

    6.2.2 OpenBSD

    A cause des limitations dans les différentes versions de gas (relocation vs MMX), vous aurez besoin de compiler en deux étapes: D'abord assurez-vous que le non-natif est en premier dans votre $PATH et faites un gmake -k, ensuite assurez-vous que la version native est utilisée et faite gmake.

    6.3 Solaris

    MPlayer devrait fonctionner sous Solaris 2.6 ou plus récent.

    Sur UltraSPARCs, MPlayer profite des adantages de leurs extensions VIS (équivalentes au MMX), actuellement uniquement dans libmpeg2, libvo et libavcodec, mais pas dans mp3lib. Vous pouvez regarder un fichier VOB sur un CPU à 400MHz. Vous aurez besoin d'avoir mLib installé.

    Pour construire ce paquetage vous aurez besoin de GNU make (gmake, /opt/sfw/gmake), Le make natif de Solaris ne fonctionnera pas. Message d'erreur typique si vous utilisez le make de Solaris au lieu de celui de GNU:

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

    Sur Solaris SPARC, vous aurez besoin du compilateur C/C++ GNU; cela n'a pas d'importance que le compilateur C/C++ GNU soint configuré avec ou sans l'assembleur GNU.

    Sur Solaris x86,vous aurez besoin de l'assembleur GNU et du compilateur C/C++ GNU, configuré pour l'utilisation de l'assembleur GNU! Le code de mplayer sur la plateforme x86 fait un usage intensif des instructions MMX, SSE et 3DNOW! qui ne peuvent pas être assemblées en utilisant l'assembleur de Sun /usr/ccs/bin/as.

    Le script configure essaie de trouver quel assembleur est utilisé par votre commande "gcc" (au cas ou l'autodétection échoue, utilisez l'option --as=/endroit/ou/vous/avez/installe/gnu-as pour indiquer au script configure où il peut trouver GNU "as" sur votre système).

    Message d'erreur de configure sur un système Solaris x86 en utilisant GCC sans assembleur GNU:

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

    (Solution: Installez et utilisez un gcc configuré avec "--with-as=gas")

    Erreur typique obtenue en construisant avec un compilateur C GNU 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 DVD vous devez avoir libcss patché installé. Patch: http://www.tools.de/solaris/mplayer/.

    A cause de deux bogues dans Solaris 8 x86, vous ne pouvez pas lire de disques DVD plus gros que 4 Go de façon fiable:

    Sur Solaris avec un CPU UltraSPARC, vous pouvez obtenir de la vitesse supplémentaire en utilisant les instructions VIS du CPU pour certaines opérations couteuses en temps machine. L'accélération VIS peut être utilisé dans MPlayer en appelant les fonctions de la mediaLib de Sun.

    les opérations accélérées par VIS à partir de mediaLib sont utilisées pour le décodage vidéo mpeg2 et pour la conversion de palette dans les pilotes de sortie vidéo.

    6.4 StrongARM

    MPlayer compile théoriquement 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
    

    6.5 Silicon Graphics / IRIX

    Vous pouvez soit essayer d'installer le programme d'installation GNU, et (si vous ne l'avez pas mis dans votre chemin par défaut) précisez ensuite l'endroit où il est:

      ./configure --install-path=CHEMIN
    

    Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5, auquel cas vous devrez éditer le Makefile manuellement. Changez les deux lignes suivantes:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
    
      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
    

    par:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
    
      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
    

    Et ensuite faites (depuis le rép. source de MPlayer):

      cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
    

    finalement lancez la construction et l'installation.

    6.6 QNX

    Fonctionne. Vous devrez télécharger SDL pour QNX, et l'installer. Ensuite lancez MPlayer avec les options -vo sdl:photon et -ao sdl:nto, et ça devrait être rapide.

    La sortie -vo x11 fonctionne encore plus lentement que sous Linux, car QNX n'a que émulation X qui est TRES lente. Utilisez SDL.

    6.7. Cygwin

    Le port Cygwin est toujours à ces début et les patches sont toujours bienvenus. Vous devriez aussi jeter un oeil à la liste de diffusion mplayer-cygwin pour obtenir de l'aide et les dernières informations.

    Pour avoir de la vidéo DirectX native (-vo directx), désarchivez les fichier d'entête DirectX 7 dans /usr/include/ ou /usr/local/include/ et recompilez. Cela , utilisé avec -ao win32 devrait vous donner les meilleurs résultats. Si l'image est distordue, essayez de désactiver l'accélération matérielle avec -vo directx:noaccel.

    Vous devrez aller dans le répertoire MPlayer, et copier ou lier etc/cygwin_inttypes.h vers /usr/include/inttypes.h pour que MPlayer compile. Sinon il se pleindra à propos d'un inttypes.h manquant.

    Puisqu'il n'y a pas de support pour les DLLs Win32 sous Cygwin et qu'OpenGL et mpdvdkit ne fonctionnent/compilent pas, vous devriez les désactiver dans configure avec ./configure --disable-win32 --disable-gl --disable-mpdvdkit.

    Les instructions et les fichiers pour faire tourner SDL sous Cygwin peuvent être trouvé sur le site de libsdl.

    Appendice A - Listes de diffusion

    Il y a des listes de diffusion publiques sur MPlayer. A moins que cela soit explicitement précisé la langue utilisé sur ces listes est l' Anglias. S'il vous plait, n'envoyez pas de messages dans d'autres langues ou des mails HTML! La taille limite des message est 80k. Si vous avez quelque chose de plus gros, mettez le en téléchargement quelque part. Sur les listes de diffusion, les régles d'écriture et de citation sont les même que sur usenet. Suivez-les SVP, elles simplifient énormément la vie de ceux qui lisent vos mails. Si vous ne connaissez pas ses régles, lisez le HOWTO edit messages ou (si vous êtes pressé) Quoting HOWTO.

    Note: Vous pouvez obtenir les archives avec recherche possible à http://www.mplayerhq.hu/cgi-bin/htsearch.

    Appendice B - Comment reporter un bogue

    Appendice C - Bogues connus

    Special system/CPU-specific bugs/problems:

    • SIGILL (signal 4) sur P3 en utilisant un noyau 2.2.x:
      Problème: le noyau 2.2.x n'a pas un support natif (fonctionnel) du SSE
      Solution: upgradez le noyau en 2.4.x
      Contournement: ./configure --disable-sse
    • SIGILL (signal 4) général:
      Problème: vous avez compilé et utilisez mplayer sur des machines différentes (par exemple compilé sur P3 et tournant sur Celeron)
      Solution: compilez MPlayer sur la machine sur laquelle vous l'utiliserez!
      Contournement: ./configure --disable-sse etc. options
    • "Internal buffer inconsistency" pendant l'éxécution de MEncoder:
      Problème: problème connu quand lame < 3.90 à été compilé avec gcc 2.96 ou 3.x.
      Solution: utilisez lame >=3.90.
      Contournement: compilez lame avec gcc 2.95.x et retirez les paquetages lame éventuellement installés, ils peuvent avoir été compilé avec gcc 2.96.
    • Son MP2/MP3 sale sur PPC:
      Problème: bogue de GCC sur les plateformes PPC, pas encore de réparation.
      Contournement: utilisez le décodeur MP1/MP2/MP3 de FFmpeg (lent) (-ac ffmpeg)
    • sig11 dans libmpeg2, pendant le redimmensionement+encodage:
      Problème: bogue MMX connu du GCC 2.95.2, upgradez en 2.95.3.

    Problèmes de synchro A-V et d'audio:

    Décalage audio général ou son saccadé (existe avec tous ou de nombreux fichiers):
    • le plus commun: pilote audio bogué! - Essayez d'utiliser différent pilotes, essayez l'émulation OSS ALSA 0.9 avec -ao oss, essayez aussi -ao sdl, des fois ça aide. Si votre fichier est lu correctement avec -nosound, alors vous pouvez être certain qu'il s'agit d'un problème de carte son(pilote).
    • problèmes de buffer audio (taille de buffer mal détectée)
      Contournement: option mplayer -abs
    • problèmes de taux d'échantillonage - peut être que votre carte ne supporte pas le taux d'échantillonage utilisé dans vos fichiers - essayez le plugin resampling(-aop)
    • machine lente (CPU ou VGA)
      essayez avec -vo null, si la lecture fonctionne bien, alors vous avez un(e) carte/pilote VGA lent(e).
      Contournement: achetez une carte plus rapide ou lisez cette documentation pour augmenter la vitesse.
      Essayez aussi -framedrop
    Décalage audio/désynchro spécifique à un ou quelques fichiers:
    • mauvais fichier
      Contournement:
      • option -ni ou -nobps (pour les fichiers non-entrelaçés ou mauvais)
        et/ou
      • -mc 0 (requis pour les fichiers avec de l'audio VBR mal entrelaçé)
        et/ou
      • option -delay ou les touches +/- keys pendant l'éxécution pour régler le décalage
      Si rien de tous ça n'aide, uploadez le fichier SVP, nous regarderons (et réparerons).
    • votre carte son ne supporte pas la lecture à 48kHz
      Contournement: achetez une meilleur carte son... ou essayez de décrementer les fps de 10% (utilisez -fps 27 pour un film à 30fps) ou utilisez le plugin resampler
    • machine lente
      (si A-V n'est pas proche de 0, et que le dernier nombre de la ligne d'état augmente)
      Contournement: -framedrop
    Pas de son du tout:
    • votre fichier utilise un codec audio non-supporté
      Contournement: lisez la documentation et aidez-nous à en ajouter le support
    Pas d'image du tout (juste une fenêtre completement grise/verte):
    • votre fichier utilise un codec vidéo non-supporté
      Contournement: lisez la documentation et aidez-nous à en ajouter le support
    • le codec auto-selectionné ne peut décoder le fichier, essayez avec un autre en utilisant les options -vc ou -vfm
    • vous essayez de lire un fichier DivX 3.x avec le décodeur OpenDivX ou XviD (-vc odivx) - installez Divx4Linux et recompilez MPlayer

    Problèmes de sortie vidéo:

    Première note: les options -fs -vm et -zoom sont juste des recommendations, pas (encore) supporté par tous les pilotes. Donc ce n'est pas un bogue si ça ne marche pas. Seuls quelques pilotes supportent le redimmensionnement/zoom, ne l'espérez pas de x11 ou dga.

    OSD/sub papillotant:
    - pilote x11: désolé, cela ne peut être réparé maintenant
    - pilote xv: utilisez l'option -double

    Image verte en utilisant mga_vid (-vo mga / -vo xmga):
    - mga_vid a mal détecté la quantité de RAM de votre carte, rechargez-le en utilisant l'option mga_ram_size

    Appendice D - Format de skin de MPlayer

    Appendice E - Lamentations du Développeur