MPlayer tutorial …

I] Introduction

II] Mac OSX

III] Windows

IV] Linux

A/ Installation

1) Paquetages

  1. Ubuntu
  2. Gentoo

2) depuis les sources

  1. Prérequis
  2. Compilation

3) Plugin Mozilla
4) Installation d’un skin

B/ Utilisation

C/ Problèmes rencontrés

V] Conclusion

I] Introduction:

Mplayer est un lecteur audio/vidéo extrêmement puissant issu du monde linux et depuis porté sur windows et mac.
A la manière de VLC,il emporte ses propres codecs ( liste exhaustive ici ) ce qui lui permet de lire tout ou presque.
Seule la ligne de commande permet d’apprivoiser la toute puissance de Mplayer mais l’utilisation d’une gui ( Graphical User Interface = Interface Graphique de l’Utilisateur ) s’avère satisfaisante pour un usage quotidien.

Il est impossible de dresser une liste exhaustive des features de mplayer tant son potentiel est grand ( Vous pouvez en avoir un apercu sur les screenshots officiels ).J’ai néanmoins regroupé ici quelques caractéristiques marquantes:

  • Livré avec un transcodeur alias ‘mencoder’ ( usage expert )
  • Support des skins
  • -Lecture d’à peu près tous les formats:MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA, XAnim, Win32 DLL codecs… Vous pouvez l’utiliser pour regarder VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 ,WMV.
  • Optimisé pour les processeurs Intel comme AMD (MMX/MMX2/SSE/SSE2/3DNow!/3DNowEx), PowerPC G4 (Altivec), SPARC (VIS), ARM PDAs et même la Playstation 2 !
  • Mplayer supporte également une grande variété de pilotes graphiques.: X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, but you can use GGI, SDL (et donc tous ses pilotes), VESA (sur chaque carte compatible VESA, même sans X11!) et quelques cartes de bas niveau à pilote spécifique ( Matrox, 3Dfx and ATI)!
  • MPlayer dispose d’un OSD ( OnScreen Display ) qui peut afficher en surimpression diverses informations: des sous-titres anti-aliasés voire ombrés, une notification visuelle des commandes clavier.Il supporte les polices type European/ISO 8859-1,2 (Hongroise, Anglaise, Tchèque, etc), Cyrilliques et Coréennes ainsi que 12 formats de sous-titre dont ceux des DVD.


II] MPlayer sous MAC OSX
N’ayant jamais disposé de mac,je ne m’étendrai pas sur le sujet.Une gui est en effet disponible sur sourceforge.L’installation devrait se dérouler sans heurts.
Bref en quête de feedbacks….


III] MPlayer sous Windows

Comme souvent sous linux,interface et code sont indépendants.L’architecture est identique sous windows ce qui vous laisse le choix entre installer Cygwin ou dézipper une simple archive ( plus simple ).


1) Utilisation de Cygwin (expert)
Les interfaces graphiques ne pouvant pas implémenter toutes les fonctions de mplayer ( car très nombreuses ),vous pouvez etre tenté d’installer cygwin qui va implémenter sous windows quelques features linuxiennes dont la ligne de commande.Si jamais vous n’êtes pas décidé,je vous recommande vivement d’utiliser la méthode suivante.


2) Utilisation d’une GUI (simple)
Il existe plusieurs interfaces,dont certaines gérant les skins :
-MPUI ( Skin: non )
-rulesPlayer ( Skin: Non )
Le plus simple est de dézipper l’archive officielle dénommée MPlayer 1.0rc1 Windows GUI. Aucune installation n’est nécessaire, cliquez sur mplayer.exe et vous avez accès à une interface propre contrôlant mplayer. Amusez-vous bien !


III] MPlayer sous Linux

A/ Installation

2 voies vous sont offertes:
-soit vous utilisez le système de paquetage de votre distribution.
-soit vous compilez depuis les sources.
La seconde solution s’avère plus ardue mais vous donne accès aux toutes dernières améliorations ( comme le support des codecs quicktime 7,x264 non disponibles sur les anciennes versions…).Par ailleurs l’équipe de développement n’assure le support que pour une version compilée depuis les sources.


