MPlayer - Le Lecteur vidéo pour LINUX

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

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


Table des matières



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. La plupart des questions ont leur réponse quelque part ici et le reste à déjà probablement été demandé sur nos listes de diffusion. Jetez un oeil aux archives, il y a beaucoup d'informations dessus. 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 maîtriser (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 êtes juste idiot, à mon humble avis. Une fille avec qui j'habite pensait que l'aspirateur était 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) fainéant b) ignorant. Il y a tellement de personnes qui voient le mot "erreur" et s'arrêtent là.... Quelques 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 reconstruire ses indexes soit temporairement avec l'option -idx, soit de manière définitive avec MEncoder, autorisant 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 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... Arpi, 2001

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écent. Sous Linux, les noyaux 2.4.x sont recommandé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écentes) ont un zoom matériel et l'accélération YUV , les autres n'en ont pas.

Cartes YUV

Vous pouvez afficher et redimensionner (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 redimensionnement logiciel (utilisez les options -zoom ou -vf 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

À ce point, MPlayer est prêt à fonctionner. Le fichier $PREFIX/etc/mplayer/codecs.conf n'est requis que si vous voulez changer ses propriétés, car le binaire principal en contient une copie interne.
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.

Notez que si vous avez un codecs.conf dans ~/.mplayer/ le fichier codecs.conf interne et celui du système seront complètement ignorés. Ne faites pas cela à moins que vous vouliez jouer avec MPlayer car cela risque de poser de nombreux problèmes. Si vous voulez changer l'ordre de recherche des codecs, utilisez les options -vc, -ac, -vfm, ou -afm en ligne de commande ou dans votre fichier de configuration (voir la page de man).

Les utilisateurs Debian peuvent construire un paquet .deb pour leur propre usage, c'est très simple. Exécutez 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 contiennent 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 1.2.x (elle n'est pas entièrement basée dessus, mais les menus le sont). Les skins sont stockées au format PNG, donc gtk, libpng (ainsi que leurs paquets devel, généralement gtk-dev et libpng-dev) doivent être installés. Vous pouver la compiler en spécifiant l'option --enable-gui durant l'étape ./configure. Ensuite, pour activer le mode GUI, vous devrez lancer le programme gmplayer.

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 (excepté les trois premiers) 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éga-octets) 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 omis, MPlayer essaiera 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 essaiera 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 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 pourrez 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 apparaître/disparaître avec la touche 'o').

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

(les sous-titres sont toujours activés, pour les désactiver merci de lire la page de man)

Vous pouvez en modifier le comportement par défaut en spécifiant la variable osdlevel= dans le fichier config, ou en précisant l'option -osdlevel en ligne de commande.

1.4.3 Menu OSD

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

NOTE: le menu des préférences n'est PAS IMPLÉMENTÉ pour l'instant !

Installation

  1. compilez MPlayer en passant le paramètre --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 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.4.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.4.2 Astuces d'utilisation

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

2.4.3 Exemples

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

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

Un exemple plus élaboré. MEncoder capture l'image PAL entière, coupe les marges, et désentrelace 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 driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
    -oac mp3lame -lameopts cbr:br=64 \
    -vf crop=720:544:24:16,pp=lb -o sortie.avi tv://


Cela dimensionne également l'image en 384x288 et compresse la vidéo avec un bitrate de 350kbps en mode haute qualité. L'option vqmax perd 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 driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 \
    -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 -o sortie.avi tv://

Il est également possible de spécifier des dimensions d'image plus petites 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 pixels uniquement dans la direction horizontale à cause d'une limitation matérielle.

