Ports 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. Paquets Debian Pour construire le paquet Debian, lancez la commande suivante dans le répertoire source de MPlayer: fakeroot debian/rules binary Si vous voulez passer des options particulières à configure, vous pouvez définir la variable d'environnement DEB_BUILD_OPTIONS. Par exemple, si vous voulez le support de la GUI et de l'OSD, faites: DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary Vous pouvez aussi passer quelques variables au Makefile. Par exemple, si vous voulez compiler avec gcc 3.4 même si ce n'est pas celui par défaut: CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary Pour nettoyer l'arborescence des sources, exécutez la commande suivante: fakeroot debian/rules clean 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 depuis un certain temps, vous pouvez les obtenir (apt-get) depuis sa page web. Paquets RPM Dominik Mierzejewski a créé et maintient des paquets RPM officiels de MPlayer pour Red Hat et Fedora Core. Ils sont disponibles sur son repository. Les paquets RPM pour Mandrake/Mandriva sont disponibles sur le P.L.F., SuSE incluait une version limitée de MPlayer dans sa distribution. Ils l'ont retiré dans leurs dernières versions. Vous pouvez obtenir des RPMs fonctionnels sur links2linux.de. 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 patchs utilisés pour contruire un MPlayer CVS avec libavcodec. Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded. *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). FreeBSD Si votre CPU à SSE, recompilez votre noyau avec "options CPU_ENABLE_SSE" (FreeBSD-STABLE ou patches noyau requis). OpenBSD À cause des limitations dans les différentes versions de gas (relocation contre 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 faites gmake. Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire. Darwin Voir la section Mac OS. Sun Solaris MPlayer devrait fonctionner sous Solaris 2.6 ou supérieur. Utilisez le pilote audio de SUN avec l'option pour le son. Sur les 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 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 ) 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 ... A cause de bogues dans Solaris 8, il se peut que vous ne pouviez pas lire de disques DVD plus gros que 4 Go: Le pilote sd(7D) de Solaris 8 x86 a un bogue quand on accède à un bloc disque >4Go sur un périphérique en utilisant une taille de bloc logique != DEV_BSIZE (c-a-d. CD-ROM et DVD). A cause d'un dépassement des entiers 32Bit, on accède à une adresse disque modulo 4 Go. (). Ce problème n'existe pas sur la version SPARC de Solaris 8. Un bogue similaire est présent dans le code du système de fichier hsfs(7FS) (alias ISO9660), il se peut que hsfs ne supporte pas les partitions/disques plus gros(ses) que 4GB, toutes les données sont accédées modulo 4Go. (). Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc) / 109765-04 (x86). 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 --with-install=/chemin/et/nom/de/l'installation 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. HP UX Joe Page héberge un HOWTO MPlayer sous HP-UX écrit par Martin Gansser sur sa page web. Avec ses instructions la compilation devrait fonctionner sans modifications. L'information qui suit a été récupéré depuis ce HOWTO. Vous avez besoin de GCC 3.4.0 ou supérieur, GNU make 3.80 ou supérieur et SDL 1.2.7 ou supérieur. HP cc ne fournira pas un programme qui marche, les versions précedentes de GCC sont boguées. Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en être très affecté, dépendamment de la vitesse du CPU. Un bon substitut au pauvre système son natif de HP-UX est GNU esound. Créer le périphérique DVD scanne le bus SCSI avec: # ioscan -fn Class I H/W Path Driver S/W State H/W Type Description ... ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI target 3 8/16/5.2 tgt CLAIMED DEVICE disk 4 8/16/5.2.0 sdisk CLAIMED DEVICE PIONEER DVD-ROM DVD-305 /dev/dsk/c1t2d0 /dev/rdsk/c1t2d0 target 4 8/16/5.7 tgt CLAIMED DEVICE ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0 ... La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2. L'instance de la carte pour le chemin hardware 8/16 est 1. Créer un lien depuis le prériphérique brut vers le périphérique DVD. # ln -s /dev/rdsk/c<SCSI bus instance>t <SCSI target ID>d<LUN> /dev/<device> Exemple: # ln -s /dev/rdsk/c1t2d0 /dev/dvd Ci-dessous sont exposées les solutions pour certains problèmes communs: Plante au démarrage avec le message d'erreur suivant: /usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl Cela signifie que la fonction .finite(). n'est pas disponible dans la librairie standard math de HP-UX. A la place, il y a .isfinite().. Solution: Utiliser le dernier fichier dépôt Mesa. Plante à la lecture avec le message d'erreur suivant: /usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0 Solution: Utiliser l'option extralibdir lors de configure MPlayer segfaults avec un message comme celui-ci: Pid 10166 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. Segmentation fault Solution: Le noyau HP-UX a une taille de pile par défaut de 8MO(?) par processus. (des patches 11.0 et de plus récent 10.20 vous permettront d'augmenter maxssiz jusqu'à 350MB pour les programmes 32-bit). Vous aurez besoin d'étendre maxssiz et de recompiler le noyau (et redémarrer). Vous pouvez utiliser SAM pour ce faire. (Pendant ce temps, aller voir le paramètre maxdsiz pour le montant maximum de données qu'un programme peut utiliser. Cela dépend de vos applications, si la valeur par défaut de 64MO est suffisante ou non.) QNX Fonctionne. Vous devrez télécharger SDL pour QNX, et l'installer. Ensuite lancez MPlayer avec les options et , et ça devrait être rapide. La sortie fonctionne encore plus lentement que sous Linux, car QNX ne dispose que d'une émulation X qui est TRÈS lente. Utilisez SDL. Windows Oui, MPlayer tourne sous Windows via Cygwin et MinGW. Il n'a pas encore de GUI, mais la version en ligne de commande est complètement opérationnelle. Vous devriez jeter un oeil à la liste de diffusion Mplayer-cygwin pour obtenir de l'aide et les dernières informations. Les binaires officiels de Windows peuvent être récupérés sur la page de téléchargement. Les paquetages d'installation et de simple frontends GUI sont disponibles à partir de sources externe, nous avons collecté ensuite dans la section Windows de notre page de projets. Si vous souhaitez éviter d'utiliser la commande en ligne, une astuce toute simple est de mettre un raccourci sur votre bureau qui contient quelque chose comme ce qui suit dans la section d'execution: c:\chemin\vers\mplayer.exe %1 Cela va faire lire à MPlayer n'importe quel film qui est laché sur le raccourci. Ajoutez pour le mode plein écran. Les meilleurs résultats sont obtenus avec le codec vidéo DirectX natif () et le pilote waveout natif de Windows (). Vous pouvez aussi utiliser OpenGL et SDL, mais les performances d'OpenGL sont très variables suivant les systèmes et SDL est connu pour distordre le son et l'image et planter sur certains systèmes. Si l'image est distordue, essayez de désactiver l'accélération matérielle avec . Téléchargez les fichiers d'entête DirectX 7 pour compiler le pilote de sortie vidéo DirectX. De plus vous devez avoir DirectX 7 ou supérieur pour que ce pilote fonctionne. VIDIX fonctionne maintenant sous Windows avec , bien que ce soit toujours expérimental et que cela requiert une configuration manuelle. Téléchargez dhahelper.sys ou dhahelper.sys (avec support des MTRR) et copiez le dans le répertoire libdha/dhahelperwin de votre arborescence MPlayer. Ouvrez une console et placez-vous dans ce répertoire. Ensuite tapez gcc -o dhasetup.exe dhasetup.c et exécutez dhasetup.exe install en tant qu'Administrateur. Ensuite vous devez rebooter. Lorsque c'est fait, copiez les fichiers .so de vidix/drivers dans le répertoire mplayer/vidix relatif à votre mplayer.exe. Pour de meilleurs résultats MPlayer devrait utiliser une palette que votre carte graphique supporte de façon matérielle. Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez mplayer -benchmark -nosound -frames 100 -vf format=palette filmpalette peut être n'importe quelle palette affichée par l'option . Si vous trouvez une palette que votre carte gère particulièrement mal, l'empèchera d'être utilisée. Ajouter cela à votre fichier de conf pour ne plus l'utiliser de façon permanente. There are special codec packages for Windows available on our codecs page to allow playing formats for which there is no native support yet. Put the codecs somewhere in your path or pass (alternatively only on Cygwin) to configure. We have had some reports that Real DLLs need to be writable by the user running MPlayer, but only on some systems (NT4). Try making them writable if you have problems. Il y a des paquetages de codec spécial pour Windows disponible sur notre page de codecs pour permettre de jouer les formats qui ne sont pas encore nativement supportés. Placez les codecs quelque part dans votre patch ou passez (éventuellement uniquement sous Cygwin) à configure. Nous avons eu quelques retours indiquant que les DLLs Real doivent être accessibles en écriture pour l'utilisateur ayant lancé MPlayer, mais seulement sur certains systèmes (NT4). Essayez de les rendre accessibles en écriture si vous avez des problèmes. Vous pouvez lire des VCDs en jouant les fichiers .DAT ou .MPG que Windows affiche sur les VCDs. Cela fonctionne tout simplement comme cela (changez la lettre de votre lecteur de CD-ROM): mplayer d:/mpegav/avseq01.dat Les DVDs fonctionnent également, ajustez à la lettre de votre lecteur DVD-ROM: mplayer dvd://<titre> -dvd-device d: La console Cygwin/MinGW est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option améliore les performances. Le rendu direct () peut également aider. Vous pouvez éviter le tremblement de L'OSD en utilisant le double buffering avec l'option . Si la lecture est sale, essayez . Si certaines de ces options vous sont utiles, vous pouvez les placer dans votre fichier de config. <application>Cygwin</application> Vous devez utiliser Cygwin 1.5.0 ou supérieur pour pouvoir compiler MPlayer. Les fichiers d'entête DirectX doivent être décompressés dans /usr/include/ ou dans /usr/local/include/. Les instructions et les fichiers pour faire tourner SDL sous Cygwin peuvent être trouvés sur le site de libsdl. <application>MinGW</application> Installer une version de MinGW qui puisse compiler MPlayer était considéré comme compliqué, mais fonctionne désormais sans modifications. Installez simplement MinGW 3.1.0 ou plus récent et MSYS 1.0.9 ou plus récent et dites au postinstall de MSYS que MinGW est installé. Décompressez les fichiers d'entête de DirectX dans /mingw/include/. Le support des entêtes compressées MOV requiert zlib, que MinGW ne fournit pas par défaut. Configurez-le avec et installez-le avant de compiler MPlayer. De complètes instructions pour compiler MPlayer et les librairies nécessaires sont disponibles sur MPlayer MinGW HOWTO. Mac OS MPlayer devrait compiler sans changement sur Mac OS X 10.2 et au dessus. Le compilateur préféré étant la version Apple de GCC 3.x ou plutard. Si vous avez Mac OS X 10.3.9 ou plutard et QuickTime 7 vous pouvez utiliser le pilote macosx de sortie vidéo. MPlayer OS X Vous pouvez obtenir un GUI natif et un binaire pré-compilé de MPlayer pour Mac OS X depuis le projet MPlayerOSX, mais soyez averti: ce projet n'est plus du tout actif. Heureusement, MPlayerOSX a été repris en main par un membre de l'équipe de MPlayer. Des versions preview sont disponibles sur notre page de téléchargement et une version officielle ne devrait pas tarder. Afin de compiler MPlayerOSX depuis le source vous-même, vous avez besoin du module mplayerosx, du module main et d'une copie du module CVS main renommé en main_noaltivec. mplayerosx est le frontend GUI, main est un MPlayer et main_noaltivec est le MPlayer compilé sans le support AltiVec. Pour récupérer les modules CVS utilisez: cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P mplayerosx cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P main Pour compiler MPlayerOSX vous aurez besoin de mettre en place quelque chose comme ceci: MPlayer_repertoire_source | |--->main (MPlayer CVS source) | |--->main_noaltivec (MPlayer CVS source configuré avec --disable-altivec) | |--->mplayerosx (MPlayerOSX CVS source) Premièrement vous avez besoin de compiler main et main_noaltivec. Ensuite, réglez une variable globale: export MACOSX_DEPLOYMENT_TARGET=10.3 Et, configure: Si vous configurez pour un CPU G4 ou au-dessus avec le support AltiVec, faire comme suit: ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 Si vous configurez pour un G3, faire comme suit: ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 --disable-altivec Vous pourriez avoir besoin d'éditer config.mak et changer le -mcpu et -mtune de 74XX à G3. Continuez avec make ensuite placez vous dans le répertoire mplayerosx et tapez make dist Cela créera une archive compressée .dmg avec le binaire prêt à l'emploi. Vous pouvez aussi utiliser le projet Xcode 2.1; le vieux projet pour Xcode 1.x n'étant plus du tout en fonction. Amiga/MorphOS (GeekGadgets) Les gens de chez www.amigasoft.net font des paquetages actualisés pour MPlayer et MEncoder. Nicholas Det de Genesi a réalisé un gros et puissant portage de MPlayer pour MorphOS. Malheureusement, il est basé sur la série 0.90. Téléchargez-le sur MorphZone: Binaire de MPlayer 0.91 Source de MPlayer 0.91 Binaire de MEncoder 1.0pre3