1) Installation par paquetage
Je considère que vous savez utiliser votre système de paquetage.
1. Ubuntu
Un simple
$sudo apt-get install mplayer
devrait suffir si les dépôts ‘Universe’ sont activés ( sinon référez-vous au 2b ).Appuyez 2 fois sur TAB pour voir la liste des paquets commencant par ‘mplayer’,vous trouverez ainsi peut-être une fonction optimisée uniquement pour votre système et donc plus légère ( du style mplayer-k7 pour les processeurs de type AMD k7 ).

2. Gentoo
Comme d’habitude, commencez par un $emerge -pv mplayer pour ne pas passer à coté de certains codecs.Paramétrez votre make.conf en conséquence ou bien entrez directement $USE= » ….  » emerge mplayer

2) Compilation depuis les sources

C’est un travail de longue haleine où de nombreux problèmes peuvent survenir.Si vous n’êtes pas motivé, employez la méthode précédente.Néanmoins certains problèmes ne sont solubles qu’en effectuant les étapes suivantes.

1. Prérequis

  • Récuperer le code source depuis le repository officiel
    Si $whereis svn ne renvoie rien alors Subversion n’est pas installé.
    Vous pouvez récupérer la dernière version adaptée à votre système ici ou bien tenter un
    $sudo apt-get install subversion
    Une fois Subversion d’installé ( indispensable ).Placez-vous via $cd … dans un dossier de votre choix puis entrez:
    $svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
    Un répertoire mplayer est alors créé qui contient les toutes dernières sources de mplayer ainsi que différents dossiers du projet ffmpeg nécessaires à la compilation.
    Si jamais vous désirez plus tard recompiler mplayer,il vous suffira de faire $svn up ou $svn update pour récupérer les dernières sources.
  • Installer les codecs ( To check )
    D’abord téléchargez le pack de codecs ( la version « essential » devrait suffir ).
    Placez-vous dans le répertoire où vous avez téléchargé le codec:
    $tar xjvf essential-20060501.tar.bz2
    Entrez dans le répertoire créé lors de la décompression puis supprimez la paquetage qui s’y trouve ( $rm *.deb).
    Il ne reste plus que les codecs.
    sudo mkdir /usr/lib/win32
    sudo cp * /usr/lib/win32
  • Liste de paquetages à installer pr satisfaire les dépendances
    Il va vous falloir télécharger certains paquetages pour satisfaire les dépendances à la compilation de mplayer.La liste change selon vos options de compilation mais je vous propose la suivante plutôt générique.
    $sudo apt-get install build-essential debhelper libx11-dev libxv-dev libpng12-dev checkinstall libavcodec-dev libaa1-dev caca-utils libcaca-dev libavcodec-dev libavifile-0.7-dev libsdl1.2debian-all libsdl1.2-dev libesd0-dev libfaac-dev libfaad2-dev libgtk2.0-dev liblame-dev libice-dev libjpeg62-dev libmatroska-dev libmad0-dev libmpcdec-dev libmp4v2-dev libmikmod2-dev libogg-dev libtheora-dev libvorbis-dev libxinerama-dev libxv-dev xlibs-dev x-dev cvs libquicktime0 libquicktime-dev fakeroot gnome-core-devel libpostproc-dev libx11-dev libxv-dev libavcodec-dev libgtk1.2-dev msttcorefonts nasm
    Le tout fait dans les 47 Mo.Prenez un café le temps que ca s’installe .

    NB: Si jamais vous ne trouvez pas tout dans vos dépots, vous pouvez mettre dans votre /etc/apt/sources.list les dépots suivants ( remplacer dapper par votre version ):

    deb [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper main restricted
    deb-src [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper main restricted
    deb [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper-updates main restricted
    deb-src [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper-updates main restricted
    deb [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper universe multiverse
    deb-src [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper universe multiverse
    deb [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper-backports main restricted universe multiverse
    deb-src [url=http://au.archive.ubuntu.com/ubuntu/]http://au.archive.ubuntu.com/ubuntu/[/url] dapper-backports main restricted universe multiverse
    deb [url=http://security.ubuntu.com/ubuntu]http://security.ubuntu.com/ubuntu[/url] dapper-security main restricted
    deb-src [url=http://security.ubuntu.com/ubuntu]http://security.ubuntu.com/ubuntu[/url] dapper-security main restricted
    deb [url=http://security.ubuntu.com/ubuntu]http://security.ubuntu.com/ubuntu[/url] dapper-security universe multiverse
    deb-src [url=http://security.ubuntu.com/ubuntu]http://security.ubuntu.com/ubuntu[/url] dapper-security universe multiverse

  • Installer le codec x264 (optionnel)
    Ce codec est de plus en plus utilisé car très puissant.Il vous faudra une bonne bécane pour pouvoir le décoder ( 1,3 Ghz minimum ).Pour cela,on suit la même méthode que précédemment en utilisant SVN.
    svn co svn://svn.videolan.org/x264/trunk x264
    cd x264
    ./configure
    make
    sudo make install

2. Compilation
Le temps est enfin venu !
Faîtes bien attention aux paramètres que vous passez à ./configure car ils détermineront les capacités de mplayer.Si jamais il vous manque une option,vous serez obligé de recompiler ( même si cela reste rapide: xx minutes sur un AMD 1500+ avec 256 Mo de RAM ).

Ma configuration est la suivante,libre à vous de la modifier.Pour avoir une liste détaillée des options de compilation,tapez $./configure –help
./configure --prefix=/usr --enable-gui --disable-arts --disable-smb --enable-sdl --enable-x11 --enable-theora --confdir=/etc/mplayer --win32codecsdir=/usr/lib/win32 --enable-menu --enable-tv-v4l2 --disable-liblzo --enable-largefiles  --disable-libdv --disable-aa
une fois vos paramètres définis,lancez la compilation
$make
$sudo make install

Si jamais vous rencontrez une erreur lors de la compilation,cela peut provenir de dépendances non satisfaites,d’une mauvaise version de votre compilateur,voire d’une erreur dans le code source.En effet,le dépôt SVN évoluant au jour le jour, une erreur dans le source a pu etre commitée.Dans ce cas,il ne vous reste plus qu’à patienter
Quoiqu’il en soit regardez la sortie du compilateur pour diagnostiquer le problème ( via google par exemple ).
En dernier recours un tour sur le chan #mplayer vous aidera sûrement.

Configuration pour chaque utilisateur
Il vous faut créer les fichiers de configuration perso manuellement ‘~’ vaut pareil que ‘/home/monlogin’.
Voici la commande qui correspond à la création de fichier de configuration:
$mkdir ~/.mplayer
$cp /etc/mplayer/codecs.conf ~/.mplayer/
$cp /etc/mplayer/input.conf ~/.mplayer/
$cp /etc/mplayer/menu.conf ~/.mplayer/

Il est expliqué plus loin comment paramétrer ce fichier.

Installation d’une police
Il vous en faut obligatoirement une pour les sous-titres et l’OSD
Les polices truetypes peuvent se situer dans /usr/lib/X11/fonts/truetype/ ou /usr/lib/X11/fonts/truetypes/, adaptez la ligne selon votre configuration,copiez ou liez une police truetype dans le dossier ~/.mplayer :
$ln -s /usr/lib/fonts/truetype/arial.ttf ~/.mplayer/subfont.ttf

Si vous n’avez pas de police truetypes, téléchargez celle-ci dans ~/.mplayer/.


3) Installation du plugin mozilla (optionnel)
Il existe un plugin pour mozilla qui vous permet de lire les vidéos realmedia,wmv et quicktime sous linux.Si jamais vous n’utilisez pas mozilla passez votre chemin,dans le cas contraire,ce plugin s’avère très intéressant.
a) Ubuntu
$sudo apt-get install mplayerplug-in
b )Gentoo
$emerge -pv mplayerplug-in


4) Installation des skins (optionnel)

Au cas où vous avez utilisez gmplayer ( gui par défaut ),un tour via les dépots du style $sudo apt-get install mplayer-skins devrait vous faire plaisir.
Pour installer un skin particuler ( il en existe un liste ici ) et téléchargez le skin Blue. Décompressez l’archive puis renommer le dossier ‘Blue’ extrait en ‘default’.
Voici le code:
tar xjvf Blue-1.5.tar.bz2
mv Blue default
sudo cp -R default/ /usr/share/mplayer/Skin/


B/ Utilisation

La GUI étant intuitive mais par ailleurs limitée,nous nous focalisons ici sur la ligne de commande ( la commande pour lancer mplayer en gui étant par ailleurs ‘gmplayer [-skin skin_choisi]‘ ).

La liste exhaustive des fonctions de mplayer est disponible dans le man et plus ou moins décrite dans la documentation officielle.

A. Commandes
Les commandes basiques sont affichées si vous lancez mplayer sans arguments ou si vous tapez $mplayer -h.Si vous cherchez les différents paramètres possible d’un argument,vous pouvez lancer ‘$mplayer -argument help’ et une liste des paramètres disponibles s’affichera.
On ne verra ici que ce qui sert dans l’immédiat.
Si vous cherchez le nom du paramètre ? Entrez:
$man mplayer + /motquejecherche .Pour voir le suivant taper ‘n’.

1) Sous-titres / piste audio
Dans le cas des containers genre mkv, ‘g’ resynchronise les sous titre avec l’audio.
Pour changer de sous-titres,appuyez sur ‘j’.Les arguments correspondants étant -sid,-slang…
Vous pouvez également décaler la synchronisation de +/- 100ms en appuyant respectivement sur Z et Y ( à confirmer ) .

2) Passer en plein écran
Touche: f

Paramètre: -fs

Vous pouvez essayer de mettre en fond d’écran la vidéo comme expliqué plus loin.

3) Choisir le niveau de l’OSD

Il en existe 4: 0/1/2/3, 3 étant le plus détaillé.

Touche: o

Argument: -osd-level 2 par exemple.

4) Lire une vidéo au header endommagé
Très utile quand le téléchargement d’une vidéo n’est pas terminé et que le fichier vidéo est écrit en continu ( téléchargement direct sans accélérateur,pas valable avec p2p sauf configuration précise ),vous pouvez construire le header et donc vous déplacer dans la vidéo via la commande -idx . Comme la construction de l’index prend du temps,vous pouvez décider de sauver cet index via -saveidx nomdelindex pour le charger plus tard avec -loadix nomdelindex.
Si jamais le header est simplement endommagé,vous pouvez utiliser -forceidx.

5) Redimensionner une vidéo
Parfois les vidéos ont des dimensions plus grande que votre bureau et mplayer refuse alors de les lire.Une solution peut être d’utiliser -vo x11 mais vous pouvez également redimensionner la vidéo avec le post-processing.A cette fin,utilisez:
-vfm scale=x:y avec x et y respectivement largeur et hauteur en pixels.

6) Lecture infinie
L’arguement -loop 0 indique à mplayer de lire indéfinimement la vidéo.

7) Lecture de DVD
# Pour lire un fichier realplayer :
mplayer -forceidx fichier.rm
# Pour lire un dvd, il faut localiser le titre contenant le film, ici (5) :
mplayer -dvd 5 -dvd-device /dev/hdc alang=fr
# Pour lire un dvd avec sous titre en français, il faut localiser le titre contenant le film
mplayer -dvd 5 -dvd-device /dev/hdc slang=fr

8) For fun

  • Vous pouvez regarder votre vidéo en format texte avec -vo caca ^^
  • Mettre votre vidéo en fond d’écran :
    Il faut pour cela utiliser l’option -rootwin (ou -wid 0 selon le contexte). Cette option est compatible avec l’option fullscreen -fs :
    $mplayer -fs -rootwin <video>

    Cependant, cette option n’étant pas toujours compatible avec votre gestionnaire de bureau (nautilus pour gnome, xfdesktop pour xfce4…) il faudra surement le désactiver (en tuant le processus par exemple ).

    Vous pouvez désactiver la prise en charge du fon d’écran par nautilus en effectuant ( remplacer ‘false’ par ‘true’ pour le réactiver ):
    $ gconftool-2 -s /apps/nautilus/preferences/show_desktop -t bool false

  • S’enregistrer depuis sa webcam avec mencoder:mplayer tv:// -tv driver=v4l:width=320:height=240:device=/dev/video0:fps=30