2.5 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 vidéos 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 atteint un certain niveau de maturité, un format de fichier basé sur XML sera probablement implémenté (en gardant une compatibilité 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.5.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.5.2 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 atteint le temps indiqué 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 acceptent é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 pouvez obtenir la liste complète en exécutant mplayer -input keylist

Clavier:

Souris (uniquement sous X):

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

3.2.1.2 Commandes

Vous pouvez obtenir la liste complète des commandes en exé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 contrôlez 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, FTP, 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, et utilise le proxy si disponible. L'utilisation du Proxy peut aussi être forcée:

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

MPlayer peut lire depuis stdin (Pas depuis les pipes nommé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 Linux

La plateforme principale de développement est Linux sur x86, bien que MPlayer fonctionne sur de nombreux autres ports Linux. Des binaires de MPlayer sont disponibles depuis de nombreuses sources. Par contre, aucun de ces paquets n'est supporté. Rapportez les problèmes à leurs auteurs, pas à nous.

6.1.1 Paquets Debian

Pour construire le paquet Debian, lancez la commande suivante dans le répertoire source de MPlayer:

    fakeroot debian/rules binary

En tant que root installez le paquet .deb comme d'habitude:

    dpkg -i ../mplayer_<version>.deb

Christian Marillat a construit des paquets Debian non-officiels pour MPlayer, MEncoder et les polices pendant un certain temps, vous pouvez les obtenir (apt-get) depuis sa page web.

6.1.2 Paquets RPM

Dominik Mierzejewski a créé et maintient des paquets Red Hat RPM officiels de MPlayer. Ils sont disponibles sur sa page web.

Les paquets Mandrake de MPlayer sont disponibles sur le P.L.F), SuSE inclus une version limitée de MPlayer dans sa distribution. Vous pouvez obtenir des RPMs fonctionnels sur links2linux.de.

6.1.3 ARM

MPlayer fonctionne sur les PDAs Linux avec un CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière la plus facile d'obtenir MPlayer est de récupérer un des paquets OpenZaurus. Si vous voulez le compiler vous-même, vous devriez regarder les répertoires mplayer et libavcodec du répertoire raçine de la distribution OpenZaurus. Ils ont toujours les derniers Makefile et patches utilisés pour contruire un MPlayer CVS avec libavcodec.
Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.

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 récente des binutils.

Si MPlayer se plaint 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 avantages 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 soit 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 bogues dans Solaris 8, il se peut que vous ne pouviez pas lire de disques DVD plus gros que 4 Go:

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 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 la ligne suivante:

  $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

par:

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

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

  cp DOCS/mplayer.1 .

finalement lancez la construction et l'installation.

6.5 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 TRÈS lente. Utilisez SDL.

6.6. Windows

Yes, MPlayer tourne sous Windows sous Cygwin et MinGW. Il n'a pas encore de GUI, mais la version en ligne de commande est presque complètement opérationelle. Les Patches sont toujours les bienvenus. Vous devriez jeter un oeil à la liste de diffusion mplayer-cygwin pour obtenir de l'aide et les dernières informations.

Les meilleurs résultats sont obtenus avec le codec vidéo DirectX natif (-vo directx) et le pilote waveout natif de Windows (-ao win32) car OpenGL ne fonctionne pas et SDL est connu pour distordre le son et l'image et planter sur certains systèmes. Vous pouvez afficher la fenêtre par dessus les autres applications avec -vo directx:ontop. Si l'image est distordue, essayez de désactiver l'accélération matérielle avec -vo directx:noaccel. Téléchargez les fichiers d'entête DirectX 7 pour compiler le pilote de sortie vidéo DirectX.

Les codecs Win32, les DLLs QuickTime et les codecs Real Win32 (pas les codecs Real Linux) fonctionnent également. Placez les codecs quelque part dans votre path ou passez --with-codecsdir=c:/chemin/de/vos/codecs (éventuellement --with-codecsdir=/chemin/de/vos/codecs uniquement sous Cygwin) à configure. Nous avons eu quelques retours indiquant que les DLLs Real doivent être accessibles en écriture pour l'utilisateur, mais seulement sur certains systèmes. Essayez de les rendre accessibles en écriture si vous avez des problèmes.

La console Cygwin/MinGW est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option -quiet amèliore les performances. Le rendu direct (-dr) peut également aider. Vous pouvez éviter le tremblement de L'OSD en utilisant le double buffering avec l'option -double. Si la lecture est sale, essayez -autosync 100. Si certaines de ces options vous sont utiles, vous pouvez les placer dans votre fichier de config.

Il existe des versions précompilées créées par Sascha Sommer disponibles sur notre page web. Joey Parrish à réalisé des paquets Windows non-officiels complets avec installeur.

6.6.1 Cygwin

Les versions de Cygwin antérieures à 1.5.0 n'incluent pas inttypes.h. Vous devez copier ou lier etc/cygwin_inttypes.h depuis le répertoire source de MPlayer vers /usr/include/inttypes.h pour que MPlayer compile.

Les fichiers d'entête DirectX doivent être décompressés dans /usr/include/ ou /usr/local/include/.

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

Vous pouvez jouer des VCDs en lisant les fichiers .DAT ou .MPG que Windows fait apparaître sur les VCDs. Cela fonctionne comme ça (changez la lettre de votre lecteur CD-ROM):

mplayer d:/mpegav/avseq01.dat

mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG

Les DVDs fonctionnent également, définissez juste votre périphérique DVD pour qu'il corresponde à votre périphérique CD-ROM:

mplayer dvd://<titre> -dvd-device '\\.\d:'

6.6.2 MinGW

Installer une version de MinGW qui puisse compiler MPlayer est considéré comme compliqué, mais ne consiste en fait qu'en trois étapes simples et devrait bientôt fonctionner sans modifications.

  1. Installez MinGW 3.0.0 ou plus rescent.
  2. Installez MSYS 1.0.9 ou plus rescent et indiquez au postinstall de MSYS que MinGW est installé.
  3. Remplacez /mingw/include/sys/types.h par types.h.

Décompressez les fichiers d'entête de DirectX dans /mingw/include/.

Les VCDs et DVDs fonctionnent comme avec Cygwin (ajustez la lettre de votre lecteur de CD-ROM):

mplayer d:/mpegav/avseq01.dat

mplayer /d/MPEG2/AVSEQ01.MPG

mplayer dvd://<titre> -dvd-device /d/

7. Encodage avec MEncoder

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ée sur ces listes est l'Anglais. S'il vous plaît, 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 ces 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:

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): Décalage audio/désynchro spécifique à un ou quelques fichiers: Pas de son du tout: Pas d'image du tout (juste une fenêtre complètement grise/verte):

Problèmes de sortie vidéo:

Première note: les options -fs -vm et -zoom sont juste des recommandations, pas (encore) supporté par tous les pilotes. Donc ce n'est pas un bogue si ça ne marche pas. Seuls quelques pilotes supportent le redimensionnement/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