B/ Génération du fichier de configuration
Votre configuration personnelle se situe dans ~/.mplayer.Il stocke les paramètres récurrents afin de vous éviter de les retaper à chaque fois.Très simple à configurer,il suffit d’écrire sur chaque ligne un paramètre de la ligne de commande suivi d’un signe égal puis de la valeur du paramètre ( qui peut être un booléen ).

Les commentaires sont précédés de ‘#’.
Voici mon fichier de configuration personnelle, vous pouvez y indiquer le skin par défaut ( skin=Blue par exemple ):

#Audio Output ( Sortie Audio ) est Alsa chez moi
ao="alsa"
#Accepter de ne pas tout décoder
framedrop=1
#Mettre en cache ( utile pour les supprots lents )
cache = 8192
#taille des sous-titres
subfont-text-scale=3
#mettre 0 si vous avez une télécommande infrarouge
nolirc=1
#Voulez-vous commander mplayer avec votre joystick ?
nojoystick=1
#vfm = "ffmpeg"
#afm = "ffmpeg"
sid=0
#ass=1
#Pour les mkv
correct-pts=1
embeddedfonts=1
#Permet de garder la fenetre de mplayer toujours dessus
ontop = 1


C/ Problemes rencontrés

L’intention n’est pas de remplacer la FAQ du site officiel mais d’indiquer les problèmes les plus courants et ceux n’y apparaissant pas.Si jamais vous ne rencontrez pas votre problème,lancez mplayer depuis la console avec l’option ‘-v’ ( $mplayer -v mavideo.avi ) pour obtenir le message d’erreur exact puis faites une recherche de celui-ci sur le net.Mplayer étant très répandu,vous trouverez dans 99% des cas la réponse à votre question.

1) Pas de son ?
Le problème du son est épineux sous linux.Vous pouvez choisir de système audio en utilisant -ao oss,-ao alsa,-ao esd ( « ao » = audio output ).Si mplayer vous indique que le serveur son est inaccessible, fermez tous les logiciels susceptibles de monopoliser votre carte son.
Le système le plus prometteur étant alsa ( Edit: PulseAudio :D ) , regardez comment l’installer selon votre distribution ( tutorial gentoo,tutorial ubuntu )/
Faites un tour dans alsamixer pour voir si vos canaux ne sont pas éteients ( $alsamixer ). Si ‘off’ est affiché,appuyez sur ‘m’ pour l’activer et sur les flèches directionnelles pour

2) Désynchronisation
a. Audio / Vidéo
Si vous constatez un décalage entre le son et la vidéo,cela devrait se vérifier en ligne de commande ( faire screen ) 3/4 ème colonne ?
Essayez différents serveurs audio comme ci-dessus.

Souvent l’audio est décodé plus vite que la vidéo.Pour y remédier il suffit de suivre les consignes du message d’erreur « Your PC is too SLOW » renvoyé par mplayer,à savoir:

  • lancer la vidéo avec -framedrop.
  • essayer -autosync 30
  • Pour les médias lents,type clé USB ou CD-ROM,lancez mplayer avec -cache 8192
  • ‘-nocache’…

Essayez différentes combinaisons et voyez ce qui va le mieux.
La désynchro survient régulièrement avec le codec H.264 particulièrement gourmand.Une solution consiste à compiler les dernières sources des codecs alors plus performants.En utilisant -framedrop et -vo x11 j’obtiens une image potable.

b. Avec les sous-titres
Si la désynchronisation n’est que ponctuelle,une pression sur ‘g’ resynchronisera l’audio et la vidéo.Sinon suivre les commentaires ci-dessus.

3) Utilisation avec composite/transset
Si vous avez essayé de rendre transparente la fenêtre de mplayer et que celle-ci n’affiche plus rien alors il faut changer de sortie vidéo en passant -vo x11 en paramètre.


V] Conclusion
L’utilisation de mplayer en ligne de commande peut s’avérer rebutante au début mais se révèle finalement très efficace ( grâce à l’autocomplétion ). Vous trouverez toutes les indications dans le ‘man’ très complet.
Une version 2 de mplayer entièrement réécrite est en préparation.

0 Responses to “MPlayer tutorial …”


  • Aucun commentaire

Laisser un commentaire