Copyright © 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
Table des matières
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 devraient trouver leur réponse ici et le reste a probablement déjà été demandé sur nos listes de diffusion. Regardez leurs archives, il y a beaucoup d'informations intéressantes à y trouver.
Table des matières
MPlayer est un lecteur de vidéos pour GNU/Linux (fonctionne sur de nombreux autres Un*x, et processeurs non-x86 voir la section Ports). Il lit la majorité des fichiers MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska supportés par de nombreux codecs natifs, XAnim, RealPlayer et les DLLs Win32. Vous pouvez regarder les VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora, ainsi que les vidéos au format DivX (et vous n'avez même pas besoin de la bibliothèque avifile pour cela !). L'autre point fort de MPlayer est la grande variété de pilotes de sortie supportée. Il fonctionne avec X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, mais vous pouvez utiliser GGI et SDL (et ainsi tous leurs pilotes) et également certains pilotes de bas niveau spécifiques à certaines cartes (pour Matrox, 3Dfx et Radeon, Mach64, Permedia3) ! La plupart d'entre eux supportent le redimmensionnement logiciel ou matériel, vous pouvez donc apprécier les films en 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 lissé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 MPEG endommagés (utile pour certains VCDs), ainsi que les mauvais fichiers AVI qui ne sont pas lisibles par le célèbre Windows Media 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 les choses les plus importantes, mais la vitesse est également formidable.
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, audio PCM/MP3/MP3 VBR. Il possède également un puissant système de plugins pour la manipulation vidéo.
Fonctionnalités de MEncoder
MP3 audio VBR
L'audio MP3 VBR ne peut pas toujours être bien lu sur les lecteurs Windows!
Fonctionnalités prévues
MPlayer et MEncoder peuvent être distribués selon les termes de la GNU General Public License Version 2.
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 ils 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...
A'rpi, 2001
mpg12play v0.1-v0.3: 22-25 Sep 2000
Le premier essai, réalisé en une demi-heure ! J'ai utilisé libmpeg3 de http://www.heroinewarrior.com dans sa version 0.3, mais il présentait des problèmes de vitesse/qualité d'images.
mpg12play v0.5-v0.87: 28 Sep-20 Oct 2000
Le codec Mpeg a été remplacé par DVDview de Dirk Farin, du bon boulot, mais c'était lent et écrit en C++ (A'rpi déteste le C++!!!)
mpg12play v0.9-v0.95pre5: 21 Oct-2 Nov 2000
Le codec mpeg était libmpeg2 (mpeg2dec) par Aaron Holtzman & Michel Lespinasse. Il est excellent, un code C rapide et bien optimisé avec une qualité d'image parfaite et 100% compatible avec les standards MPEG.
MPlayer v0.3-v0.9: 18 Nov-4 Dec 2000
Un condensé de deux programmes: mpg12playv0.95pre6 et mon nouveau lecteur de AVI 'avip' basé sur le chargeur de DLL Win32 de avifile.
MPlayer v0.10: 1er Jan 2001
Les lecteurs MPEG et AVI dans un seul binaire !
série MPlayer v0.11pre:
De nouveaux développeurs ont joint le projet et depuis la version 0.11 le projet MPlayer est un travail d'équipe ! Ajout du support des fichiers .ASF, et de l'encodage/décodage OpenDivX (c.f. http://www.projectmayo.com).
MPlayer v0.17a "The IdegCounter" 27 Avr 2001
La finalisation de la version 0.11pre après 4 mois de développement intensif ! Essayez la, et soyez conquis ! Des dizaines de nouvelles fonctionnalités... et bien sûr le code existant a été amélioré, les bogues fixés, etc.
MPlayer 0.18 "The BugCounter" 9 Juillet 2001
Deux mois après la 0.17, une nouvelle parution.. Complété le support ASF, plus de formats pour les sous-titres, introduction de libao (similaire à libvo pour l'audio), encore plus stable et performant.... C'est un MUST !
MPlayer 0.50 "The Faszom(C)ounter" 8 Oct 2001
Hmm. Une nouvelle sortie. Des tonnes de nouvelles fonctionnalités, une GUI en version bêta, des bogues fixés, de nouveaux drivers vo et ao, portage sur de nombreux systèmes, incluant les codecs DivX Open-Source, et bien plus encore... Essayez le !
MPlayer 0.60 "The RTFMCounter" 3 Jan 2002
Support des formats de fichier MOV/VIVO/RM/FLI/NUV, CRAM natif, Cinepak, codecs ADPCM, et support des codecs XAnim binaires; support des sous-titres DVD, première sortie de MEncoder, capture TV, cache, liba52, réparations innombrables.
MPlayer 0.90pre10 "The BirthdayCounter" 11 Nov 2002
MPlayer 0.90pre10 "The BirthdayCounter" 11 Nov 2002 Bien que ce ne soit pas une version officielle, je la mentionne parce qu'elle est sortie 2 ans après MPlayer v0.01. Joyeux anniversaire, MPlayer !
MPlayer 0.90rc1 "The CodecCounter" 7 Dec 2002
Là encore, pas une version officielle, mais après l'ajout du support Sorenson 3 (QuickTime) et Windows Media 9, MPlayer est le premier lecteur de film au monde qui supporte tous les formats vidéos connus!
MPlayer 0.90 "The CounterCounter" 6 Avr 2003
Après plus d'un an, nous avons finalement conclu que le code était de nouveau suffisemment stable, et pret à sortir en temps que version officielle. Malheureusement nous avons oublié d'incrémenter le numéro de version, et d'autres bogues ennuyeux sont apparus, donc préparez-vous pour...
MPlayer 0.91 "?" 13 Août 2003
Des corrections ont été apportées à ce qui est dit ci-dessus, ainsi qu'à d'autres bogues. Ceci est la dernière version stable.
MPlayer 1.0pre1 "Développement sur la plage" 1er Sep 2003
Bien que ce ne soit pas une version stable, je la mentionne car c'est la première pré-version de la série 1.0 de MPlayer et qu'elle est destinée à aider la grande chasse aux bogues. C'est un pas en avant énorme !
MPlayer 1.0 date encore inconnue
Un guide d'installation rapide peut être trouvé dans le fichier README. Veuillez le lire d'abord et revenir ensuite ici pour le reste des détails.
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 la peine.
Vous aurez besoin d'un système relativement récent. Sous Linux, les noyaux 2.4.x sont recommandés.
binutils - version conseillée : 2.11.x. Ce programme génère les instructions spécifiques MMX/3DNow!, donc très important.
gcc - versions conseillées: 2.95.3 (peut être 2.95.4) et 3.2+. N'utilisez jamais 2.96 ou 3.0.x! Ils génèrent des erreurs de code. Si vous décidez de changer votre gcc 2.96, n'optez pas en faveur d'un 3.0.x uniquement parce qu'il sera plus récent ! Les premières versions des 3.x étaient encore plus boguées que 2.96. Donc downgradez vers 2.95.x (downgradez libstdc++ également, d'autres programmes pourraient en avoir besoin) ou ne changez pas du tout (mais dans ce cas, préparez-vous à des problèmes lors de l'exécution). Si vous optez pour un 3.x, essayez toujours la dernière version, les plus anciennes avaient des bogues variés, donc assurez-vous d'utiliser au moins 3.1, il est testé et fonctionnel. Pour de plus amples informations sur les bogues de gcc 2.96 (qui ne sont toujours PAS fixés, il ont été CONTOURNÉS dans MPlayer!), voir la section gcc 2.96 et la FAQ.
XFree86 - version conseillée : toujours la plus récente (4.3). Normalement, tout le monde veut cela, car à partir de la version 4.0.2, XFree86 contient l'extension XVideo (parfois appelé Xv) qui est nécessaire pour activer l'accélération YUV matérielle (affichage rapide) des cartes qui le supportent. Assurez-vous que ses paquets de développement sont également installés, sinon cela ne fonctionnera pas. Pour certaines cartes, vous n'aurez pas besoin de XFree86. Voir la liste plus bas.
make - version conseillée : toujours la plus récente (au moins 3.79.x). Ceci n'est en général pas très important.
SDL - pas obligatoire, mais peut aider dans certains cas (mauvaise sortie audio, cartes vidéo qui rament avec le pilote xv). Utilisez toujours la plus récente version (à partir de 1.2.x).
libjpeg - décodeur JPEG optionnel, utilisé par l'option -mf et certains fichiers QT MOV. Utile pour MPlayer et MEncoder si vous prévoyez de travailler avec des fichiers jpeg.
libpng - Décodeur (M)PNG par défaut, recommandé. Requis pour la GUI. Utile pour MPlayer et MEncoder.
lame - recommandé, requis pour l'encodage MP3 audio avec MEncoder, version conseillée : toujours la plus récente (au moins 3.90).
zlib - recommandé, nécessaire pour les entêtes MOV compressées et le support PNG.
libogg - optionnel, requis pour lire les fichiers au format OGG.
libvorbis - optionnel, requis pour lire du OGG Vorbis audio.
LIVE.COM Streaming Media - optionnel, requis pour lire des flux RTSP/RTP.
directfb - optionnel, depuis http://www.directfb.org
cdparanoia - optionnel, pour le support CDDA
libfreetype - optionnel, pour le support des fontes TTF. Au moins 2.0.9 est requis.
libxmms - optionnel, pour le support des plugins d'entrée de XMMS. Au moins 1.2.7 est requis.
libsmb - optionnel, pour le support Samba.
libavcodec: Ce paquet de codecs est capable de décoder les flux encodés en H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/SVQ1/SVQ3 et les flux audio WMA (Windows Media Audio) v1/v2, sur plusieurs plateformes. Il est également considéré comme le plus rapide pour cette tâche. Voir la section FFmpeg pour de plus amples détails. Fonctionnalités:
codecs Win32: Si vous prévoyez d'utiliser MPlayer sur une architecture non x86, vous en aurez probablement besoin. Téléchargez les codecs Win32 depuis notre page de codecs et installez-les dans /usr/local/lib/codecs AVANT de compiler MPlayer, sinon aucun support Win32 ne sera compilé!
Le projet avifile a un paquet de codecs similaire, mais qui diffère du nôtre. Si vous voulez avoir tous les codecs supportés, alors installez notre paquet (ne vous inquiétez pas, avifile fonctionne avec sans problèmes).
codecs QuickTime: sur les plateformes x86 ces codecs peuvent être utilisés pour décoder RPZA et les autres vidéos QuickTime, ainsi que les flux audio QDesign. Les instructions d'installation peuvent être trouvées dans la section codec vidéo Sorenson.
DivX4/DivX5: information sur ce codec disponible dans la section DivX4/DivX5. Vous ne voudrez probablement pas de ce codec car libavcodec (voir plus haut) est bien plus rapide et de meilleur qualité, tant pour le décodage que l'encodage. Fonctionnalités:
XviD: Encodage libre alternatif à Divx4Linux Caractéristiques:
Les codecs XAnim (plein écran, zoom YUV matériel) pour décoder les films 3ivx et Indeo 3/4/5, et quelques autres vieux formats. Et ils sont multiplateforme, c'est donc la seule façon de lire de l'Indeo sur des plateformes non-x86 (bon, à part en utilisant XAnim:). Mais par exemple les films Cinepak sont mieux joués par le décodeur Cinepak de MPlayer!
Pour le décodage d'Ogg Vorbis, vous aurez besoin d'installer libvorbis correctement. Utilisez les paquets deb/rpm si ils sont disponibles, ou compilez à partir des sources (c'est un tarball mis à jour chaque nuit à partir du CVS Vorbis).
MPlayer peut utiliser les bibliothèques de RealPlayer 8 ou RealONE pour lire de la vidéo RealVideo 2.0-4.0, et de l'audio Sipro/Cook. Voir la section format de fichier RealMedia pour les instructions d'installation et plus d'information.
Il y a généralement deux types de cartes graphiques. 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.
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 Matrox G200/G400/G450/G550: bien qu'un pilote Vidix soit fourni, il est recommandé d'utiliser le module noyau mga_vid à la place, il fonctionne bien mieux. Voir la section mga_vid pour son installation et son utilisation. Il est important de faire cela avant la compilation de MPlayer, sinon aucun support mga_vid ne sera construit. Voir aussi la section Matrox TV-out. Si vous n'utilisez pas Linux, votre seule possibilité est le pilote VIDIX: lisez la section VIDIX.
Cartes 3Dfx Voodoo3/Banshee: voir la section tdfxfb pour obtenir une grande accélération. Il est important de faire cela avant la compilation de MPlayer, sinon aucun support 3Dfx ne sera disponible. Voir aussi la section 3dfx TV-out. Si vous utilisez X, utilisez au moins la version 4.2.0, car les pilotes Xv 3dfx sont endommagés dans 4.1.0 et les versions plus anciennes.
Cartes ATI: un pilote VIDIX est fourni pour les cartes suivantes: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Voir aussi la section Cartes ATI de la documentation TV-out, pour savoir si la sortie TV de votre carte est supporté sous Linux/MPlayer.
Cartes S3: les chipsets Savage et Virge/DX possèdent l'accélération matérielle. Utilisez la plus récente version de XFree86 possible, les anciens pilotes sont bogués. Les chipsets Savage ont des problèmes avec l'affichage YV12, voir la section Xv S3. Plus anciennes, les cartes Trio n'ont pas ou peu d'accélération matérielle.
Cartes nVidia: très mauvais choix pour la lecture vidéo. Si vous n'avez pas une GeForce2 (ou plus récent), elle risque de ne pas fonctionner sans bogues. Le pilote intégré à XFree86 ne supporte l'accélération matérielle YUV sur aucune des cartes nVidia. Vous devrez télécharger les pilotes nVidia propriétaires depuis nVidia.com. Voir la section pilote Xv nVidia pour de plus amples détails, voir aussi la section nVidia TV-out si vous souhaitez utiliser une télé.
3DLabs GLINT R3 et Permedia3: un pilote VIDIX est fourni (pm3_vid). Reportez vous à la section VIDIX pour plus de détails.
Autre cartes: Aucune de celles citées plus haut ?
L'affichage en plein-écran peut être obtenu soit en activant le redimensionnement logiciel (utilisez -zoom ou -vf, 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:
GD 7548: intégré aux cartes mères et testé sur la gamme de portables Compaq Armada 41xx.
Décidez si vous avez besoin d'une GUI (interface graphique). Si c'est le cas, voir la section GUI avant de compiler.
Si vous voulez installer MEncoder (notre excellent encodeur multi-usages), voir la section MEncoder.
Si vous possédez une carte tuner TV compatible V4L, et désirez voir/enregistrer et encoder des films avec MPlayer, voyez la section Entrée TV.
Il y a un élégant Menu OSD prêt à être utilisé. Regardez la section menu OSD.
Ensuite compilez MPlayer:
./configure make make install
A ce point, MPlayer est prêt à fonctionner. Le répertoire $PREFIX/share/mplayer contient le fichier codecs.conf, qui est utilisé pour donner au programme la liste des codecs et de leurs capacités. Ce fichier 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 personnel (~/.mplayer/codecs.conf) provenant d'une ancienne installation de MPlayer, et supprimez-le.
Notez que si vous avez un codecs.conf dans ~/.mplayer/, les fichier codecs.conf du système ou celui intégré seront complètement ignorés. Ne faites pas cela à moins de vouloir jouer avec le fonctionnement interne de MPlayer car cela peut poser des problèmes. Si vous voulez changer l'ordre de recherche des codecs, utilisez les options -vc, -ac, -vfm, ou -afm soit en ligne de commande soit dans votre fichier de config (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 binarydans le répertoire racine de MPlayer. Voir Création de paquets Debian pour de plus amples instructions.
Regardez toujours 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 OSD pour les détails.
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 de dev, généralement nommés 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 l'activer vous devrez exécuter le binaire 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=nouvelleskin dans votre fichier de configuration pour utiliser la skin dans le répertoire */Skin/newskin.
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, en utilisant ces options:
MPsub: -dumpmpsub
SubRip: -dumpsrtsub
MicroDVD: -dumpmicrodvdsub
JACOsub: -dumpjacosub
Sami: -dumpsami
MEncoder peut convertir les sous-titres DVD au format VobSub.
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. Si vous avez des fichiers tels que sample.sub, sample.ifo (optional), sample.idx - vous devrez passer à MPlayer l'option -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 exemple.txt, vous devrez passer l'option -sub exemple.txt (éventuellement avec le chemin complet).
Réglage du timing et de l'emplacement des sous-titres:
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.
A propos des sous-titres DVD, voir la section DVD.
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):
FORMAT=TIME # 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écoupage. 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 -dumpmpsubUn fichier dump.mpsub sera 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 une technique nommée 'OSD', On Screen Display (Affichage sur l'écran). L'OSD est utilisé pour afficher le temps de lecture, la barre de volume, d'avance/retour rapide, le contraste, etc.
Vous aurez besoin d'un paquet de polices MPlayer afin d'utiliser les fonctions d'OSD/SUB. Il y a plusieurs manières de les obtenir :
Utiliser le générateur de polices de TOOLS/subfont-c. C'est un outil complet pour convertir les polices TTF/Type1/etc en paquets de polices mplayer (voir TOOLS/subfont-c/README pour les détails).
Utiliser le plugin générateur de polices de GIMP dans TOOLS/subfont-GIMP (note: vous devez avoir le plugin brut HSI également, voir http://realtime.ssu.ac.kr/~lethean/mplayer/).
Utiliser une fonte TrueType (TTF), par l'intermédiaire de la librairie freetype. La Version 2.0.9 ou supérieur est obligatoire! Ensuite vous avez deux méthodes:
utiliser l'option -font /chemin/de/police.ttf pour spécifier un fichier de polices TrueType à chaque fois
créer un lien symbolique:
ln -s /chemin/de/police.ttf ~/.mplayer/subfont.ttf
Télécharger des paquetages de polices prêtes à l'emploi depuis le site de MPlayer. Note: Les polices actuellement disponibles sont limitées a l'iso 8859-1/2, mais il y en a quelques autres (coréen, russe, 8859-8, etc) dans la section contrib/font du FTP, créées par les utilisateurs.
Les polices devront disposer du fichier font.desc approprié qui associe les positions maps unicode au code actuel du texte sous-titré. Une autre solution est d'avoir des sous-titres encodés en UTF8 et d'utiliser l'option -utf8 ou de renommer le fichier des sous-titres en <nom_video>.utf. Enregistrer de codepages différents en UTF8 peut se faire en utilisant les programmes konwert ou iconv.
Tableau 1.1. Quelques liens:
URL | Commentaire |
---|---|
ftp://ftp.mplayerhq.hu/MPlayer/releases/ | polices ISO |
ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/ | contributions d'utilisateurs |
http://realtime.ssu.ac.kr/~lethean/mplayer/ | polices coréennes et plugin RAW |
Si vous avez choisi des polices non-TTF, dézippez le fichier vers ~/.mplayer ou $PREFIX/share/mplayer. Ensuite renommez ou faites un lien symbolique de l'un d'eux sur font, par exemple:
ln -s ~/.mplayer/arial-24 ~/.mplayer/fontVous pouvez maintenant voir un compteur dans le coin supérieur gauche du film. (Faites les apparaître/disparaître avec la touche o).
(les sous-titres sont toujours activés, pour les désactiver merci de lire la page de man)
L'OSD possède 4 états (interchangeable avec o):
MPlayer possède une interface de menu OSD complètement modulable.
Le menu des préférences n'est PAS IMPLÉMENTÉ pour l'instant !
Installation
lancez MPlayer avec par exemple:
$ mplayer -menu fichier.avi
Il y a trois méthodes de synchro dans MPlayer.
Le nouveau code de synchro utilise la RTC (Real Time Clock) du PC pour cette tâche, car elle à des timers précis à 1ms près. Il est automatiquement activé si disponible, mais requiert des droits root, un binaire MPlayer setuid root ou un noyau configuré dans ce but. Si vous utilisez un noyau 2.4.19pre8 ou plus récent, vous pouvez ajouter la fréquence maxi de la RTC pour les utilisateurs normaux au travers du système de fichier /proc. Utilisez cette commande pour activer la RTC pour les utilisateurs normaux:
echo 1024 > /proc/sys/dev/rtc/max-user-freqSi vous n'avez pas un noyau si récent, vous pouvez aussi changer une ligne du fichier drivers/char/rtc.c et recompiler votre noyau. Trouvez la section suivante
* We don't really want Joe User enabling more * than 64Hz of interrupts on a multi-user machine. */ if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))et changez le 64 en 1024. Cependant, vous devriez savoir ce que vous faites. Vous pouvez voir l'efficacité du nouveau timer sur la ligne d'état. Les fonctions d'économie d'énergie du BIOS de certains portables qui contrôlent la vitesse des processeurs interfèrent avec la RTC. L'audio et la vidéo peuvent alors se désynchroniser. Brancher l'alimentation sur secteur avant de démarrer le portable semble aider. Vous pouvez toujours désactiver le support RTC avec l'option -nortc. Dans certaines configurations matérielles (confirmé durant l'utilisation d'un lecteur DVD sans DMA sur une carte ALi1541), l'utilisation de la RTC peut causer une image qui saute. Dans ce cas, il est recommandé d'utiliser la troisième méthode.
Ne JAMAIS installer un binaire MPlayer setuid root sur un système multi-utilisateur ! C'est une manière facile pour n'importe qui de devenir root.
Table des matières
Il est important de clarifier une erreur commune. Quand les gens voient un fichier avec une extension .AVI, ils en concluent immédiatement qu'il ne s'agit pas d'un fichier MPEG. Ce n'est pas vrai. Du moins pas entièrement. Contrairement aux suppositions populaires, un tel fichier peut contenir de la vidéo MPEG1.
Vous voyez, un codec n'est pas la même chose qu'un format de fichier. Exemples de codecs vidéo: MPEG1, MPEG2, DivX, Indeo5, 3ivx. Exemples de formats de fichier: MPG, AVI, ASF.
En théorie, vous pouvez placer une vidéo OpenDivX et de l'audio MP3 dans un format de fichier MPG. Par contre, la plupart des lecteurs ne pourrons pas lire ce fichier car ils attendent de la vidéo MPEG1 et de l'audio MP2 (contrairement à l'AVI, le MPG ne contient pas les champs nécessaires pour décrire ses flux vidéo et audio). Ou vous pouvez placer de la vidéo MPEG1 dans un fichier AVI. FFmpeg et MEncoder peuvent créer ces fichiers.
Les fichiers MPEG peuvent avoir des apparences différentes:
Les séries de trames forment des groupes indépendants dans les fichiers MPEG. Cela signifie que vous pouvez couper/joindre un fichier MPEG avec des outils fichier standards (comme dd, cut), et il restera parfaitement lisible.
Une fonction importante des MPGs est qu'ils ont un champ décrivant le rapport d'aspect du flux vidéo, et dans l'entête ce champs est fixé à 4:3, il est donc lu en 640x480. Les fichiers AVI n'ont pas ce champs, donc ils doivent être redimensionné durant l'encodage ou joués avec l'option -aspect.
Conçu par Microsoft, AVI (Audio Video Interleaved) est un format répandu et multi-usages actuellement utilisé par la plupart des vidéos DivX et DivX4. Il a de nombreux inconvénients et défauts (par exemple en streaming). Il supporte un flux vidéo et de 0 à 99 flux audio. La taille du fichier est limité à 2Go, mais il existe une extension permettant des fichiers plus gros appelée OpenDML. Actuellement Microsoft Décourage fortement son utilisation au profit d' ASF/WMV.
Il y a un hack qui permet aux fichiers AVI de contenir un flux audio Ogg Vorbis, mais qui les rend incompatibles avec le standard AVI. MPlayer peut lire ces fichiers. Le déplacement est aussi implémenté mais sévèrement gêné par les fichiers mal encodés avec des entêtes trompeuses. Malheureusement le seul encodeur capable actuellement de créer ces fichiers, NanDub, a ce problème.
Les caméras DV créent des flux DV bruts que les utilitaires de capture DV convertissent en deux types de fichiers AVI différents. L'AVI pourra ensuite contenir soit des flux audio et vidéo séparés que MPlayer peut lire, soit un flux DV brut pour lequel le support est en développement.
Il y a deux types de fichiers AVI:
MPlayer supporte deux types de synchro pour les fichiers AVI:
N'importe quel codec audio et vidéo est autorisé, mais notez que l'audio VBR n'est pas très bien supporté par la plupart des lecteurs. Le format de fichier rend l'utilisation d'audio VBR possible, mais la plupart des lecteurs attendent de l'audio CBR, donc ils échouent avec VBR. VBR n'est pas très courant et les spécs AVI de Microsoft ne décrivent que l'audio CBR. La plupart des encodeurs /multiplexeurs créés de mauvais fichiers en utilisant l'audio VBR. Il n'y a que deux exceptions: NanDub et MEncoder.
ASF (Active Streaming Format) provient de Microsoft. Ils ont développé deux variantes de l'ASF, v1.0 et v2.0. v1.0 est utilisé par leurs outils multimédia (Windows Media Player et Windows Media Encoder) Bien sûr elles diffèrent, il n'y a pas de compatibilité du tout (ce n'est juste qu'un autre nom légal). MPlayer ne supporte que la v1.0, car personne n'a vu de fichiers v2.0 :). Notez que les fichiers ASF viennent de nos jours avec l'extension .WMA ou .WMV.
Ces formats ont été conçus par Apple et peuvent contenir n'importe quel codec, CBR ou VBR. Ils ont généralement une extension .QT ou .MOV. extension. Notez que depuis que le group MPEG4 a choisi QuickTime en temps que format recommandé pour le MPEG4, leur fichiers MOV sont diffusés avec une extension .MPG ou .MP4 (Au passage les flux vidéo et audio de ces fichiers sont de véritables fichiers MPG et AAC. Vous pouvez même les extraire avec les options -dumpvideo et -dumpaudio).
La plupart des nouveaux fichiers QuickTime utilise de la vidéo Sorenson et de l'audio QDesign Music. Voir notre section sur le codec Sorenson.
MPlayer démuxe les fichiers VIVO avec plaisir. Le plus gros désavantage de ce format est qu'il n'a pas de bloc d'index, ni de taille de paquets fixe ou d'octet de synchro et la plupart des fichiers manquent même de trames clés, donc oubliez le déplacement!
Le codec vidéo des fichiers VIVO/1.0 est le h.263 standard. Le codec vidéo des fichiers VIVO/2.0 est un h.263v2 modifié et non-standard. Même chose pour l'audio, qui peut être g.723 (standard), ou Vivo Siren.
Voir les sections Codec VIVO video et Codec VIVO audio pour les instructions d'installation.
FLI est un très ancien format de fichier utilisé par Autodesk Animator, mais c'est un format courant pour les animations courtes trouvées sur le net. MPlayer démuxe et décode les films FLI et est même capable de ce déplacer à l'intérieur (utile en utilisant l'option -loop). Les fichiers FLI n'ont pas de trame clé, donc l'image sera brouillée pendant un court instant après le déplacement.
Oui, MPlayer peut lire (démuxer) les fichiers RealMedia (.rm). Le déplacement fonctionne mais vous devrez spécifier explicitement l'option -forceidx (le format supporte les trames cl). Voici une liste des codecs RealVideo et RealAudio supportés.
NuppelVideo est un outil de capture TV (d'après ce que j'en sais:). MPlayer peut lire ses fichiers .NUV (NuppelVideo 5.0 uniquement). Ces fichiers peuvent contenir des trames YV12 non-compressées, YV12+RTJpeg compressées, YV12 RTJpeg+lzo compressées, et YV12+lzo compressées. MPlayer les décode tous (et les encode également avec MEncoder en DivX/etc!). Le déplacement fonctionne.
yuv4mpeg / yuv4mpeg2 est un format de fichier utilisé par les programmes mjpegtools. Vous pouvez grabber, produire, filtrer ou encoder de la vidéo dans ce format en utilisant ces outils. Le format de fichier est réellement une séquence d'images YUV 4:2:0 non-compressées.
Les fichiers RoQ sont des fichiers multimédia utilisé dans certains jeux ID comme Quake III et Return to Castle Wolfenstein.
Ceci est un nouveau format de Xiphophorus. Il peut contenir n'importe quel codec vidéo ou audio, CBR ou VBR. Vous aurez besoin d'installer libogg et libvorbis avant la compilation de MPlayer pour qu'il puisse les lire.
SDP est un format IETF standard pour décrire les flux RTP video et/ou audio. (Les librairies "LIVE.COM Streaming Media" sont requises.)
PVA est un format semblable à MPEG utilisé dans les logiciels des cartes TV DVB (par ex.: MultiDec, WinTV sous Windows.)
Les spécifications PVA peuvent être téléchargées à l'adresse suivante: http://www.technotrend.de/download/av_format_v1.pdf
Le format GIFest un format courant pour les graphismes web. Il y a deux versions des specs GIF, GIF87a et GIF89a. La principale différence est que le GIF89a autorise l'animation. MPlayer supporte les deux formats en utilisant libungif ou une autre librairie compatible libgif. Les GIFs non-animées seront affichées comme des vidéos à simple trame. (Utilisez les options -loop et -fixed-vo pour les afficher plus longtemps).
MPlayer ne supporte actuellement pas le déplacement dans les fichiers GIF. Les fichiers GIF n'ont pas nécessairement une taille de trame fixe, ni un débit fixe. De plus, chaque trame est de taille indépendante et est sensée être positionné à une certaine place dans un champ de taille fixe. Le débit est contrôlé par un bloc optionnel avant chaque trame qui spécifie le décalage de la prochaine trame en centièmes de seconde.
Les fichiers GIF standard contiennent des trames 24-bit RGB avec au plus une palette 8-bit. Ces trames sont généralement compressées en LZW, bien que certains encodeurs GIF produisent des trames non-compressées pour éviter les problèmes de licence avec la compression LZW.
Si votre distribution ne contient pas libungif, téléchargez-en une copie depuis la page de libungif . Pour des informations techniques détaillées, regardez la spécification GIF89a.
MPlayer est un lecteur de films et pas de media, bien qu'il puisse lire quelques formats audio (listés dans les sections ci-dessous). Ce n'est pas un usage recommandé de MPlayer, vous feriez mieux d'utiliser XMMS.
Vous pouvez avoir des problèmes pour lire certains fichiers MP3 que MPlayer prends pour des MPEGs et ne joue pas correctement voir pas du tout. Ceci ne peut être réparé sans enlever le support de certains fichiers MPEG endommagés et donc restera ainsi pour un temps indéterminé. L'option -demuxer décrite dans la page de man pourrait vous aider dans ces cas-là.
MPlayer peut utiliser cdparanoia pour lire des CDDA (Audio CD). Le but de cette section n'est pas d'énumérer les fonctions de cdparanoia.
Voir la page de man pour les options à passer à cdparanoia via -cdda.
MPlayer peut utiliser les plugins d'entrée de XMMS pour jouer de nombreux formats de fichier. Il y a des plugins pour les thèmes de jeux SNES, les thèmes SID (du Commodore 64), de nombreux formats Amiga, .xm, .it, VQF, musepack, Bonk, shorten et bien d'autres. Vous pouvez les trouver sur la page des plugins d'entrée XMMS.
Pour cette fonctionnalité vous devez avoir XMMS et compiler MPlayer avec MPlayer avec ./configure --enable-xmms. Si cela ne fonctionne pas, vous pourriez avoir besoin de préciser le chemin des plugins et des librairies XMMS explicitement par l'intermédiaire des options --with-xmmsplugindir et --with-xmmslibdir.
Voir la table d'état des codecs pour une liste complète, générée quotidiennement. Très peu de codecs sont disponibles en téléchargement sur notre page web. Récupérez-les depuis notre page des codecs.
Les plus importants d'entre eux:
Si vous avez un codec Win32 non listé ici qui n'est pas encore supporté, veuillez lire Comment importer des codecs et aidez-nous à en ajouter le support.
Cette section contient des informations sur les codecs DivX4 et DivX5 de Project Mayo. La première version (alpha) disponible fût OpenDivX 4.0 alpha 47 et 48. Son support était inclut dans MPlayer, et compilé par défaut. Nous avons fréquemment utilisé son code de postprocessing pour améliorer la qualité visuelle des vidéos MPEG1/2. Maintenant nous utilisons notre propre code, pour touts les types de fichier.
La nouvelle génération de ce codec est appelée DivX4 et peut même décoder les vidéos créées avec le très mauvais codec DivX ! De plus il est plus rapide que les DLLs Win32 DivX natives mais plus lent que libavcodec. Son utilisation en tant que décodeur est donc DÉCOURAGÉ. Cependant, il est utile pour l'encodage. Un désavantage de ce codec est que ces sources sont ne sont pas disponibles sous une licence Open source.
DivX4Linux fonctionne dans deux modes:
La méthode -vc odivx est généralement plus rapide, grâce au fait qu'elle transfert les données des images au format YV12 (planar YUV 4:2:0), nécessitant ainsi moins de bande passante sur le bus. Pour les modes YUV compactés (YUY2, UYVY), utilisez la méthode -vc divx4. Pour les modes RGB la vitesse est la même, au mieux elle peut varier selon votre profondeur de couleur.
Si votre pilote -vo supporte le rendu direct, alors -vc divx4 pourra être plus rapide voir même la solution la plus rapide.
Le codec binaire de Divx4/5 peut être téléchargé depuis avifile ou divx.com Désarchivez-le, lancez ./install.sh en root et n'oubliez pas d'ajouter /usr/local/lib à votre /etc/ld.so.conf et de lancer ldconfig.
Récupérez la version CVS de l'ANCIENNE librairie principale OpenDivx comme ceci:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
Cette librairie principale est séparée en librairies d'encodage et de décodage qui doivent être compilées séparément. Pour la librairie de décodage, tapez simplement
cd divxcore/decore/build/linux make cp libdivxdecore.so /usr/local/lib ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/decore.h /usr/local/include
Hélas, pour la librairie d'encodage il n'y a pas de Makefile Linux disponible, et le code optimisé pour MMX ne fonctionne que sous Windows. Vous pouvez quand même le compiler en utilisant ce Makefile.
cd ../../../encore/build mkdir linux cd linux cp path/Makefile . make cp libdivxencore.so /usr/local/lib ln -s /usr/local/lib/libdivxencore.so /usr/local/lib/libdivxencore.so.0 cp ../../src/encore.h /usr/local/include
MPlayer détecte si DivX4/DivX5 est correctement installé, donc compilez le normalement. Si il ne détecte pas le codec, votre installation ou votre configuration n'est pas correcte.
FFmpeg contient un codec open source, qui est capable de décoder des flux encodés avec des codecs audio et vidéo variés. Il offre également un confort d'encodage impressionnant et une plus grande vitesse que les codecs Win32 ou les librairies DivX4/5 de DivX.com !
Il contient plein de bons codecs, les plus importants étant les variantes MPEG4: DivX 3, DivX 4, DivX 5, Windows Media Video 7/8 (WMV1/WMV2). Le décodeur WMA est également très intéressant.
Le codec le plus récent est le codec Sorenson 3 (SVQ3). C'est la première implémentation complètement opensource de ce codec. Il est même plus rapide que l'original. Assurez-vous d'utiliser celui-ci à la place du codec binaire !
Pour avoir la liste complète des codecs supportés veuillez vous reporter à la page web de FFmpeg. Codecs video et audio supportés.
Si vous utilisez une version officielle vous avez libavcodec directement dans le paquetage, construisez comme d'habitude. Si vous utilisez la version CVS de MPlayer vous devrez extraire libavcodec de l'arborescence CVS de FFmpeg car les versions officielles de FFmpeg sont très rares. Le CVS est pratiquement stable et offre plus de fonctions. Pour y arriver faites:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
Déplacez le répertoire libavcodec des sources FFmpeg à la racine de l'arborescence CVS de MPlayer. Cela devrait ressembler à cela: main/libavcodec
Faire un lien symbolique n'est pas suffisant, vous devez le copier ou le déplacer!
Si vous préférez que libavcodec soit mis à jour en même temps que vous mettez à jour le CVS de MPlayer, indiquez la ligne suivante dans le fichier main/CVS/Entries:
D/libavcodec////
Compilez. configure devrait détecter les problèmes avant la compilation.
La version CVS de MPlayer contient un sous-répertoire libavcodec, mais il ne contient pas le source de libavcodec! Vous devez suivre les étapes ci-dessus pour obtenir le source de cette librairie.
Avec FFmpeg et ma Matrox G400, je peut voir des films DivX en haute résolution sans sauter de trames sur mon K6-2 500.
Soyez prévenu que les codecs binaires XAnim sont packagées avec un un morceau de texte revendiquant être la licence liée au logiciel qui, entre autres restrictions, interdit à l'utilisateur d'utiliser les codecs en conjonction avec n'importe quel autre programme que XAnim. Cependant l'auteur de XAnim n'a encore entrepris d'actions légales contre quiconque pour des problèmes relatifs aux codecs.
INSTALLATION ET UTILISATION. MPlayer est capable d'employer les codecs XAnim pour décoder. Suivez les instructions pour les activer:
Téléchargez les codecs que vous désirez utiliser depuis le site d'XAnim. Le codec 3ivx n'y est pas, il est sur le site de 3ivx.
OU téléchargez le pack de codecs depuis notre page des codecs.
Utilisez l'option --with-xanimlibdir pour dire à configure où trouver les codecs XAnim. Par défaut, il les cherche dans /usr/local/lib/codecs, /usr/local/lib/xanim/mods, /usr/lib/xanim/mods et /usr/lib/xanim. Vous pouvez également fixer la variable d'environnement XANIM_MOD_DIR avec le répertoire des codecs XAnim.
Renommez/faites des liens symboliques de ces fichiers, en séparant le reste de l'architecture, ils auront donc des noms comme ceux-ci: vid_cvid.xa, vid_h263.xa, vid_iv50.xa.
XAnim sont des codecs de la famille xanim, donc vous pouvez utiliser l'option -vfm xanim pour dire à MPlayer de les utiliser si possible.
Les codecs testés incluent: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.
MPlayer peut lire les vidéos Vivo (1.0 and 2.0). Le codec le plus approprié pour les fichiers 1.0 est le décodeur H263 de FFmpeg, vous pouvez l'utiliser avec l'option -vc ffh263. Pour les fichiers 2.0, utilisez la DLL Win32 par l'intermédiaire de l'option -vc vivo.Si vous ne fournissez pas d'options en ligne de commande,MPlayer sélectionne le meilleur codec automatiquement.
MPEG1 et MPEG2 sont décodé par la librairie multiplateforme libmpeg2 native, dont le code source est inclus dans MPlayer. Nous gérons la vidéo MPEG 1/2 boguée en attrapant le Signal 11 (segmentation fault), et en réinitialisant rapidement le codec, continuant ainsi exactement où l'erreur c'est produite. Cette technique de récupération n'a pas d'influence mesurable sur la vitesse.
C'est un très vieux et très mauvais codec de Microsoft. Dans le passé il était décodé par le codec Win32 msvidc32.dll, maintenant nous avons notre propre implémentation open source (par Mike Melanson).
MPlayer utilise son propre décodeur Cinepak, open source et multiplateforme (par le Dr. Tim Ferguson) par défaut. Il supporte les sorties YUV, donc le zoom matériel est possible si le pilote de sortie vidéo le permet.
MPlayer décode toutes les versions de RealVideo:
Il est recommandé de télécharger et d'installer RealPlayer8 ou RealONE, car MPlayer peut utiliser leurs librairies pour décoder les fichiers contenant de la vidéo RealVideo 2.0 - 4.0. Le script configure de MPlayer devrait détecter les librairies RealPlayer aux emplacements standards d'une installation complète. Si non, dites à configure où chercher avec l'option --with-reallibdir.
À défaut vous pouvez télécharger les codecs sur http://www.mplayerhq.hu/MPlayer/releases/codecs/. Après avoir téléchargé le paquet de codecs Real, extrayez-le dans le répertoire /usr/local/lib/codecs, ou spécifiez un chemin unique avec l'option --with-reallibdir.
Les librairies RealPlayer ne fonctionnent actuellement qu'avec Linux, FreeBSD, NetBSD et Cygwin sur les plateformes x86,Alpha et PowerPC (Linux/Alpha et Linux/PowerPC ont été testés) .
XviD est un fork du développement du codec OpenDivX. Il est apparu quand ProjectMayo est passé d'OpenDivX au sources-fermées DivX4 (Maintenant DivX5), et les personnes extérieures à ProjectMayo travaillant sur OpenDivX se sont fâchés, et ont démarré XViD. Les deux projets ont donc la même origine.
AVANTAGES
DÉSAVANTAGES
INSTALLER LA VERSION CVS DE XVID
XviD n'est actuellement disponible que depuis le CVS. Voici les instructions de téléchargement et d'installation (vous aurez besoin d'au moins autoconf 2.50, automake et libtool) :
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
cd xvidcore/build/generic
./bootstrap.sh
./configureVous pouvez avoir à ajouter des options (examinez la sortie de
./configure --help).
make && make install
Si vous avez spécifié --enable-divxcompat, copiez ../../src/divx4.h dans /usr/local/include/.
Recompilez MPlayer avec --with-xvidcore=/chemin/de/libxvidcore.a.
Sorenson est une famille de codec vidéo développée par Sorenson Media et licenciée à Apple qui le distribue avec son lecteur QuickTime. Nous sommes actuellement capables de décoder toutes les versions des fichiers Sorenson avec les décodeurs suivants:
COMPILER MPLAYER AVEC LE SUPPORT DES LIBRAIRIES QUICKTIME
actuellement seules les plateformes Intel 32bit sont supportées.
téléchargez le CVS de MPlayer
téléchargez le pack de DLL QuickTime sur http://www.mplayerhq.hu/MPlayer/releases/codecs/
décompressez le pack de DLL QuickTime dans votre répertoire de codecs Win32 (par défaut: /usr/local/lib/codecs/)
compilez MPlayer
Les plus importants d'entre eux:
C'est le décodeur utilisé par défaut pour les fichier avec de l'audio AC3.
Le décodeur AC3 peut créer des sortie audio mixées pour 2, 4 ou 6 haut-parleurs. Quand il est configuré pour 6 haut-parleurs, ce décodeur fournit des sorties séparées pour tous les canaux AC3 du pilote son, autorisant la pleine expérience du "son surround" sans décodeur AC3 externe requis pour l'usage du codec hwac3.
Utilisez l'option -channels pour sélectionner le nombre de canaux de sortie. Utilisez -channels 2 pour un mix stéréo. Pour un mix 4 canaux (Avant Gauche, Avant Droite, Surround Gauche et Surround Droit), utilisez-channels 4. Dans ce cas, l'éventuel canal du centre sera mixé à part égale sur les canaux de devant. -channels 6 sortira tous les canaux AC3 tels qu'ils ont été encodé - dans l'ordre Gauche, Droite, Surround Gauche, Surround Droit, Centre et LFE.
Le nombre de canaux par défaut est 2.
Pour utiliser plus de 2 canaux de sortie, vous devrez utiliser OSS, et avoir une carte son qui supporte le nombre de canaux de sortie requis via le ioctl SNDCTL_DSP_CHANNELS. Un exemple de driver approprié est emu10k1 (utilisé par la carte Soundblaster Live!) depuis Août 2001 (Le CVS ALSA est également sensé fonctionner).
Vous avez besoin d'une carte son gérant l'AC3, avec une sortie numérique (SP/DIF). Le pilote de la carte doit supporter correctement le format AFMT_AC3 (C-Media le fait). Connectez le décodeur AC3 à la sortie SP/DIF, et utilisez l'option-ac hwac3 . C'est expérimental mais cela fonctionne avec les cartes C-Media, Soundblaster Live! en utilisant les pilotes ALSA (mais pas OSS) et les décodeurs MPEG DXR3/Hollywood+.
libmad est une librairie multi-plateforme de décodage MPEG audio entière (24bit PCM interne) uniquement. Elle ne gère pas très bien les fichiers endommagés, et elle a parfois des problèmes pour le déplacement, mais elle peut mieux se comporter que mp3lib sur des plateformes sans FPU (tel que ARM).
Pour en activer le support, compilez avec l'option de configuration --enable-mad
Le codec audio utilisé dans les fichiers VIVO dépends du fait que ce soit un fichier VIVO/1.0 ou VIVO/2.0. Les fichiers VIVO/1.0 ont de l'audio g.723, et les fichiers VIVO/2.0 de l'audio Vivo Siren. Les deux sont supportés.
MPlayer supporte le décodage de presque toutes les versions de RealAudio:
Pour savoir comment installer les librairies RealPlayer, voyez la section format de fichiers RealMedia.
Les flux audio QDesign (fourcc:QDMC, QDM2) se trouvent dans les fichiers MOV/QT. Les deux versions de ce codec peuvent être décodées avec les librairies QuickTime. Pour les instructions d'installation merci de voir la section codec vidéo Sorenson.
Les flux audio Qualcomm (fourcc:Qclp) se trouvent dans les fichiers MOV/QT. Pour les instructions d'installation merci de voir la section codec vidéo Sorenson.
AAC (Advanced Audio Coding) est un codec parfois présent dans les fichiers MOV et MP4. Un décodeur open source appelé FAAD est disponible sur http://www.audiocoding.com. MPlayer inclus libfaad 2.0RC1, vous n'avez donc pas à l'obtenir séparemment.
Si vous utilisez gcc 3.2 qui ne peut pas compiler notre FAAD interne, ou si vous voulez utiliser une librairie externe pour d'autres raisons, téléchargez la librairie dpuis la page de téléchargements et passez --with-externalfaad à configure. Vous n'avez pas besoin de tout faad2 pour décoder les fichiers AAC, libfaad suffit. Construisez comme ceci:
cd faad2/ chmod +x bootstrap ./bootstrap ./configure cd libfaad make make installLes binaires ne sont pas disponibles sur audiocoding.com, mais vous pouvez obtenir les paquets Debian sur la page web de Christian Marillat, les RPMs Mandrake sur le P.L.F et les RPMS Red Hat sur la page web de Dominik Mierzejewski.
VFW (Video for Windows) est une ancienne API vidéo pour windows. Ses codecs portent l'extension .DLL ou (rarement) .DRV. Si MPlayer n'arrive pas à lire votre AVI et renvoie :
UNKNOWN video codec: HFYU (0x55594648)
Cela signifie que votre AVI est encodé avec un codec HFYU fourcc (HFYU = codec HuffYUV, DIV3 = DivX Low Motion, etc...). Maintenant que nous savons cela, nous devons déterminer quelle DLL windows utilise pour lire ce fichier. Dans votre cas, le fichier system.ini contient (entre autres):
VIDC.HFYU=huffyuv.dll
Nous aurons donc besoin de la librairie huffyuv.dll. Notez que les codecs audio sont spécifiés par le préfixe MSACM :
msacm.l3acm=L3codeca.acm
C'est le codec MP3. Nous avons désormais toutes les informations nécessaires (fourcc, fichier codec, fichier AVI). Demandez le support de votre codec par mail, et envoyez ces fichiers sur le FTP : ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomcodec]/
Sous Windows NT/2000/XP cherchez cette info dans la base de registre, c-a-d cherchez "VIDC.HFYU". Pour savoir comment faire, regardez l'ancienne méthode DirectShow ci-dessous.
DirectShow est une API vidéo récente pour Windows, sans doute plus mauvaise que la précédente. La situations est plus délicate avec DirectShow, puisque
Nouvelle Méthode
En utilisant Microsoft GraphEdit (rapide)
Obtenez GraphEdit depuis le SDK DirectX ou sur doom9
Exécutez graphedit.exe.
Dans le menu sélectionnez Graph -> Insert Filters.
Dépliez l'élément DirectShow Filters
Sélectionnez le bon nom de codec et dépliez l'élément.
Dans l'entrée DisplayName regardez le texte entre accolades après le backslash et notez-le (cinq blocs délimités par des tirets, le GUID).
Le binaire du codec est le fichier spécifié dans l'entrée Filename.
Si il n'y a pas d'entrée Filename et que DisplayName contient quelque chose comme device:dmo, alors c'est un codec DMO.
Ancienne Méthode
Respirez à fond et fouillez dans la base de registre...
Lancez regedit.
Pressez Ctrl+F, décochez les deux premières cases, et cochez la troisième. Entrez le fourcc du codec. (par ex.: TM20).
Vous devriez trouver un champ contenant le chemin et le nom du fichier utilisé (par ex. C:\WINDOWS\SYSTEM\TM20DEC.AX).
Maintenant que nous avons le fichier, nous devons trouver son GUID. Cherchez désormais le nom du codec, pas son fourcc. Son nom peut être trouvé quand Media Player lit le fichier, en regardant dans
-> -> . Si rien n'apparaît, pas de chance. Essayez de le deviner. (par ex. cherchez : TrueMotion)S'il apparaît dans la base de registre, il devrait apparaître un champ FriendlyName et un champs CLSID. Copiez les 16 bits du CLSID, c'est le GUID dont nous avons besoin.
si la recherche échoue, cochez toutes les options de la fenêtre de recherche.. vous aurez des mauvaises occurrences, mais finirez par obtenir la bonne...
Nous avons désormais toutes les informations nécessaires (fourcc, GUID, fichier codec, fichier AVI). Demandez le support de votre codec par mail, et envoyez ces fichiers sur le FTP : ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomcodec]/
Il est FORTEMENT recommandé de bien ajuster ses registres MTRR, qui apportent un gain important de performances.
Faites un cat /proc/mtrr:
--($:~)-- cat /proc/mtrr reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1
C'est bon, il montre ma Matrox G400 avec 16Mo de mémoire. J'ai fais cela avec XFree 4.x.x , qui ajuste les registres MTRR automatiquement.
Si rien n'a fonctionné, vous devrez procéder manuellement. D'abord, vous devez trouver l'adresse de base. Vous pouvez la trouver de trois façons :
à partir des messages au démarrage de X11, par exemple:
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 (--) SVGA: Linear framebuffer at 0xD8000000
à partir de /proc/pci (utilisez la commande lspci -v):
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 Memory at d8000000 (32-bit, prefetchable)
à partir des messages noyau du driver mga_vid (utilisez dmesg):
mga_mem_base = d8000000
Trouvons maintenant la taille mémoire. Simplement, convertissez la taille de la mémoire vidéo en hexadécimal, ou utilisez cette table :
1 Mo | 0x100000 |
2 Mo | 0x200000 |
4 Mo | 0x400000 |
8 Mo | 0x800000 |
16 Mo | 0x1000000 |
32 Mo | 0x2000000 |
Vous connaissez l'adresse de base ainsi que la taille, ajustons vos registres MTRR ! Par exemple, pour la carte Matrox utilisée ci-dessus (base=0xd8000000) avec 32Mo de ram (size=0x2000000) faites simplement :
echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
Tous les processeurs ne supportent pas les MTRR. Les anciens K6-2 par exemple (vers 266Mhz, stepping 0) ne sont pas compatibles avec les MTRR, mais les stepping 12 le sont (cat /proc/cpuinfo pour le vérifier).
Sous XFree86 4.0.2 ou plus récent, vous pouvez utiliser les routines YUV matérielles de votre carte en utilisant l'extension XVideo. C'est ce qu'utilise l'option '-vo xv'. De plus, ce pilote supporte le réglage de luminosité/contraste/saturation/etc. (à moins que vous n'utilisiez le vieux, lent codec Divx DirectShow, qui le supporte partout), voir la page de man.
Pour que cela fonctionne, vérifiez ceci :
Vous devez utiliser XFree86 4.0.2 ou plus récent (les versions précédentes n'ont pas XVideo)
Votre carte supporte l'accélération matérielle (les cartes modernes le font)
X charge l'extension XVideo, qui doit faire apparaître quelque chose comme:
(II) Loading extension XVideodans /var/log/XFree86.0.log
NOTE: ceci charge seulement l'extension de XFree86. Dans une installation correcte, celle ci est toujours chargée, et ne signifie pas que le support XVideo spécifique à votre carte est chargé !
Votre carte a le support Xv sous Linux. Pour le vérifier, essayez xvinfo, inclut dans XFree86. Cela doit afficher un long message, similaire à :
X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 port base: 43 operations supported: PutImage supported visuals: depth 16, visualID 0x22 depth 16, visualID 0x23 number of attributes: 5 (...) Number of image formats: 7 id: 0x32595559 (YUY2) guid: 59555932-0000-0010-8000-00aa00389b71 bits per pixel: 16 number of planes: 1 type: YUV (packed) id: 0x32315659 (YV12) guid: 59563132-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) (...etc...)Cela doit supporter les formats de pixels YUY2 packed et YV12 planar pour pouvoir être utilisé avec MPlayer.
Finalement, vérifiez si MPlayer a été compilé avec le support 'xv'. Faites un mplayer -vo help | grep xv Si le support 'xv' à été compilé une ligne similaire à celle-ci devrait apparaitre:
xv X11/Xv
Les anciens drivers 3dfx avaient des problèmes avec l'accélération XVideo, et ne supportaient ni YUY2 ni YV12. Vérifiez que vous avez bien XFree86 version 4.2.0 ou plus, il fonctionne correctement avec YV12 et YUY2. Les versions précédentes, incluant 4.1.0, plantent avec YV12. Si des problèmes apparaissent en utilisant -vo xv, essayez SDL (qui utilise également XVideo) et voyez si cela passe mieux. Lisez la section SDL pour plus de détails.
OU, essayez le NOUVEAU pilote -vo tdfxfb ! Voir la section tdfxfb.
Les cartes S3 Savage3D doivent fonctionner correctement, mais pour les Savage4, utilisez XFree86 version 4.0.3 ou plus (en cas de problèmes d'image, essayez 16bpp). Comme pour les S3 Virge: il y a un support xv, mais la carte elle-même est très lente, donc vous feriez mieux de la vendre.
Il n'est actuellement pas facile de savoir quels modèles de Savage manquent de support YV12, et de le convertir par un pilote (lent). Si vous suspectez votre carte, prenez un pilote plus récent, ou demandez poliment un pilote qui gère MMX/3DNow sur la liste de diffusion mplayer-users.
nVidia n'est pas un très bon chois sous Linux (d'après nVidia, ce n'est pas vrai)... Les pilotes open-source de XFree86 supportent la plupart de ces cartes, mais dans certains cas, vous devrez utiliser les pilotes binaires closed-source de nVidia, disponibles sur le site web de nVidia. Vous aurez toujours besoin de ce pilote si vous voulez l'accélération 3D.
Les cartes Riva128 n'ont pas de support XVideo même avec le driver nVidia :( Plaignez-vous en à nVidia.
Cependant, MPlayer contient un pilote VIDIX pour la plupart des cartes nVidia. Actuellement il est en phase béta, et a quelques inconvénients. Pour plus d'informations, voir la section VIDIX nVidia.
Le pilote GATOS (que vous devriez utiliser, à moins d'avoir une Rage128 ou une Radeon) utilise VSYNC par défaut. Cela signifie que la vitesse de décodage (!) est synchronisée à la vitesse de rafraîchissement du moniteur. Si la lecture semble lente, essayez d'enlever VSYNC, ou passez la vitesse de rafraîchissement à n*(fps du film) Hz.
Radeon VE - si vous avez besoin de X, utilisez 4.2.0 ou supérieur pour cette carte. Pas de support TV-out. Bien sûr avec MPlayer vous pouvez heureusement avoir un affichage accéleré, avec ou sans sortie TV, et aucune librairie ou X ne sont requis. Lire la section VIDIX.
Ces cartes sont utilisées sur de nombreux portables. Vous devez utiliser XFree86 4.3.0 ou supérieur, ou utiliser les pilotes Xv de Stefan Seyfried. Choisissez juste celui qui s'applique à votre version de XFree86.
XFree86 4.3.0 inclut le support Xv, mais Bohdan Horst a envoyé un petit patch pour les sources XFree86 qui accélère les opérations framebuffer (et donc XVideo) jusqu'à quatre fois. Ce patch a été inclus dans le CVS de XFree86 et devrait être dans la prochaine version suivant 4.3.0.
Pour permettre la lecture de contenu de taille DVD changez votre XF86Config comme ceci:
Section "Device"
[...]
Driver "neomagic"
Option "OverlayMem" "829440"
[...]
EndSection
Si vous voulez utiliser xv avec une carte trident, puisque son support ne fonctionne pas avec 4.1.0, installez XFree 4.2.0. Celui-ci ajoute le support Xv plein-écran avec la carte Cyberblade XP.
MPlayer contient également un pilote VIDIX pour la carte Cyberblade/i1.
Si vous voulez utiliser Xv avec une carte Kyro (par exemple la Hercules Prophet 4000XT), vous devriez télécharger les pilotes depuis le site de PowerVR
PRÉAMBULE. Ce document tente d'expliquer en quelques mots ce qu'est le DGA en général et ce que peut faire le driver de sortie DGA pour MPlayer (et ce qu'il ne peut pas faire).
QU'EST CE QUE LE DGA. DGA est l'abréviation de Direct Graphics Access et permet aux programmes de passer outre le serveur X et de modifier directement la mémoire dans le framebuffer. Techniquement parlant, cela fonctionne en mappant la mémoire du framebuffer dans les adresses mémoire de votre process. Cela est autorisé par le noyau uniquement si vous avez les privilèges super-utilisateur. Vous pouvez les obtenir soit en vous loggant en root ou en plaçant le bit suid sur l'exécutable MPlayer (non recommandé).
Il existe deux versions de DGA: DGA1 est utilisé par XFree 3.x.x et DGA2 a été introduit par XFree 4.0.1.
DGA1 propose uniquement un accès direct au framebuffer comme décrit ci-dessus. Pour changer la résolution de votre signal vidéo vous devez utiliser les extensions XVidMode.
DGA2 incorpore les fonctions de XVidMode et permet également de changer le nombre de couleurs de l'affichage. Donc vous pouvez, en exécutant depuis un serveur X 32 bits, passer en 15 bits et vice-versa.
Cependant DGA a quelques défauts. Il semble qu'il reste dépendant de la carte graphique utilisée et de la mise en place du driver de votre serveur X contrôlant cette carte. Cela peut donc ne pas fonctionner sur tous les systèmes...
INSTALLER LE SUPPORT DGA POUR MPLAYER. Assurez vous d'abord que X charge l'extension DGA, regardez dans /var/log/XFree86.0.log:
(II) Loading extension XFree86-DGAXFree86 4.0.x ou plus est hautement recommandé ! Le pilote DGA de MPlayer est automatiquement détecté par ./configure, ou vous pouvez le forcer avec l'option --enable-dga.
Si le driver ne peut pas passer en résolution inférieure, essayez les options -vm (uniquement avec X 3.3.x), -fs, -bpp, -zoom pour trouver un mode vidéo qui convienne à la vidéo. Il n'existe pas de convertisseur actuellement :(
Passez en root. DGA nécessite un accès root pour écrire directement dans la mémoire vidéo. Si vous voulez rester en utilisateur, installez MPlayer SUID root:
chown root /usr/local/bin/mplayer chmod 750 /usr/local/bin/mplayer chmod +s /usr/local/bin/mplayerMaintenant cela fonctionne aussi avec les droits d'un simple utilisateur.
Cela présente une grosse faille de sécurité ! Ne faites jamais ceci sur un serveur ou un ordinateur accessible par d'autres personnes que vous, ils pourraient obtenir les privilèges root par l'exécutable MPlayer.
Utilisez maintenant l'option -vo dga et c'est parti ! (enfin on peut l'espérer:) Vous pouvez alors essayer l'option -vo sdl:dga ! C'est beaucoup plus rapide !
CHANGEMENT DE RÉSOLUTION. Le driver DGA vous permet de changer la résolution du signal de sortie. Cela permet d'éviter un redimensionnement logiciel, beaucoup plus lent, et offre une image plein écran. Idéalement il doit passer à la résolution exacte de la vidéo (excepté pour respecter le rapport hauteur/largeur), mais le serveur X permet uniquement le passage à des résolutions définies dans /etc/X11/XF86Config (/etc/X11/XF86Config-4 pour XFree 4.X.X respectivement). Ceux-ci sont définis par des modelines dépendantes des capacités de votre matériel. Le serveur X scanne ce fichier de configuration au démarrage et élimine les modelines ne correspondant pas au matériel. Vous pouvez retrouver dans les logs de X quelles modelines sont acceptables. Elles peuvent être trouvées dans: /var/log/XFree86.0.log.
Ces entrées doivent fonctionner correctement avec un chip Riva128, en utilisant le module pilote nv.o du serveur X.
Section "Modes" Identifier "Modes[0]" Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan EndSection
DGA & MPLAYER. DGA est utilisé en deux endroits par MPlayer: Le pilote SDL peut se compiler pour en faire usage (-vo sdl:dga) et dans le pilote DGA (-vo dga). Dans les sections suivantes je vous expliquerai comment fonctionne le driver DGA pour MPlayer.
FONCTIONNALITÉS. Le pilote DGA s'invoque en spécifiant -vo dga en ligne de commande. L'action par défaut consiste à passer dans une résolution s'approchant au mieux de la résolution de la vidéo. Il ignore volontairement les options -vm et -fs (autorisant le changement de résolution et le plein écran) - il essaie toujours de couvrir le plus large espace possible de votre écran en changeant les modes vidéo, tout en utilisant un seul cycle CPU additionnel pour agrandir l'image. Si vous voulez utiliser un autre mode que celui qu'il a choisi, vous pouvez le forcer par les options -x et -y. Avec l'option -v, le pilote DGA affichera, entre autres choses, une liste de toutes les résolutions supportées par votre fichier XF86Config. Avec DGA2 vous pouvez également le forcer a utiliser un certain nombre de couleurs en utilisant l'option -bpp. Les nombres de couleurs autorisées sont 15, 16, 24 et 32. Cela dépends de votre matériel, soit ces modes sont nativement supportés, ou si une conversion logicielle doit être appliquée (ce qui peut ralentir la lecture).
Si par chance vous avez assez de mémoire vidéo libre pour y placer une image entière, le driver DGA utilisera le doublebuffering, qui améliore considérablement la qualité de lecture. Il doit vous afficher si le doublebuffering est utilisé ou non.
Doublebuffering signifie que la prochaine trame de votre vidéo est dessinée dans une partie non affichée de la mémoire graphique tandis que s'affiche la trame en cours. Quand la trame suivante est prête, la puce graphique reçoit simplement l'adresse de celle-ci et récupère les données a afficher depuis cette partie de la mémoire. Pendant ce temps l'autre buffer se remplit avec l'image suivante.
Le doublebuffering peut s'activer dans MPlayer avec l'option -double et se désactiver avec -nodouble. Actuellement l'option par défaut est de désactiver le doublebuffering. En utilisant le driver DGA, l'on-screen display (OSD) fonctionne uniquement avec le doublebuffering activé. Cependant, activer le doublebuffering peut demander des calculs supplémentaires au processeur (sur mon K6-II+ 525 il utilisait 20% de temps CPU en plus !), ceci dépendant de l'implémentation du DGA pour votre matériel.
PROBLÈMES DE VITESSE. Généralement, l'accès au framebuffer DGA peut s'avérer aussi rapide que le driver X11, apportant en plus l'avantage de bénéficier d'une image plein écran. Les pourcentages affichées par MPlayer doivent être interprétées avec précaution, comme par exemple avec le pilote X11 où ils n'incluent pas le temps utilisé par le serveur X pour l'affichage. Pour des résultats exacts, branchez un terminal sur le port série de votre machine et lancez un top pour savoir ce qui se passe réellement lors de la lecture...
D'une manière générale, l'accélération acquise en utilisant le DGA au lieu de l'affichage X11 classique dépend fortement de votre carte graphique et des optimisations effectuées sur le module DGA du serveur X.
Si votre système s'avère trop lent, utilisez plutôt une profondeur de couleurs de 15 or 16bits, qui ne demandent que la moitié de la bande passante d'un affichage 32 bits.
Utiliser une profondeur de 24 bits peut s'avérer une bonne solution si votre carte ne supporte nativement que le 32 bits, le transfert se réduisant de 25% par rapport à un mode 32/32.
J'ai vu certains fichiers avi passer sur des Pentium MMX 266. Les processeurs AMD K6-2 s'avèrent utilisables à partir de 400 MHZ et supérieur.
BOGUES CONNUS. A vrai dire, selon certains développeurs de XFree, DGA est une usine à gaz. Ils recommandent d'éviter son utilisation. Son implémentation n'est pas parfaite avec chaque chipset pour XFree.
SDL (Simple Directmedia Layer) est fondamentalement une interface vidéo/audio unifiée. Les programmes qui l'utilisent connaissent uniquement SDL, et pas quels pilotes vidéo ou audio SDL utilise lui-même. Par exemple, un portage de Doom utilisant SDL peut tourner avec svgalib, aalib, X, fbdev et autres, vous devez seulement spécifier (par exemple) le pilote vidéo à utiliser avec la variable d'environnement SDL_VIDEODRIVER. Enfin, en théorie.
Avec MPlayer, nous avons utilisé le redimensionnement logiciel de ses pilotes X11 pour les cartes qui ne supportent pas XVideo, jusqu'à ce que nous fassions notre propre "dimensionneur" logiciel (plus rapide, plus agréable). Nous avons également utilisé sa sortie aalib, mais maintenant nous avons la nôtre qui est plus confortable. Son support DGA était meilleur que le nôtre, jusqu'à récemment. Vous comprenez maintenant? :)
Cela aide également avec certains pilotes/cartes bogués si la vidéo est saccadé (pas de problème de lenteur du système), ou si l'audio est retardé.
La sortie vidéo de SDL supporte l'affichage des sous-titres sous le film, dans les bandes noires (si elles sont présentes).
Il existe plusieurs options en ligne de commande pour SDL:
Tableau 2.1. Touches SDL
Touche | Action |
---|---|
c | passe par tous les modes plein écran valides |
n | revient en mode normal |
Bogues connus:
INSTALLATION. Vous devrez installer svgalib et ses paquets de développement afin que MPlayer construise son driver SVGAlib driver (autodetecté, mais peut être forcé), et n'oubliez pas d'éditer /etc/vga/libvga.config pour l'ajuster à votre carte et votre moniteur.
Assurez-vous de ne pas utiliser l'option -fs, car elle active l'utilisation du redimensionneur logiciel, et c'est lent. Si vous en avez réellement besoin, utilisez l'option -sws 4 qui donnera une qualité mauvaise, mais qui est un peu plus rapide.
SUPPORT EGA (4BPP). SVGAlib incorpore EGAlib, et MPlayer a la possibilité d'afficher n'importe quel film en 16 couleurs, donc utilisable avec les configurations suivantes:
La valeur des bpp (bits par pixel) doit être fixé à 4 manuellement: -bpp 4
Le film doit probablement être redimensionné pour tenir dans le mode EGA:
-vf scale=640:350ou
-vf scale=320:200
Pour cela nous avons besoin de la routine de redimensionnement rapide mais de mauvaise qualité:
-sws 4
Peut-être que la correction d'aspect automatique doit être coupée:
-noaspect
D'après mon expérience, la meilleur qualité d'image sur les écrans EGA peut être obtenue en diminuant légèrement la luminosité: -vf eq=-20:0. J'ai également besoin de diminuer la fréquence d'échantillonnage sur ma machine, car le son est endommagé en 44kHz: -srate 22050.
Vous pouvez activer l'OSD et les sous-titres uniquement avec le filtre expand, voir la page de man pour les paramètres exacts.
La compilation de le sortie FBdev est autodétectée durant ./configure. Lisez la documentation sur le framebuffer dans le sources du noyau (Documentation/fb/*) pour avoir plus d'infos.
Si votre carte ne supporte pas le standard VBE 2.0 (anciennes cartes ISA/PCI, comme les S3 Trio64), et uniquement VBE 1.2 (ou plus ancien ?) : Dans ce cas, VESAfb reste disponible, mais vous devrez charger SciTech Display Doctor (également nommé UniVBE) avant de booter Linux. Utilisez une disquette de boot DOS ou similaire. Et n'oubliez pas d'enregistrer votre copie d'UniVBE ;))
La sortie FBdev accepte certains paramètres additionnels:
mplayer -vm -fbmode nom_du_mode nomfichier
-vm seul choisira le mode le mieux adapté dans votre fichier /etc/fb.modes. Peut s'utiliser avec les options -x et -y. L'option -flip est supportée uniquement si le format de pixels de la vidéo correspond au format de pixel du mode framebuffer. Faites attention à la valeur bpp, le driver fbdev essaie par défaut d'utiliser la valeur courante, ou bien celle spécifiée par l'option -bpp.
l'option -zoom n'est pas supportée (Utilisez l'option -fs). Vous ne pouvez pas utiliser de modes 8bpp (ou moins).
vous pouvez vouloir désactiver le curseur:
echo -e '\033[?25l'ou
setterm -cursor offet l'économiseur d'écran:
setterm -blank 0Pour afficher de nouveau le curseur:
echo -e '\033[?25h'ou
setterm -cursor on
Le changement de mode vidéo avec FBdev ne fonctionne pas avec le framebuffer VESA, et ne nous le demandez pas, il ne s'agit pas d'une limitation de MPlayer.
Cette section concerne le support BES (Back-End Scaler) sur les cartes Matrox G200/G400/G450/G550, le driver noyau de mga_vid. Il est activement développé par A'rpi, et supporte le VSYNC matériel avec triple buffering. Cela fonctionne aussi bien en console framebuffer que sous X.
Ceci est pour Linux uniquement ! Sur les systèmes non-Linux (testé sur FreeBSD), vous pouvez utiliser VIDIX à la place !
Installation:
Pour l'utiliser, vous devez au préalable compiler mga_vid.o:
cd drivers make
Puis créez le périphérique /dev/mga_vid:
mknod /dev/mga_vid c 178 0et chargez le pilote avec
insmod mga_vid.o
Vous pouvez vérifier si la détection de la taille mémoire est correcte en utilisant la commande dmesg. Si elle s'avère incorrecte, utilisez l'option mga_ram_size (rmmod mga_vid avant), en spécifiant la mémoire de la carte en Mo:
insmod mga_vid.o mga_ram_size=16
Pour le charger/décharger automatiquement, insérez cette ligne a la fin du fichier /etc/modules.conf:
alias char-major-178 mga_vidPuis copiez le module mga_vid.o à une place appropriée dans /lib/modules/version noyau/quelquepart.
Puis exécutez
depmod -a
Vous devez maintenant (re)compiler MPlayer, ./configure détectera /dev/mga_vid et construira le driver 'mga'. Pour l'utiliser dans MPlayer, lancez-le avec l'option -vo mga si vous êtes en console matroxfb, ou -vo xmga sous XFree86 3.x.x ou 4.x.x.
Le pilote mga_vid coopère avec Xv.
Le périphérique /dev/mga_vid peut être lu (par exemple par
cat /dev/mga_vid) pour avoir des infos, et écrit pour changer la luminosité:
echo "brightness=120" > /dev/mga_vid
Ce pilote utilise le pilote framebuffer tdfx du noyau pour lire des films avec accélération YUV. Vous aurez besoin d'un noyau avec support tdfxfb, et de recompiler avec
./configure --enable-tdfxfb
MPlayer supporte l'affichage de films en utilisant OpenGL, mais si votre plateforme/pilote supporte xv comme ça devrait être le cas sur un PC avec Linux, utilisez xv à la place, les performances d'OpenGL sont bien pires. Si vous avez une implémentation X11 sans support xv, OpenGL est alors une alternative viable.
Malheureusement tous les pilotes ne supportent pas cette fonction. Le pilote Utah-GLX (pour XFree86 3.3.6) le supporte pour toutes les cartes. Voir http://utah-glx.sourceforge.net pour son téléchargement et les infos d'installation.
XFree86(DRI) 4.0.3 et supérieur supporte OpenGL avec les cartes Matrox et Radeon, 4.2.0 ou supérieur supporte la Rage128. Voir http://dri.sourceforge.net pour son téléchargement et les infos d'installation.
AAlib est une librairie affichant des graphismes en mode texte, en utilisant un puissant moteur de rendu ASCII. De nombreux programmes le supportent déjà, comme Doom, Quake, etc. MPlayer possède pour cela un driver parfaitement utilisable. Si ./configure détecte une installation de aalib, le pilote aalib libvo sera compilé.
Vous pouvez utiliser certains raccourcis clavier dans le fenêtre AA pour changer les options de rendu:
Touche | Action |
---|---|
1 | diminue le contraste |
2 | augmente le contraste |
3 | diminue la luminosité |
4 | augmente la luminosité |
5 | active/désactive le rendu rapide |
6 | change le mode de dithering (none, error distribution, Floyd Steinberg) |
7 | inverse l'image |
8 | passe des contrôles de aa vers ceux de MPlayer et vice-versa |
Vous pouvez utiliser les lignes de commande suivantes:
change la couleur de l'OSD
change la couleur des sous-titres
where V peut être: 0 (normal), 1 (noir), 2 (gras), 3 (fontes grasses), 4 (inversé), 5 (spécial).
AAlib lui même propose de nombreuses options. En voici les principales:
Le rendu prend beaucoup de temps CPU, spécialement en utilisant aalib sur X, et prend moins de CPU sur une console standard, sans framebuffer. Utilisez SVGATextMode pour passer en mode texte large, et appréciez ! (une carte hercules en second écran, c'est génial :)) (mais à mon humble avis vous pouvez utiliser l'option -vf 1bpp pour avoir des graphismes sur hgafb:)
Utilisez l'option -framedrop si votre machine n'est pas suffisamment rapide pour afficher toutes les trames !
Sur un terminal vous obtiendrez de meilleures performances en utilisant le pilote linux, et pas curses (-aadriver linux). Cependant vous devez avoir un accès en écriture sur /dev/vcsa<terminal>. Ce n'est pas autodétecté par aalib, mais vo_aa essaie de déterminer le meilleur mode. Voir http://aa-project.sourceforge.net/tune pour une meilleure optimisation.
Ce pilote à été conçu et présenté comme un pilote générique pour n'importe quelle carte ayant un BIOS compatible VESA VBE 2.0+. Un autre avantage de ce pilote est qu'il force l'ouverture de la sortie TV. dixit VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998 (Page 70):
Conceptions des contrôleurs doubles. VBE 3.0 supporte la conception de contrôleur double en assumant que comme les deux contrôleurs sont typiquement fournis par le même OEM, sous le contrôle d'un seul ROM BIOS sur la même carte graphique, il est possible de cacher le fait que deux contrôleurs sont présent dans l'application. Cela a la limitation d'interdire l'utilisation simultanée de chacun des contrôleurs, mais permet aux applications avant VBE 3.0 de fonctionner normalement. La fonction VBE 00h (Return Controller Information) retourne l'information combinée des deux contrôleurs, incluant la liste combinée des modes disponibles. Quand une application sélectionne un mode, le contrôleur approprié est activé. Chacune des fonctions VBE restantes s'appliquent ensuite sur le contrôleur actif.
Donc vous avez des chances de faire fonctionner la sortie TV avec ce pilote (Je suppose que la sortie TV est souvent une tête indépendante ou au moins une sortie indépendante).
AVANTAGES
DÉSAVANTAGES
N'utilisez pas ce pilote avec GCC 2.96 ! Cela ne fonctionnera pas !
OPTIONS EN LIGNE DE COMMANDE POUR VESA
PROBLÈMES CONNUS ET CONTOURNEMENTS
À éviter si possible. Sort sur X11 (utilise l'extension de mémoire partagée), sans aucune accélération matérielle du tout. Supporte le redimensionnement logiciel (accéléré par MMX/3DNow/SSE, mais toujours lent), utilisez les options -fs -zoom. La plupart des cartes possèdent un redimensionnement matériel, pour elles utilisez la sortie -vo xv ou -vo xmga pour les Matrox.
Le problème est que la plupart des pilotes de carte ne supportent pas l'accélération sur la seconde tête/TV. Dans ce cas, vous voyez une fenêtre verte/bleue à la place du film. C'est ici que ce pilote entre en jeu, mais vous aurez besoin d'un CPU puissant pour utiliser le redimensionnement logiciel. N'utilisez pas le pilote SDL de sortie+dimensionnement logiciel, la qualité d'image est pire !
Le redimensionnement logiciel est très lent, vous devriez essayer de changer de mode vidéo à la place. C'est très simple. Voyez la section des modelines DGA, et insérez-les dans votre XF86Config.
Si vous n'arrivez pas à trouver les mode que vous avez inséré, regardez dans la sortie de XFree86. Certains pilotes ne peuvent utiliser les pixelclocks bas qui sont requis pour les basses résolutions.
PRÉAMBULE. VIDIX est l'abréviation de VIDeo Interface for *niX. VIDIX à été conçu et présenté comme une interface pour les pilotes espace-utilisateur rapides fournissant des performances égales à celles de mga_vid pour les cartes Matrox. Il est aussi très portable.
Cette interface à été conçue comme une tentative de regrouper les interfaces d'accélération existantes (connues sous les noms mga_vid, rage128_vid, radeon_vid, pm3_vid) dans un schéma uniforme. Il fournit une interface de haut niveau aux chipsets connus sous les noms de BES (BackEnd scalers) ou OV (Video Overlays). Il ne fournit pas une interface de bas niveau pour les choses connues sous le nom de serveurs graphiques. (Je ne veux pas concourir avec l'équipe X11 en changement de mode graphique). C'est à dire que le but principal de cette interface est de maximiser la vitesse de la lecture vidéo.
UTILISATION
De plus le pilote de sortie vidéo utilisé avec VIDIX n'a pas d'importance.
BESOINS
MÉTHODES D'UTILISATION. Quand VIDIX est utilisé en temps que sous-périphérique (-vo vesa:vidix), alors la configuration du mode vidéo est faite par le périphérique de sortie vidéo (vo_server en bref). Par conséquent vous pouvez passer en ligne de commande les mêmes touches que pour vo_server. De plus il comprends l'option -double comme un paramètre global (je recommande l'utilisation de cette option au moins pour les cartes ATI). Comme pour -vo xvidix, il reconnaît actuellement les options suivantes: -fs -zoom -x -y -double.
Vous pouvez aussi spécifier le pilote VIDIX directement en troisième sous-argument en ligne de commande:
mplayer -vo xvidix:mga_vid.so -fs -zoom -double fichier.aviou
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 fichier.aviMais c'est dangereux, et vous ne devriez pas faire ça. Dans ce cas le pilote indiqué sera forcé et le résultat sera imprévisible (cela peut bloquer votre ordinateur). Vous ne devriez le faire UNIQUEMENT si vous êtes absolument sûr que cela va fonctionner, et MPlayer ne le fait pas automatiquement. Dites-le aux développeurs, SVP. La bonne façon est d'utiliser VIDIX sans argument pour activer l'autodétection du pilote.
VIDIX est une toute nouvelle technologie et il est fortement possible que sur votre système (OS=abc CPU=xyz) elle ne fonctionne pas. Dans ce cas votre seule solution est de le porter (principalement libdha). Mais il y a de bons espoirs qu'il fonctionne sur les systèmes où X11 fonctionne.
Comme VIDIX requiert l'accès direct au matériel, vous avez le choix entre le lançer en tant que root ou définir le bit SUID du binaire MPlayer (Attention: c'est une faille de sécurité !). Sinon, vous pouvez utiliser un module noyau spécial, comme ceci:
Téléchargez la version de développement de svgalib (par exemple 1.9.17), OU Téléchargez une version faite par Alex spécialement pour utilisation avec MPlayer (elle ne nécessite pas les sources de svgalib pour compiler) ici.
Compilez le module dans le répertoire svgalib_helper (il peut être trouvé à l'intérieur du répertoire svgalib-1.9.17/kernel/ si vous avez téléchargé les sources depuis le site de svgalib) et faire un insmod.
Pour créer les périphériques nécessaires dans le répertoire /dev, faites un
make devicedans le répertoire svgalib_helper, en root.
Déplacez le répertoire svgalib_helper dans mplayer/main/libdha/svgalib_helper.
Requis si vous avez téléchargé les sources depuis le site de svgalib: Retirez les commentaires avant la ligne CFLAGS contenant la chaine "svgalib_helper" du libdha/Makefile.
Recompilez et installez libdha.
Actuellement la plupart des cartes ATI sont supportés nativement, de la Mach64 jusqu'aux nouvelles Radeons.
Il y a deux binaires compilés: radeon_vid pour les cartes Radeon et rage128_vid pour les Rage 128. Vous pouvez en forcer un ou laisser le système VIDIX le détecter parmis les pilotes disponibles.
Les Matrox G200, G400, G450 et G550 doivent normalement fonctionner.
Le pilote supporte les égaliseurs vidéo et devrait être presque aussi rapide que le framebuffer Matrox
Il y a un pilote disponible pour les chipsets Trident Cyberblade/i1, qui peuvent être trouvés sur les cartes-mère VIA Epia.
Le pilote a été écrit et est maintenu par Alastair M. Robinson.
Bien qu'il y ai un pilote pour les chips 3DLabs GLINT R3 et Permedia3, personne ne l'a testé, donc les rapports sont les bienvenus.
Il y a un relativement nouveau pilote nVidia, il fonctionne avec les chipsets Riva 128, TNT et GeForce2, d'autres doivent normalement fonctionner.
LIMITATIONS
Il est recommandé d'utiliser les pilotes nVidia binaires pour X avant d'utiliser ce pilote VIDIX, car certains registres qui doivent être initialisés n'ont pas encore été découverts, donc cela échouera avec le pilote Open Source nv.o de XFree86.
Actuellement seuls les codecs capables d'afficher une palette UYVY peuvent fonctionner en conjonction avec ce pilote. Malheureusement, cela exclu tous les décodeurs de la famille libavcodec. Cela nous laisse les codecs utilisables suivants: cvid, divxds, xvid, divx4, wmv7, wmv8 et quelques autres. Veuillez noter que ce n'est qu'un inconfort provisoire. La syntaxe est la suivante:
mplayer -vf format=uyvy -vc divxds fichierdivx3.avi
Une fonction unique du pilote nvidia_vid est la capacité d'afficher de la vidéo dans un console uniquemnent textuelle - avec aucun framebuffer ou X. Pour ce faire, nous aurons besoin d'utiliser la sortie cvidix, comme le montre l'exemple suivant:
mplayer -vf format=uyvy -vc divxds -vo cvidix exemple.avi
Rapports attendus !
"DirectFB est une librairie graphique conçue pour les systèmes embarqués. Il offre des performances d'accélération matérielle maximum pour un minimum d'utilisation des ressources et de charge." - citation de http://www.directfb.org
J'exclurai les fonctionnalités de DirectFB dans cette section.
Bien que MPlayer ne soit pas supporté en tant que "fournisseur vidéo" dans DirectFB, ce pilote de sortie activera la lecture vidéo au travers de DirectFB. Il sera - bien sûr - accéléré, sur ma Matrox G400 la vitesse de DirectFB était la même que celle de XVideo.
Essayez toujours d'utiliser la dernière version de DirectFB. Vous pouvez utiliser les options DirectFB en ligne de commande, en utilisant l'option -dfbopts. La sélection de couche peut être faite par la méthode sous-périphérique, par ex.: -vo directfb:2 (couche -1 par défaut: autodétection)
Veuillez lire la section DirectFB principale pour avoir les informations générales.
Ce pilote de sortie vidéo activera CRTC2 (sur la seconde tête) sur les cartes Matrox G400/G450/G550, affichant la vidéo indépendemment de la première tête.
Les instructions pour le faire fonctionner peuvent être trouvées dans la section technique ou directement sur la page web de Ville Syrjala.
La première version de DirectFB que nous aurions pu faire fonctionner était la 0.9.17. (elle est boguée, nécessite le patch surfacemanager disponible sur l'URL ci-dessus). De toutes façons, le portage du code CRTC2 dans mga_vid est prévu.
MPlayer supporte les cartes équipées du chipset DVB Siemens des vendeurs tels que Siemens, Technotrend, Galaxis ou Hauppauge. Les derniers pilotes DVB sont disponibles sur le site Linux TV. Si vous voulez faire du transcodage logiciel vous aurez besoin d'un CPU d'au moins 1Ghz.
Configure devrait détecter votre carte DVB. Si ce n'est pas le cas, forcez la détection avec
./configure --enable-dvb
Si vous avez des entêtes ost dans un chemin non-standard, corrigez ce chemin avec
./configure --with-extraincdir=répertoire source DVB/ost/include
Ensuite compilez et installez comme d'habitude.
UTILISATION. Le décodage matériel (lecture de fichiers MPEG1/2 standards) peut être fait avec cette commande:
mplayer -ao mpegpes -vo mpegpes fichier.mpg|vob
Le décodage logiciel ou le transcodage de différents formats en MPEG1 peut être obtenu en utilisant une commande comme celle-ci:
mplayer -ao mpegpes -vo mpegpes votrefichier.ext mplayer -ao mpegpes -vo mpegpes -vf expand votrefichier.ext
Notez que les cartes DVB ne supportent que les tailles 288 par 576 pour le PAL ou 240 par 480 pour le NTSC. Vous devez redimensionner vers d'autres tailles en ajoutant scale=largeur:hauteur avec la largeur et la hauteur que vous voulez à l'option -vf. Les cartes DVB acceptent des largeurs variées, comme 720, 704, 640, 512, 480, 352 etc et font un redimensionnement matériel dans le sens horizontal, vous n'avez donc pas besoin de redimensionner horizontalement dans la plupart des cas. Pour un DivX en 512x384 (aspect 4:3) essayez:
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
Si vous avez un film plein-écran et que vous ne voulez pas l'afficher à sa taille complète, vous pouvez utiliser le filtre expand=l:h pour ajouter des bandes noires. Pour voir un DivX en 640x384, essayez:
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 fichier.avi
Si votre CPU est trop lent pour un DivX en taille complète 720x576, essayez de diminuer la taille:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 fichier.avi
Si la vitesse ne s'améliore pas, essayez également la diminution verticale:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 fichier.avi
Pour l'OSD et les sous-titres utilisez la fonction expand du plugin OSD. Donc, au lieu de expand=l:h ou expand=l:h:x:y, utilisez expand=l:h:x:y:1 (le 5ème paramètre :1 à la fin activera le rendu OSD). Vous pouvez aussi vouloir monter un peu l'image pour obtenir plus de surface noire pour les sous-titres. Vous pouvez aussi monter les sous-titres , si ils sont en dehors de l'écran, utilisez l'option -subpos <0-100> pour l'ajuster (-subpos 80 est un bon choix).
Pour pouvoir lire des films non-25fps sur une TV PAL ou avec un CPU lent, ajoutez l'option -framedrop.
Pour garder les dimensions des fichiers DivX et obtenir les paramètres de zoom optimaux (zoom matériel horizontal et zoom logiciel vertical en gardant l'aspect original), utilisez le nouveau filtre dvbscale:
pour une TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 pour une TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
Utilisez votre carte DVB pour regarder la TV numérique (module d'entrée DVB). D'abord vous devez passer le paramètre dvb_shutdown_timeout=0 au module noyau dvb-core, ou MPlayer se terminera après 10 secondes.
Vous devriez également avoir les programmes scan et szap/tzap/czap installés; ils sont inclus dans le paquet de pilotes.
Vérifiez que vos pilotes fonctionnent correctement avec un programme tel que dvbstream (c'est la base du module d'entrée DVB).
Maintenant vous devriez compiler un fichier ~/.mplayer/channels.conf, avec la syntaxe acceptée par szap/tzap/czap, ou le faire compiler par scan.
Assurez-vous de n'avoir que des canaux réellement disponibles, ou MPlayer plantera sur les autres.
Pour afficher le premier des canaux présents dans votre liste, tapez
mplayer dvb://
Si vous voulez regarder un canal spécifique, tel que R1, tapez
mplayer dvb://R1
Pour changer de canal tapez sur les touches h (suivant) et k (précédent), ou utilisez le menu OSD (requiert un sous-système OSD fonctionnel).
Si votre ~/.mplayer/menu.conf contient une entrée <dvbsel>, comme celle du fichier d'exemple etc/dvb-menu.conf (que vous pouvez utiliser pour outrepasser ~/.mplayer/menu.conf), le menu principal affichera un sous-menu qui vous permettra de choisir les canaux présents dans votre channels.conf.
Si vous voulez sauvegarder un programme sur le disque vous pouvez utiliser
mplayer -dumpfile r1.ts -dumpstream dvb://R1
Si vous voulez l'enregistrer dans un format différent (le ré-enregistrer) vous pouvez lancer une commande comme
mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
Lisez la page de man pour avoir une liste des options que vous pouvez passer au module d'entrée DVB.
FUTUR. Si vous avez des questions ou voulez entendre les annonces de fonctionnalités et participer aux discussions sur ce sujet, rejoignez notre liste de diffusion MPlayer-DVB. SVP, rappelez-vous que la langue de la liste est l'anglais.
Dans le futur vous pouvez vous attendre à pouvoir afficher l'OSD et les sous-titres en utilisant la fonction OSD native des cartes DVB, ainsi qu'a une lecture plus régulière des films non-25fps et le transcodage temps-réel entre MPEG2 et MPEG4 (décompression partielle).
MPlayer supporte l'affichage accéléré avec la carte Creative DXR2.
Tout d'abord vous devrez avoir les pilotes correctement installés. Vous pouvez trouver les pilotes et les instructions d'installation sur le site DXR2 Resource Center.
UTILISATION
active la sortie TV
active la sortie Overlay sous X11
Cette option est utilisée pour contrôler le pilote DXR2.
Le chipset overlay utilisé sur la DXR2 est d'assez mauvaise qualité mais les paramètres par défaut devraient suffire pour tout le monde. L'OSD peut être utilisable avec l'overlay (pas sur une télé) en la dessinant avec une couleur-clé. Avec les paramètres de couleur-clé par défaut vous obtiendrez des résultats variables, généralement vous vérez la couleur-clé autour des personnages et autres effets amusants. Mais si vous ajustez correctement les paramètres de couleur-clé vous devriez pouvoir obtenir des résultats acceptables.
Veuillez lire la page de man pour les options disponibles.
MPlayer supporte l'accélération matérielle avec les cartes Creative DXR3 et Sigma Designs Hollywood Plus. Ces cartes ont toutes deux le chip de décodage MPEG em8300 de Sigma Designs.
Tout d'abord vous aurez besoin de pilotes DXR3/H+ correctement installés, version 0.12.0 ou supérieure. Vous pouvez trouver les pilotes et les instructions d'installation sur le site DXR3 & Hollywood Plus for Linux. configure devrait détecter votre carte automatiquement, la compilation devrait se faire sans problèmes.
UTILISATION
overlay active l'overlay à la place de TVOut. Cela requiert que vous ayez correctement configuré l'overlay. La manière la plus facile de configurer l'overlay est de d'abord lancer autocal. Ensuite lancez MPlayer avec la sortie dxr3 et sans overlay activé, lancez dxr3view. Dans dxr3view vous pouvez régler les paramètres overlay et en voir les effets en temps réel, peut-être cette fonction sera supporté par la GUI de MPlayer dans le futur. Quand l'overlay est correctement configuré, vous n'avez plus besoin d'utiliser dxr3view. prebuf active le prebuffering. C'est une fonction du chip em8300 qui l'active pour garder plus d'une trame de vidéo à la fois. Cela signifie que quand vous utilisez le prebuffering MPlayer essaiera de garder le buffer vidéo rempli de données à tout moment. Si vous êtes sur une machine lente MPlayer utilisera près de, voir exactement 100% du CPU. C'est particulièrement courant si vous lisez de purs flux MPEG (comme les DVDs, SVCDs et ainsi de suite) car comme MPlayer n'aura pas besoin de le ré-encoder en MPEG, il remplira le buffer très rapidement. Avec le prebuffering la lecture est beaucoup moins sensible aux autres programmes monopolisant le CPU, il ne sautera pas d'images à moins que des programmes monopolisent le CPU pour une longue durée. En l'utilisant sans doublebuffering, l'em8300 est bien plus sensible à la charge CPU, il est donc hautement recommandé d'activer l'option -framedrop pour éviter les éventuelles pertes de synchro. sync activera le nouveau moteur de synchro. C'est actuellement une fonction expérimentale. Avec la fonction sync activé l'horloge interne de l'em8300 sera contrôlée à tout moment, si elle commence à dévier de l'horloge de MPlayer elle sera réajustée, obligeant l'em8300 à sauter les éventuelles trames en retard. norm=x fixera la norme TV de la carte DXR3 sans avoir besoin d'utiliser des outils externes comme em8300setup. Les normes valides sont 5 = NTSC, 4 = PAL-60, 3 = PAL. Les normes spéciales sont 2 (ajustement auto utilisant PAL/PAL-60) et 1 (ajustement auto utilisant PAL/NTSC) parce qu'elles décident quelle norme utiliser en regardant le frame rate du film. norm = 0 (par défaut) ne change pas la norme courante. périph. = numéro de périphérique à utiliser si vous avez plus d'une carte em8300. Chacune de ces options peut être laissé de côté. :prebuf:sync semble fonctionner à merveille en lisant des DivX. Des gens ont signalé des problèmes en utilisant l'option prebuf pendant la lecture de fichiers MPEG1/2. Vous pourriez vouloir essayer sans aucune option en premier, si vous avez des problèmes de synchro, ou des problèmes de sous-titres avec les DVDs, essayez avec :sync.
Pour la sortie audio, où X est le numéro de périphérique (0 si une carte).
L'em8300 ne peut jouer de taux d'échantillonage inférieur à 44100 Hz. Si le taux d'échantillonage est en dessous de 44100Hz, sélectionnez soit 44100Hz, soit 48000Hz en fonction de ce qui est le plus proche. C-a-d si le film utilise 22050 utilisez 44100Hz car 44100 / 2 = 22050, si c'est 24000Hz utilisez 48000Hhz car 48000 / 2 = 24000 et ainsi de suite. Cela ne fonctionne pas avec la sortie audio numérique (-ac hwac3).
Pour voir du contenu non-MPEG sur l'em8300 (c-a-d DivX ou RealVideo), vous devrez spécifier un filtre vidéo MPEG1 tel que libavcodec (lavc) ou libfame (fame). Pour le moment lavc est à la fois plus rapide et donne une meilleur qualité, il est recommandé de l'utiliser à moins que vous ayez des problèmes avec. Voir la page de man pour de plus amples infos à propos de -vf lavc/fame. Utiliser lavc est hautement recommandé. Actuellement il n'est pas possible de régler les fps de l'em8300 ce qui veut dire qu'il est fixé à 29.97fps. À cause de cela il est hautement recommandé d'utiliser -vf lavc=qualité:25, surtout si vous utilisez le prebuffering. Alors pourquoi 25 et pas 29.97 ? Hé bien, le truc est que si vous utilisez 29.97, l'image devient un peu sautante. Nous n'en connaissons pas la raison. Si vous le réglez quelque part entre 25 et 27 l'image devient stable. Pour l'instant tous ce que nous pouvons faire est de l'accepter.
Bien que le pilote DXR3 puisse placer quelques OSD sur de la vidéo MPEG1/2/4, il est de bien plus basse qualité que l'OSD traditionnel de MPlayer, et de plus soufre de nombreux problèmes de rafraîchissement. La ligne de commande ci-dessus va d'abord convertir l'entrée vidéo en MPEG4 (c'est obligatoire, désolé), ensuite appliquer un filtre expand qui ne va rien étendre du tout (-1: défaut), mais afficher l'OSD dans l'image (c'est ce que fait le "1" à la fin).
L'em8300 supporte la lecture audio AC3 (son surround) au travers de la sortie audio numérique de la carte. Voir l'option -ao oss plus haut, elle doit être utilisé pour spécifier la sortie DXR3 au lieu d'une carte son.
C'est un pilote d'affichage (-vo zr) pour certaines cartes de capture/lecture (testé pour DC10+ et Buz, et cela devrait fonctionner pour la LML33 et la DC10 originale). Ce pilote fonctionne en encodant la trame en JPEG et en l'envoyant à la carte. Pour l'encodage JPEG libavcodec est utilisé, et requis. Avec le mode spécial cinerama, vous pouvez voir les films en vrai écran large si vous avez deux moniteurs et deux cartes MJPEG. Selon la résolution et les réglages, ce pilote requiert beaucoup de puissance CPU, rappelez-vous de spécifier -framedrop si votre machine est trop lente. Note: Mon AMD K6-2 350Mhz est (avec -framedrop) très adapté pour voir du matériel de taille VCD et les films dont la taille est réduite.
Ce pilote parle au module noyau disponible sur http://mjpeg.sourceforge.net, donc vous devez d'abord faire fonctionner ce dernier. la présence d'une carte MJPEG est autodétectée par le script configure, si l'autodétection échoue, forcez la détection avec
./configure --enable-zr
La sortie peut être contrôlée par de nombreuses options, une longue description des options peut être trouvée sur la page de man, une courte liste des options peut être obtenue en exécutant
mplayer -zrhelp
Les choses comme le zoom ou l'OSD (on screen display) ne sont pas gérés par ce pilote mais peuvent être obtenus en utilisant les filtres vidéo. Par exemple, supposons que vos avez un film d'une résolution de 512x272 et que vous voulez le voir en plein-écran sur votre DC10+. Il y a trois possibilités principales, vous pouvez redimmensionner le film à une largeur de 768, 384 ou 192. Pour des raisons de performances et de qualité, vous pouvez choisir de redimmensionner le film en 384x204 en utilisant le zoom logiciel bilinéaire rapide. La ligne de commande est
mplayer -vo zr -sws 0 -vf scale=384:204 film.avi
Le découpage peut être fait avec le filtre crop et par ce pilote lui-même. Supposons qu'un film soit trop large pour s'afficher sur votre Buz et que vous vouliez utiliser -zrcrop pour rendre le film moins large, alors vous taperez la commande suivante
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
Si vous voulez utiliser le filtre crop, vous feriez
mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
Des occurrences supplémentaires de -zrcrop invoquent le mode cinerama, c-a-d. que vous pouvez distribuer l'affichage sur plusieurs TV ou moniteurs pour créer un écran plus large. Supposons que vous ayez deux moniteurs. Celui de gauche est connecté à votre Buz sur /dev/video1 et celui de droite est connecté à votre DC10+ sur /dev/video0. Le film a une résolution de 704x288. Supposons maintenant que vous voulez le moniteur de droite en noir et blanc et que le moniteur de gauche ait des trames jpeg de qualité 10, alors vous taperez la commande suivante
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \ -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 film.avi
Vous voyez que les options apparaissant avant le second -zrcrop ne s'appliquent qu'a la DC10+ et que les options après le second -zrcrop s'appliquent à la Buz. Le nombre maximum de cartes MJPEG participant au cinerama est quatre, vous pouvez donc construire un mur vidéo de 2x2.
Pour finir une remarque importante: Ne lancez ou n'arrêtez pas XawTV sur le périphérique en cours de lecture, cela planterait votre ordinateur. Il est, cependant, sans risque de lancer D'ABORD XawTV, ENSUITE de lancer MPlayer, d'attendre que MPlayer se termine et ENSUITE de stopper XawTV.
Ce pilote est capable de lire en utilisant le protocole UPD Blinkenlights. Si vous ne savez pas ce qu'est Blinkenlights, vous n'avez pas besoin de ce pilote.
Sous Linux vous avez 2 méthodes pour faire fonctionner la sortie TV:
pour les instructions sur la sortie TV des Matrox G450/G550, voir la prochaine section SVP !
en utilisant le pilote et le module HAL, disponible sur le site de Matrox. Cela vous donnera X sur la TV.
Cette méthode ne vous donne pas la lecture accélérée comme sous Windows ! La seconde tête n'a qu'un framebuffer YUV, le BES (Back End Scaler, le redimensionneur YUV des cartes G200/G400/G450/G550) ne fonctionne pas dessus ! Le pilote Windows contourne cela, probablement en utilisant le moteur 3D pour zoomer, et le framebuffer YUV pour afficher l'image zoomée. Si vous voulez vraiment utiliser X, utilisez les options -vo x11 -fs -zoom, mais ce sera LENT, et aura la protection anticopie Macrovision activée (vous pouvez "contourner" Macrovision en utilisant ce script perl).
En utilisant les modules matroxfb dans les noyaux 2.4. Les noyaux 2.2 n'ont pas de fonction TVout incluse, donc inutilisables pour cela. Vous devez activer TOUTES les fonctions spécifiques à matroxfb durant la compilation (excepté MultiHead), et les compiler en modules ! Vous aurez également besoin que I2C soit activé.
Entrez dans TVout et tapez ./compile.sh. Installez TVout/matroxset/matroxset quelque part dans votre PATH.
Si fbset n'est pas installé, mettez TVout/fbset/fbset quelque part dans votre PATH.
Si con2fb n'est pas installé, mettez TVout/con2fb/con2fb quelque part dans votre PATH.
Ensuite entrez dans le répertoire TVout/ du source MPlayer et exécutez ./modules en root. Votre console en mode texte va entrer en mode framebuffer (sans retour possible !).
Ensuite, ÉDITEZ et lancez le script ./matroxtv. Il va vous présenter un menu très simple. Pressez 2 et Entrée. Maintenant vous devriez avoir la même image sur votre moniteur, et sur la TV. Si l'image TV (PAL par défaut) a de vilaines bandes dessus, le script n'a pas été capable de fixer la résolution correctement (en 640x512 par défaut). Essayez d'autres résolutions depuis le menu et/ou expérimentez avec fbset.
Yoh. La prochaine tâche est de faire disparaître le curseur sur tty1 (ou n'importe quelle autre), et de désactiver l'économiseur d'écran. Exécutez les commandes suivantes:
echo -e '\033[?25l' setterm -blank 0ou
setterm -cursor off setterm -blank 0Vous pouvez mettre ceci dans un script, et également effacer l'écran... Pour réactiver le curseur:
echo -e '\033[?25h'ou
setterm -cursor on
Yeah kewl. Démarrez le film avec
mplayer -vo mga -fs -screenw 640 -screenh 512 nomfichier(si vous utilisez X, maintenant changez pour matroxfb avec par exemple Ctrl+Alt+F1.) Changez 640 et 512 si vous voulez spécifier une résolution différente...
Appréciez la sortie TV Matrox ultra-rapide ultra-fonctionnelle (meilleure que Xv) !
Construire un câble de sortie TV Matrox. Personne ne prends de responsabilités, ni n'offre de garanties quant aux éventuels dommages causés par cette documentation.
Cable pour G400. La quatrième broche du connecteur CRTC2 transmet le signal vidéo composite. La terre (ground) est sur les sixième, septième et huitième broches (info donnée par Balázs Rácz).
Cable pour G450. La première broche du connecteur CRTC2 transmet le signal vidéo composite. La terre (ground) est sur les cinquième, sixième, septième, et quinzième (5, 6, 7, 15) broches (info donnée par Balázs Kerekes).
Le support de la sortie TV pour ces cartes n'a été introduit que récemment, et n'est pas encore dans le noyau officiel. Actuellement le module mga_vid ne peut être utilisé à ma connaissance, parce que le pilote G450/G550 ne fonctionne que dans une configuration: le premier chip CRTC (qui a le plus de fonctions) sur le premier affichage (sur le moniteur), et le second CRTC (pas de BES, veuillez voir la section G400 plus haut) sur la TV. Vous ne pouvez donc utiliser que le pilote de sortie fbdev de MPlayer pour le moment.
Le premier CRTC ne peut pas être relié à la seconde tête actuellement. L'auteur du pilote noyau matroxfb - Petr Vandrovec - fera certainement un support pour cela, en affichant la sortie du premier CRTC sur les deux têtes à la fois, comme actuellement recommandé pour la G400, voir la section ci-dessus.
Le patch noyau nécessaire et le HOWTO détaillé sont téléchargeables sur http://www.bglug.ca/matrox_tvout/
PRÉAMBULE. Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux, à cause de leur technologie Macrovision sous licence.
ÉTAT DE LA SORTIE TV ATI SUR LINUX
Sur les autres cartes, utilisez juste le pilote VESA, sans VIDIX. Un CPU puissant est cependant requis.
La seule chose que vous ayez à faire - avoir le connecteur TV branché avant de booter votre PC car le BIOS vidéo s'initialise uniquement durant cette phase.
Reportez-vous à cette URL.
D'abord, vous DEVEZ télécharger les pilotes closed-source depuis http://nvidia.com. Je ne décrirai pas le processus d'installation et de configuration car il sort du cadre de cette documentation.
Après que l'accélération XFree86, XVideo, et 3D fonctionnent correctement, éditez la section Device de votre carte dans le fichier XF86Config, selon l'exemple suivant (adaptez à votre carte/TV):
Section "Device" Identifier "GeForce" VendorName "ASUS" BoardName "nVidia GeForce2/MX 400" Driver "nvidia" #Option "NvAGP" "1" Option "NoLogo" Option "CursorShadow" "on" Option "TwinView" Option "TwinViewOrientation" "Clone" Option "MetaModes" "1024x768,640x480" Option "ConnectedMonitor" "CRT, TV" Option "TVStandard" "PAL-B" Option "TVOutFormat" "Composite" EndSection
Bien sûr l'élément le plus important est la partie TwinView.
Testé sur un Toshiba Tecra 8000. Son chip de sortie TV est de très mauvaise qualité. À éviter si possible.
Vous devez utiliser -vo vesa. Le chipt testé n'était capable d'afficher que l'aspect ratio 1.333333, donc assurez-vous d'utiliser les options -x, -y et/ou les filtres -vf scale,crop,expand si la machine ne vous laisse pas activer la sortie TV. La résolution maximum était 720*576 à 16bpp.
Problèmes connus: VESA-uniquement, limitation 1.33333, l'image n'est pas toujours centrée, le film passe en 4bpp toutes les 10 minutes, et reste comme ça. bloquages matériels fréquents, problèmes d'affichage LCD.
L'interface audio de MPlayer se nomme libao2. Elle possède actuellement ces pilotes:
Pilote | Commentaire |
---|---|
oss | pilote OSS (ioctl) (supporte le transfert AC3 matériel) |
sdl | pilote SDL (supporte les démons de son comme ESD et ARTS) |
nas | pilote NAS (Network Audio System) |
alsa5 | pilote ALSA 0.5 natif |
alsa9 | pilote ALSA 0.9 natif (supporte le transfert AC3 matériel) |
sun | pilote audio SUN (/dev/audio) pour les utilisateurs de BSD et Solaris8 |
macosx | pilote MacOS X natif |
win32 | pilote Win32 natif |
arts | pilote ARTS natif (principalement pour les utilisateurs KDE) |
esd | pilote ESD natif (principalement pour les utilisateurs GNOME) |
Les pilotes Linux des cartes son ont des problèmes d'incompatibilité. C'est pourquoi MPlayer utilise une fonction des pilotes écrits correctement pour maintenir une synchro audio/vidéo correcte. Malheureusement, certains auteurs de pilotes n'ont que faire de cette fonction: elle n'est pas requise pour jouer des MP3 ou des effets sonores.
D'autres lecteurs multimédia comme aviplay ou xine fonctionnent probablement autrement avec ces pilotes parce qu'ils utilisent des méthodes "simples" pour leur synchro interne. Le temps affichés avec leurs méthodes n'est pas aussi précis que celui de MPlayer.
Utiliser MPlayer avec un pilote correctement écrit ne provoquera pas de désynchro A/V relatives à l'audio, à part avec les fichiers très mal créés (voir la page de man pour les solutions).
Si vous avez un mauvais pilote audio, essayez l'option -autosync, il devrait régler vos problèmes. Voir la page de man pour les informations détaillées.
Quelques notes:
Si vous avez un pilote OSS, essayez d'abord avec l'option -ao oss (utilisé par défaut). Si vous obtenez des scratchs ou une sonorité anormale, essayez l'option -ao sdl (NOTE: vous devez bien sûr avoir installé les librairies SDL ainsi que leurs fichiers d'entête). Le pilote audio SDL est plus efficace dans de nombreux cas et supporte également ESD (GNOME) et ARTS (KDE).
Si vous avez ALSA version 0.5, vous devrez presque toujours utiliser l'option -ao alsa5, la version 0.5 émulant mal l'OSS, qui plante MPlayer avec un message du type:
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
Sur Solaris, utilisez le pilote audio SUN avec l'option -ao sun, sinon ni la vidéo ni le son ne fonctionneront.
Si le son émet des cliquètements lors d'une lecture depuis le CD-ROM, activez l'IRQ unmasking, ex. hdparm -u1 /dev/cdrom (man hdparm). Ceci est généralement bénéfique et décrit plus en détail dans la section CD-ROM.
Sous Linux, utilisez le noyau 2.4 si possible, le 2.2 n'a pas été testé.
Les pilotes son de Linux sont surtout fournis par la version libre d'OSS. Ces pilotes ont été repris par ALSA (Advanced Linux Sound Architecture) dans la série de développement 2.5. Si votre distribution n'utilise pas déjà ALSA vous pourriez souhaiter essayer leurs pilotes si vous avez des problèmes de son. Les pilotes ALSA sont généralement supérieurs à OSS en compatibilité, performances et fonctionnalités. Mais certaines cartes ne sont supportées que par les pilotes OSS commerciaux de 4Front Technologies. Ils supportent également de nombreux systèmes non-Linux.
CARTE SON | PILOTE | kHz Max | Canaux Max | Max Ouverts [a] | |||
---|---|---|---|---|---|---|---|
OSS/Libre | ALSA | OSS/Pro | autres | ||||
VIA onboard (686/A/B, 8233, 8235) | via82cxxx_audio | snd-via82xx | 4-48 kHz ou 48 kHz uniquement, selon le chipset | ||||
Aureal Vortex 2 | aucun | aucun | OK | Pilotes Linux Aurealtaille du tampon portée à 32k | 48 | 4.1 | 5+ |
SB Live! | Analogique OK, SP/DIF non fonctionnel | Tous deux OK | Tous deux OK | Pilote OSS de Creative (support SP/DIF) | 192 | 4.0/5.1 | 32 |
SB 128 PCI (es1371) | OK | ? | 48 | stéréo | 2 | ||
SB AWE 64 | max 44kHz | 48kHz mauvaise qualité | 48 | ||||
GUS PnP | aucun | OK | OK | 48 | |||
Gravis UltraSound ACE | |||||||
Gravis UltraSound MAX | OK | OK (?) | 48 | ||||
ESS 688 | OK | OK (?) | 48 | ||||
Cartes C-Media (CMI8338/8738) | OK | OK, SP/DIF est supporté par ALSA 0.9.x | ? | 44 | stéréo | 1 | |
Cartes Yamaha (*ymf*) | pas OK (?) (peut-être -ao sdl) | OK uniquement via ALSA 0.5 avec émulation OSS ET-ao sdl (!) (?) | |||||
Cartes avec chips envy24 (comme la Terratec EWS88MT) | ? | ? | OK | ? | |||
PC Speaker ou DAC | OK | aucun | Pilote PC speaker OSS Linux | Ce pilote émule 44.1, peut-être plus. | mono | 1 | |
[a] nombre d'applications pouvant utiliser le périphérique en même temps. |
Les retours sur ce document sont les bienvenus. Merci de nous faire savoir comment MPlayer et votre(vos) carte(s) son ont fonctionné ensemble.
Les anciens plugins audio ont été remplacés par une nouvelle couche de filtres audio. Les filtres audio sont utilisés pour changer les propriétés des données audio avant que le son n'atteigne la carte son. L'activation et la désactivation sont normalement automatisés mais peuvent être outrepassés. Les filtres sont activés quand les propriétés des données audio différent de celles requises par la carte son et désactivés si nécessaire. L'option -af filtre1,filtre2,... est utilisée pour outrepasser l'activation automatique des filtres ou pour insérer des filtres qui ne le sont pas automatiquement. Les filtres seront exécutés dans l'ordre où ils apparaissent dans la liste séparée par des virgules.
Exemple:
mplayer -af resample,pan film.aviferait passer le son au travers du filtre de resampling suivi du filtre panoramique. Remarquez que la liste ne doit contenir aucun espace, sinon cela échouera.
Les filtres ont souvent des options changeant leur comportement. Ces options sont expliquées en détail dans les sections ci-dessous. Un filtre sera exécuté en utilisant ses paramètres par défaut si ses options sont omises. Voici un exemple de comment utiliser les filtres en conjonction avec des options spécifiques à un filtre:
mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 media.avidéfinirait la fréquence de sortie du filtre resample à 11025Hz et downmixerait l'audio dans 1 canal en utilisant le filtre pan.
Le fonctionnement général de la couche filtre est contrôlé en utilisant l'option -af-adv. Cette option a deux sous-options:
force est un champs de bits qui contrôle comment les filtres sont insérés et quelles optimisations de vitesse/exactitude ils utilisent:
Utilise l'insertion automatique des filtres et optimise en fonction de la vitesse du CPU.
Utilise l'insertion automatique des filtres et optimise pour la plus haute vitesse. Attention: Certaines fonctions des filtres audio pourraient alors échouer silencieusement, et la qualité du son pourrait en souffrir.
Utilise l'insertion automatique des filtres et optimise pour la qualité.
N'utilise pas d'insertion automatique des filtres et n'optimise pas. Attention: Il pourrait arriver de planter MPlayer en utilisant ce réglage.
Utilise l'insertion automatique des filtres comme indiqué au champ 0, mais fait des calculs à virgule flottante si possible.
Utilise l'insertion automatique des filtres comme indiqué au champ 1, mais fait des calculs à virgule flottante si possible.
Utilise l'insertion automatique des filtres comme indiqué au champ 2, mais fait des calculs à virgule flottante si possible.
N'utilise pas d'insertion automatique des filtres comme indiqué au champ 3, et fait des calculs à virgule flottante si possible.
list est un alias de l'option -af.
La couche filtre est également affectée par les options génériques suivantes:
Augmente le niveau de verbosité et fait afficher des messages d'état supplémentaires à la plupart des filtres.
Cette option définie le nombre de canaux de sortie voulus pour votre carte son. Il affecte également le nombre de canaux qui sont décodés à partir des média. Si le médium contient moins de canaux que le nombre demandé le filtre channels (voir plus bas) sera automatiquement inséré. Le routage sera le routage par défaut pour le filtre channels.
Cette option sélectionne le taux d'échantillonage voulu pour votre carte son. Si la fréquence d'échantillonage de votre carte son est différente de celle du médium, le filtre resample (voir plus bas) sera inséré dans la couche filtre audio pour compenser la différence.
Cette option défini le format de sample de la couche audio et de la carte son. Si le format de sample demandé pour votre carte son est différent de celui du médium, le filtre format (voir plus bas) sera inséré pour rectifier la différence.
MPlayer supporte pleinement l'up/down-sampling du son par l'intermédiaire du filtre resample. Ce filtre peut être utilisé si vous avez une carte son à fréquence fixe ou si vous avez une vieille carte son qui n'est capable que de 44.1kHz. Ce filtre est automatiquement activé si cela est nécessaire, mais il peut être explicitement activé en ligne de commande. Il a trois options:
est un entier utilisé pour définir la fréquence d'échantillonage de sortie en Hz. L'intervalle valide pour ce paramètre va de 8kHz à 192kHz. Si les fréquences d'entrée et de sortie sont les mêmes ou si les paramètres sont omis, le filtre est automatiquement retiré. Un fréquence d'échantillonage haute augmente normalement la qualité audio, surtout utilisé en conjonction avec d'autres filtres.
est un paramètre binaire optionnel qui permet à la fréquence de sortie de différer légèrement de la fréquence donnée par srate. Cette option est utilisé au démarrage si la lecture est extrêmement lente.
est un entier optionnel compris entre 0 et 2 qui sélectionne quelle méthode de ré-échantillonnage utiliser. Ici 0 représente l'interpolation linéaire comme méthode de ré-échantillonnage, 1 représente un ré-échantillonnage en utilisant une banque de filtres poly-phase et des calculs d'entiers et 2 représente un ré-échantillonnage en utilisant une banque de filtres poly-phase et des calculs à virgule flottante. L'interpolation linéaire est extrêmement rapide, mais souffre d'une pauvre qualité sonore surtout quand elle est utilisée pour l'up-sampling. La meilleur qualité est donnée par 2 mais cette méthode souffre également de la plus forte charge CPU.
Exemple:
mplayer -af resample=44100:0:0fixerait la fréquence de sortie du filtre resample à 44100Hz en utilisant une échelle de fréquence exacte et l'interpolation linéaire.
Le filtre channels peut être utilisé pour ajouter ou retirer des canaux, il peut aussi être utilisé pour le routage ou la copie de canaux. Il est automatiquement activé quand la sortie du filtre audio diffère de la couche d'entrée ou quand il est demandé par un autre filtre. Se filtre se retire si il n'est pas requis. Le nombre d'option est dynamique:
est un entier entre 1 et 6 utilisé pour définir le nombre de canaux de sortie. Cette option est requise, la laisser vide provoquera une erreur à l'exécution.
est un entier entre 1 et 6 utilisé pour définir le nombre de canaux de sortie. Cette option est optionnelle. Si elle est omise, le routage par défaut est utilisé.
sont des paires de nombres entre 0 et 5 qui définissent où chaque canal est routé.
Si seul nch est indiqué le routage par défaut est utilisé, il fonctionne comme cela: Si le nombre de canaux de sortie est plus grand que le nombre de canaux d'entrée des canaux vides sont insérés (excepté le mixage de mono vers stéréo, dans ce cas le canal mono est répété sur chacun des canaux de sortie). Si le nombre de canaux de sortie est plus petit que le nombre de canaux d'entrée les canaux en trop seront tronqués.
Exemple 1:
mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avichangerait le nombre de canaux à 4 et définirait 4 routes qui échangent le canal 0 et le canal 1 et laissent les canaux 2 et 3 intacts. Remarquez que si le médium qui contient deux canaux était joué en arrière, les canaux 2 et 3 contiendraient du silence mais les 0 et 1 seraient tout de même inversés.
Exemple 2:
mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avichangerait le nombre de canaux à 6 et définirait 4 routes copiant le canal 0 dans les canaux 0 à 3. Les canaux 4 et 5 contiendront du silence.
Le filtre format fait la conversion entre les différents formats de sample. Il est automatiquement activé si requis par la carte son ou un autre filtre.
peut être 1, 2 ou 4 et défini le nombre d'octets par sample. Cette option est requise, la laisser vide provoquera une erreur à l'exécution.
est une chaîne texte décrivant le format de sample. Cette chaîne est un mix concaténé de: alaw, mulaw ou imaadpcm, float ou int, unsigned ou signed, le ou be (little ou big endian). Cette option est requise, la laisser vide provoquera une erreur à l'exécution.
Exemple:
mplayer -af format=4:float media.aviinitialiserait le format de sortie en données à virgule de 4 octets par sample.
Le filtre delay décale le son vers les haut-parleurs de façon a faire arriver le son dans les différents canaux au même moment dans la position d'écoute. Cela n'est utile que si vous avez plus de 2 haut-parleurs. Ce filtre a une nombre variable de paramètres:
sont des nombres à virgule représentant les décalages en ms qui devraient être imposés aux différents canaux. Le décalage minimum est 0ms et le maximum est 1000ms.
Pour calculer le décalage requis pour chaque canal, faites comme ceci:
Mesurez la distance entre les hauts parleurs et votre position d'écoute (en mètres) ce qui vous donne les distances s1 à s5 (pour un système 5.1). Ce n'est pas la peine de le faire pour le caisson de basses (vous n'entendrez pas la différence de toute façon).
Soustrayez les distances s1 à s5 à la distance maximum c-a-d. s[i] = max(s) - s[i]; i = 1...5
Les décalages requis (en ms) sont calculés avec d[i] = 1000*s[i]/342; i = 1...5
Exemple:
mplayer -af delay=10.5:10.5:0:0:7:0 media.avidécalerait les canaux avant gauche et droite de 10.5ms, les deux canaux arrière et le caisson de 0ms et le canal central de 7ms.
Le contrôle de volume logiciel est implémenté par le filtre audio volume. Utilisez ce filtre avec précaution car il peut réduire le signal au niveau de bruit du son. Dans la plupart des cas il vaut mieux fixer le niveau du son PCM au max, laisser ce filtre de côté et contrôler le niveau de sortie de vos haut-parleurs avec le contrôleur de volume principal du mixeur. Au cas où votre carte son ait un mixeur numérique au lieu d'un analogique, et que vous entendez sa distorsion, utilisez le mixeur MASTER à la place. Si il y a un amplificateur externe connecté à l'ordinateur (ce qui est presque toujours le cas), le niveau de bruit peut être minimisé en ajustant le niveau maître et le bouton du volume jusqu'à ce que le bruit résiduel soit parti. Ce filtre a deux options:
est un nombre à virgule compris entre -200 et +60 qui représente le niveau du volume en dB. Le niveau par défaut est 0dB.
est un contrôle binaire qui active et désactive le soft clipping. Le Soft-Clipping peut rendre le son plus fluide si de très gros niveaux de volume de son sont utilisés. Activez cette option si l'intervalle dynamique de vos haut-parleurs est très bas. Soyez conscient que cette fonction crée une distorsion et ne devrait être utilisé qu'en dernier recours.
Exemple:
mplayer -af volume=10.1:0 media.aviamplifierait le son de 10.1dB et bloque le volume si il est trop haut.
Ce filtre a une seconde fonction: Il mesure le niveau maximum du son et l'affiche quand MPlayer se termine. Cette estimation de volume peut être utilisée pour définir le niveau de son dans MEncoder pour que l'intervalle dynamique maximum soit utilisé.
Le filtre equalizer est un égaliseur graphique à 10 bandes, implémenté en utilisant 10 filtres IIR de bande passante. Cela signifie qu'il fonctionne quel que soit le type d'audio joué. Les fréquences centrales pour les 10 bandes sont:
Band No. | Fréquence centrale |
---|---|
0 | 31.25 Hz |
1 | 62.50 Hz |
2 | 125.0 Hz |
3 | 250.0 Hz |
4 | 500.0 Hz |
5 | 1.000 kHz |
6 | 2.000 kHz |
7 | 4.000 kHz |
8 | 8.000 kHz |
9 | 16.00 kHz |
Si la fréquence du son joué est plus basse que la fréquence centrale pour une bande de fréquence, alors cette bande sera désactivée. Un bogue connu de ce filtre est que les caractéristiques de la plus haute bande ne sont pas complètement symétriques si la fréquence du sample est proche de la fréquence centrale de la bande. Ce problème peut être contourné en up-samplant le son en utilisant le filtre resample avant qu'il n'atteigne ce filtre.
Ce filtre a 10 paramètres:
sont des nombres à virgule compris entre -12 et +12 représentant le gain en dB pour chaque bande de fréquence.
Exemple:
mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.aviamplifierait le son sur les fréquences les plus hautes et les plus basses tout en les annulant presque complètement autour de 1kHz.
Utilisez le filtre pan pour mixer les canaux arbitrairement. Fondamentalement c'est une combinaison des filtres volume control et channels. Il y a deux utilisations principales pour ce filtre:
Down-mixage de plusieurs canaux vers seulement quelques uns, stéréo vers mono par exemple.
Faire varier la "largeur" du haut parleur central dans un système de son surround.
Ce filtre est difficile à utiliser, et nécessitera quelques réglage avant d'obtenir le résultat souhaité. Le nombre d'options pour ce filtre dépends du nombre de canaux de sortie:
est un entier compris entre 1 et 6 utilisé pour définir le nombre de canaux de sortie. Cette option est requise, la laisser vide provoquera une erreur à l'exécution.
sont des nombres à virgule compris entre 0 et 1. l[i][j] détermine le nombre j de canaux d'entrée à mixer dans le nombre i de canaux de sortie.
Exemple 1:
mplayer -af pan=1:0.5:0.5 -channels 1 media.avidown-mixerait de stéréo vers mono.
Exemple 2:
mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.aviproduirait une sortie à trois canaux en laissant les canaux 0 et 1 intacts, et mixerait les canaux 0 et 1 dans le canal 2 (qui pourrait être envoyé à un sub-woofer par exemple).
Le filtre sub ajoute un canal de sub woofer au flux audio. Les données audio utilisées pour créer le canal sub-woofer sont une moyenne des canaux 0 et 1. Le fréquences basses sont ensuite filtrées par un filtre Butterworth de 4ème ordre avec une fréquence de cut-off par défaut de 60Hz et ajoutées à un canal séparé du flux audio. Attention: Désactivez ce filtre quand vous lisez des DVDs en son Dolby Digital 5.1, sinon ce filtre empêchera l'envoi du son au sub-woofer. Ce filtre a deux paramètres:
est un nombre à virgule optionnel utilisé pour définir la fréquence de cut-off du filtre en Hz. L'intervalle valide est de 20Hz à 300Hz. Pour les meilleurs résultats essayez de fixer la fréquence de cut-off le plus bas possible. Cela améliorera la stéréo ou le son surround. La fréquence de cut-off par défaut est 60Hz.
est un entier optionnel entre 0 et 5 qui détermine le nombre de canaux à insérer dans le sous-canal audio. Par défaut c'est le canal numéro 5. Notez que le nombre de canaux sera automatiquement augmenté à ch si nécessaire.
Exemple:
mplayer -af sub=100:4 -channels 5 media.aviajouterait un canal sub-woofer avec une fréquence de cut-off de 100Hz au canal de sortie 4.
Le son surround encodé en matrice peut être décodé par le filtre surround. Dolby Surround est un exemple de format encodé en matrice. Beaucoup de fichiers avec deux canaux audio contiennent actuellement du son surround matricé. Pour utiliser cette fonction vous avez besoin d'une carte son supportant au moins 4 canaux. Ce filtre a un paramètre:
est un nombre à virgule optionnel entre 0 et 1000 utilisé pour définir le décalage en ms pour les haut-parleurs arrières. Ce décalage devrait être défini comme ceci: si d1 est la distance entre la position d'écoute et les haut-parleurs de devant et d2 la distance entre la position d'écoute et les haut-parleurs de derrière, alors le décalage d peut être fixé à 15ms si d1 <= d2 et à 15 + 5*(d1-d2) si d1 > d2. La valeur par défaut pour d est 20ms.
Exemple:
mplayer -af surround=15 -channels 4 media.aviajouterait un décodage de son surround avec un décalage de 15ms pour le son des haut-parleurs arrière.
Ce filtre audio exporte le signal entrant vers un autre process en utilisant le mappage de mémoire mmap()). Les aires de mémoire mappées contiennent une entête:
int nch /*nombre de canaux*/ int size /*taille du tampon*/ unsigned long long counter /*Utilisé pour garder la synchro, mis à jour chaque fois que de nouvelles données sont exportées.*/Le reste est constitué de données 16bit (non-entrelacées).
Le fichier dans lequel vous voulez que le filtre exporte. Par défaut il mappe dans ~/.mplayer/mplayer-af_export.
Nombre d'échantillons par canal. La valeur par défaut est 512 échantillons.
Exemple:
mplayer -af export=/tmp/mplayer-af_export:1024 media.aviexporterait 1024 échantillons par canal dans /tmp/mplayer-af_export.
Les plugins audio ont été remplacés par les filtres audio et seront prochainement supprimés.
MPlayer supporte les plugins audio. Les plugins audio peuvent être utilisés pour changer les propriétés des données audio avant que le son n'atteigne la carte son. Ils sont activés en utilisant l'option -aop qui accepte l'argument list=plugin1,plugin2,.... L'argument list est requis et détermine quels plugins devraient être utilisés et dans quel ordre ils devraient être exécutés. Exemple:
mplayer media.avi -aop list=resample,formatpasserait le son au travers du plugin resampling suivi du plugin format.
Ces plugins on également des options qui changent leur comportement. Ces options sont expliquées en détail dans les sections ci-dessous. Un plugin s'exécutera avec des paramètres par défaut si ses options sont omises. Voici un exemple de comment utiliser les plugins en combinaison avec des options spécifiques au plugin:
mplayer media.avi -aop list=resample,format:fout=44100:format=0x8fixerait la fréquence de sortie du plugin resample à 44100Hz et le format de sortie du plugin format à AFMT_U8.
Actuellement les plugins audio ne peuvent pas être utilisés dans MEncoder.
MPlayer supporte pleinement l'up/downsampling du son. Ce plugin peut être utilisé si vous avez une carte son à fréquence fixe ou que vous vous battez avec une vieille carte son qui n'est capable que de sampler à 44.1kHz maxi. Ce plugin à une option: fout qui peut être utilisé pour fixer la fréquence de sortie désirée. Elle est donnée en Hz, et est par défaut de 48kHz.
Usage:
mplayer media.avi -aop list=resample:fout=freqoù freq est la fréquence en Hz, par ex. 44100.
Notez que la fréquence de sortie ne devrait pas être augmentée au dessus de sa valeur par défaut. Le dépassement provoquera la lecture des flux audio et vidéo en slow motion assortie d'une distorsion audio.
MPlayer a un plugin audio qui peut décoder le son surround encodé en matrice. Dolby Surround est un exemple de format encodé en matrice. Beaucoup de fichiers avec deux canaux audio contiennent actuellement du son surround matricié. Pour utiliser cette fonction vous avez besoin d'une carte son supportant au moins 4 canaux.
Usage:
mplayer media.avi -aop list=surround
Si votre carte son ne supporte pas le format de données int 16bit signé, ce plugin peut être utilisé pour le changer dans un format que votre carte son comprends. Il a une option, format, qui peut être initialisée avec les nombres trouvés dans libao2/afmt.h. Ce plugin est très rarement utilisé et est réservée aux utilisateurs avancés. Gardez à l'esprit que ce plugin ne change que le format de sample et pas sa fréquence ou le nombre de canaux.
Utilisation:
mplayer media.avi -aop list=format:format=outfmtoù outfmt est le format de sortie requis.
Ce plugin décale le son est n'est là que comme exemple pour démontrer comment développer de nouveaux plugins. Il ne peut être utilisé pour rien d'utile d'un point de vue utilisateur et n'est mentionné ici que par soucis d'exhaustivité. N'utilisez pas ce plugin à moins que vous soyez un développeur.
Ce plugin est un remplacement logiciel pour le contrôleur de volume, et peut être utilisé sur des machines avec un périphérique mixeur endommagé. Il peut également être utilisé si on veut changer le volume de sortie de MPlayer sans changer le volume PCM du mixeur. Il a une option volume qui est utilisée en fixant une valeur entre 0 et 255, 101 étant la valeur par défaut qui équivaut à une amplification de 0dB. Utilisez ce plugin avec précaution car il peut réduire le signal jusqu'au bruit. Dans la plupart des cas il vaut mieux régler le volume MASTER au maximum, laisser ce plugin, et contrôler le niveau de sortie sur vos haut-parleurs avec le bouton principal du mixeur. Au cas où votre carte son ait un mixeur numérique au lieu d'un analogique, utilisez le contrôle mixeur MASTER à la place. Si il y a un ampli externe connecté à votre ordinateur (c'est la plupart du temps le cas), le niveau de bruit peut être minimisé en ajustant le niveau principal et la molette du volume de l'ampli jusqu'à ce que le bruit résiduel soit parti.
Usage:
mplayer media.avi -aop list=volume:volume=0-255
Ce plugin a également des capacités de compression ou "Soft-Clipping". La compression peut être utilisé si la dynamique du son est très élevée ou si la dynamique de vos haut-parleurs est très basse. Soyez contient que cette fonction crée des distorsions et ne devrait être envisagée qu'en dernier ressort.
Utilisation:
mplayer media.avi -aop list=volume:softclip
Ce plugin augmente (linéairement) la différence entre les canaux gauche et droit (comme le plugin extrastereo de XMMS) qui donne une sorte d'effet "live" à la lecture.
Utilisation:
mplayer media.avi -aop list=extrastereo mplayer media.avi -aop list=extrastereo:mul=3.45Le coefficient par défaut (mul) est un nombre à virgule initialisé à 2.5. Si vous l'initialisez à 0.0, vous aurez un son mono (moyenne des deux canaux). Si vous l'initialisez à 1.0, le son sera inchangé, si vous l'initialisez à -1.0, les canaux gauche et droit seront inversés.
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.
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).
Assurez-vous que votre tuner fonctionne avec d'autres logiciels TV pour Linux. par exemple XawTV.
La liste complète des options est disponible sur la page de man. Voci juste quelques astuces:
Utilisez l'option channels. Un exemple:
-tv channels=26-MTV1,23-TV2Explication: en utilisant cette option, seuls les canaux 26 et 23 seront utilisables, et il y a un joli texte OSD lors des changements de canal affichant le nom du nouveau. Les espaces dans le nom du canal doivent être remplacés par le caractère "_".
Choisissez des dimensions d'image sensées. Les dimensions de l'image de destination devraient être divisible par 16.
Si vous capturez la vidéo avec une résolution verticale supérieure à la moitié de la pleine résolution (c-a-d. 288 pour PAL ou 240 pour NTSC, assurez-vous d'avoir désactivé l'entrelacement. Sinon votre film sera distordu pendant les scènes fast-motion et le contrôleur de bitrate ne sera probablement même pas capable de garder le bitrate demandé car l'artefact de désentrelacement produit un grand taux de détails et donc consomme plus de bande passante. Vous pouvez désactiver l'entrelacement avec -vf pp=DEINT_TYPE. Généralement pp=lb peut faire du bon travail, mais c'est une histoire de préférence personnelle. Voyez les autres algorithmes de désentrelacement dans le manuel et essayez-les.
Coupez les espaces morts. Quand vous capturez la vidéo, les bords sont généralement noirs ou contiennent du "bruit". De nouveau cela consomme de la bande passante inutilement. Plus précisément ce ne sont pas les zones noires elles-mêmes mais les transitions nettes entre le noir et la vidéo plus claire qui jouent, mais ce n'est pas très important pour le moment. Avant que vous commenciez la capture, ajustez les arguments de l'option crop pour que toutes les saletés des bords soient coupées. De nouveau, n'oubliez pas de garder des dimensions censées.
Regardez la charge CPU. Elle ne devrait pas dépasser la limite des 90% la plupart du temps. Si vous avez un gros tampon, MEncoder peut survivre à une surcharge pendant quelques secondes mais pas plus. Il vaut mieux désactiver l'économiseur d'écran OpenGL et les trucs similaires.
Ne jouez pas avec l'horloge système. MEncoder l'utilise pour la synchro A/V. Si vous réglez l'horloge système (surtout en arrière dans le temps), MEncoder va se sentir perdu et va perdre des trames. C'est un problème important lorsque vous êtes en réseau et que vous utilisez certains logiciels de synchronisation comme NTP. Vous devrez désactiver NTP pendant le processus de capture si vous voulez capturer correctement.
Ne changez pas le outfmt à moins que vous sachiez ce que vous faites ou votre si votre carte/pilote ne supporte pas la valeur par défaut (palette YV12) Dans les versions précédentes de MPlayer/MEncoder il était nécessaire de spécifier le format de sortie. Ce problème devrait être résolu dans la version actuelle et outfmt n'est plus requis, et la valeur par défaut convient dans la plupart des cas. Par exemple, si vous capturez en DivX en utilisant libavcodec et que vous spécifiez outfmt=RGB24 de façon à augmenter la qualité de l'image capturée, l'image capturée sera reconverti plus tard en YV12; donc la seule chose que vous obtiendrez est un gaspillage massif de puissance CPU.
Pour spécifier la palette I420 (outfmt=i420), vous devez ajouter une option -vc rawi420 à cause d'un conflit de fourcc avec un codec vidéo Intel Indeo.
Il y a plusieurs façons de capturer l'audio. Vous pouvez attraper le son soit avec votre carte son via un cable externe entre la carte vidéo et l'entrée ligne, soit en utilisant le DAC intégré au chip bt878. Dans ce dernier cas, vous devrez charger le pilote btaudio. Lisez le fichier linux/Documentation/sound/btaudio (dans l'arborescence du noyau, pas celle de MPlayer) pour les instructions d'utilisations de ce pilote.
Si MEncoder ne peut pas ouvrir le périphérique audio, assurez-vous qu'il soit réellement disponible. Il peut y avoir des ennuis avec certains serveurs de son comme arts (KDE) ou esd (GNOME). Si vous avez une carte son full duplex (presques toutes les cartes descentes le supportent aujourd'hui), et que vous utilisez KDE, essayez d'activer l'otpion "full duplex" dans le menu des préférences du serveur de son.
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 sorite.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.
Le système de liste d'édition de décision (Edit Decision Lists - 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 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.
Incluez l'option -edl <nomfichier> quand vous lancez MPlayer, avec le nom du fichier EDL que vous voulez appliquer à la video.
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 0Cela 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 sur i. Une entrée correspondante sera écrite dans le fichier. Vous pouvez ensuite revenir et affiner le fichier EDL généré.
Table des matières
MPlayer utilise un ordre de lecture complexe. Il consiste en les options globales écrites en premier, par exemple
mplayer -vfm 5et 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 film1.avi film2.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 3La commande ci-dessus jouera les fichiers dans cet ordre: 1, 1, 2, 1, 1, 2, 1, 1, 2.
Lecture d'un fichier:
mplayer [options] [chemin/]fichier
Lecture de plusieurs fichiers:
mplayer [options par défaut] [chemin/]fichier1 [options pour fichier1] fichier2 [options pour fichier2] ...
Lecture de VCD:
mplayer [options] vcd://N°piste [-cdrom-device /dev/cdrom]
Lecture de DVD:
mplayer [options] dvd://N°titre [-dvd-device /dev/dvd]
Lecture à partir du web:
mplayer [options] http://site.com/fichier.asf(les listes de lecture peuvent également être utilisées)
Lecture à partir de RTSP:
mplayer [options] rtsp://serveur.exemple.com/nomFlux
Exemples:
mplayer -vo x11 /mnt/Films/Contact/contact2.mpg mplayer vcd://2 -cd-rom-device /dev/hdc mplayer -afm 3 /mnt/DVDtrailers/alien4.vob mplayer dvd://1 -dvd-device /dev/hdc mplayer -abs 65536 -delay -0.4 -nobps ~/films/test.avi
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.
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 conf (les chemins relatifs le sont par rapport à $HOME/.mplayer).
Exemple 3.1. Un simple fichier de contrôles
## ## 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
Vous pouvez obtenir la liste complète en exécutant mplayer -input keylist.
Keyboard
Souris (uniquement sous X)
Joystick (son support doit avoir été activé à la compilation)
Vous pouvez obtenir la liste complète des commandes en exécutant mplayer -input cmdlist.
seek (int) val [(int) type=0]
Saute à une position donnée. Le type 0 est un déplacement relatif de +/- val secondes. Le type 1 se déplace à val% du film.
audio_delay (float) val
Ajuste le décalage audio de val secondes
quit
Quitte MPlayer
pause
Pause/relance la lecture
grap_frames
Quelqu'un sait ?
pt_step (int) val [(int) force=0]
Va vers l'entrée précédente/suivante de l'ordre de lecture. Le signe de val indique la direction. Si aucune entrée n'est disponible dans la direction demandée, cela ne fera rien à moins que force ne soit pas égal à 0.
pt_up_step (int) val [(int) force=0]
Comme pt_step mais il saute au prochain/précédent dans la liste parente. Il est utilisé pour casser les boucles internes dans le playtree.
alt_src_step (int) val
Quand plusieurs sources sont disponibles cela sélectionne la prochaine/précédente (pas supporté par les playlists asx).
sub_delay (float) val [(int) abs=0]
Ajuste le décalage des sous-titres de +/- val secondes or ou le fixe à val secondes quand abs est différent de zéro.
osd [(int) level=-1]
Bascule le mode osd ou change le niveau quand level > 0.
volume (int) dir
Augmente/diminue le volume
saturation (int) val [(int) abs=0]
Fixe/Ajuste les paramètres vidéo. L'intervalle de Val va de -100 à 100.
frame_drop [(int) type=-1]
Bascule/Fixe le mode saut de trames.
sub_visibility
Bascule l'affichage des sous-titres.
sub_pos (int) val
Ajuste la position des sous-titres.
vobsub_lang
Change la langue des sous-titres VobSub.
vo_fullscreen
Active le plein-écran.
tv_step_channel (int) dir
Sélectionne le prochain/précédent canal TV.
tv_step_norm
Change la norme TV.
tv_step_chanlist
Change la liste des canaux.
gui_skinbrowser
actions GUI
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 le détectera automatiquement. 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 dit rien à propos de LIRC c'est que son support n'est pas compilé. C'est tout :-)
Le nom de l'application à lancer avec MPlayer est - oh surprise - mplayer. Vous pouvez utiliser n'importe quelle 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.
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 également la variable d'environnement http_proxy, et utilise le proxy si disponible. L'utilisation du Proxy peut aussi être forcé:
mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.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 -
Il est également recommandé d'activer -cache pour une lecture depuis le réseau:
wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -cache 8192 -
Les flux distants vous permettent d'accéder à la plupart des types de flux de MPlayer depuis un hôte distant. Le but de cette fonction est de rendre possible l'utilisation du lecteur CD ou DVD d'un autre ordinateur sur le réseau (en supposant que vous ayez une bande passante suffisante). Malheureusement certains types de flux (pour l'instant TV et MF) ne sont pas utilisables à distance car ils sont implémentés au niveau du demuxer. C'est triste pour les flux MF mais les flux TV nécessiteraient une bande passante incensée.
Après avoir compilé MPlayer, allez dans le répertoire TOOLS/netstream et tapez make pour compiler le serveur. Vous pouvez ensuite copier le binaire netstream dans l'endroit approprié sur votre système (généralement /usr/local/bin sous Linux).
Tout d'abord vous devez lancer le serveur sur l'ordinateur auquel vous souhaitez accéder à distance. Actuellement le serveur est très basique et n'accepte aucun argument en ligne de commande, donc tapez juste netstream. Maintenant vous pouvez par exemple jouer la seconde piste d'un VCD sur le serveur avec:
mplayer -cache 5000 mpst://serveur/vcd://2Vous pouvez aussi accéder aux fichiers de ce serveur:
mplayer -cache 5000 mpst://serveur//usr/local/films/lol.aviVeuillez noter que les chemins qui ne commencent pas par un / seront relatifs au répertoire dans lequel le serveur fonctionne. L'option -cache n'est pas requise mais vivement recommandée.
Soyez conscient que pour l'instant le serveur n'est pas sécurisé du tout. Donc ne vous pleignez pas des nombreuses attaques possibles par cette voie. À la place envoyez-nous quelques (bons) patches pour le rendre meilleur ou ecrivez votre propre serveur.
4.1. Développement | |
Q : | Comment puis-je créer un patch adapté pour MPlayer ? |
R : | Nous avons fait un court document décrivant tous les détails nécessaires. Merci de suivre les instructions. |
Q : | Comment puis-je supporter le développement de MPlayer ? |
R : | Nous sommes plus que contents d'accepter vos dons matériels et logiciels. Ils nous aident à améliorer continuellement MPlayer. |
Q : | Comment puis-je devenir un développeur MPlayer ? |
R : | Nous accueillons toujours des codeurs et des "documenteurs". Lisez la documentation technique pour avoir un premier aperçu. Ensuite vous devriez vous inscrire à la liste de diffusion mplayer-dev-eng et commencer à coder. |
Q : | Pourquoi n'utilisez-vous pas autoconf/automake ? |
R : | Nous avons un système modulaire écrit à la main. Il fait un travail relativement bon, donc pourquoi changer ? Nous n'aimons pas les outils auto*, comme d' autres gens. |
4.2. Compilation | |
Q : | Y'a-t-il des paquets binaires (RPM/deb) de MPlayer ? |
R : | |
Q : | La compilation s'arrête avec un message d'erreur similaire à celui-ci: In file included from mplayer.c:34: mw.h: In function `mplMainDraw': mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458 Please submit a full bug report, with preprocessed source if appropriate. |
R : | C'est un problème connu de gcc 3.0.4, upgradez en 3.1 pour résoudre le problème. Comment installer gcc est décrit dans la section gcc 2.96. |
Q : | Configure se termine par ce texte, et MPlayer ne compile pas ! Your gcc does not support even i386 for '-march' and '-mcpu' |
R : | Votre gcc n'est pas installé correctement, voir le fichier config.log pour plus de détails. |
Q : | Quel est le problème avec gcc 2.96 ? |
R : | Nous décourageons fortement l'utilisation de gcc 2.96 ! Lisez ce document pour avoir des détails sur pourquoi Red Hat à diffusé gcc 2.96 et quel est le problème avec. Si vous voulez toujours réellement l'utiliser, soyez sûr d'obtenir la dernière version et indiquez l'option --disable-gcc-checking à configure. Rappelez-vous que vous êtes seul sur ce point. Ne rapportez pas de bogues, ne demandez pas d'aide sur les listes de diffusion. Nous ne fournirons pas de support au cas où vous rencontrez des problèmes. |
Q : | Génial, J'ai le gcc 3.0.1 fournit avec Red Hat/Mandrake, donc je suis tranquille ! |
R : | Non, car il y a (eu) des problèmes avec ces compilateurs également. Pour vérifier l'état des compilateurs gcc pour MPlayer, voyez la section Installation. |
Q : | J'ai essayé de compiler MPlayer, mais j'obtiens ce résultat: In file included from /usr/include/g++-v3/bits/std_cwchar.h:42, from /usr/include/g++-v3/bits/fpos.h:40, from /usr/include/g++-v3/bits/char_traits.h:40, from /usr/include/g++-v3/bits/std_string.h:41, from /usr/include/g++-v3/string:31, from libwin32.h:36, from DS_AudioDecoder.h:4, from DS_AudioDec.cpp:5: /usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*, wchar_t**, int)': /usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to `const |
R : | Upgradez votre glibc à la dernière version. Sur Mandrake, utilisez 2.2.4-8mdk. |
Q : | ... gcc 2.96 ... (Oui, certaines personnes CONTINUENT de nous insulter à propos de gcc 2.96 !) |
R : | Citation d'un mail que A'rpi a envoyé à la liste mplayer-users (le mot 'ideg' est décrit plus bas):
|
Q : | La sortie SDL ne fonctionne ou ne compile pas. Le problème est ... |
R : | Testé et fonctionnel avec SDL 1.2.x et devrait fonctionner sur SDL 1.1.7+. Il ne fonctionne pas avec les versions antérieures. Donc si vous choisissez d'utiliser une telle version, vous serez seul. |
Q : | J'ai toujours des ennuis pour compiler le support SDL. gcc dit quelques chose comme undefined reference to SDL_EnableKeyRepeat. Que faire ? |
R : | Où avez-vous installé la librairie SDL? Si vous l'avez installé dans /usr/local (par défaut) alors éditez le fichier config.mak à la racine et ajoutez "-L/usr/local/lib" après X_LIBS=. Maintenant tapez make. C'est prêt ! |
Q : | Cela ne compile pas, il manque un uint64_t ou des choses similaires ... |
R : | Copiez ce inttypes.h dans /usr/local/include/ ou dans un endroit équivalent et essayez de nouveau ... |
Q : | J'ai un Linux tournant sur un Pentium III mais ./configure ne détecte pas SSE ... |
R : | Seuls les noyaux de version 2.4.x supportent SSE (ou essayez le 2.2.19 ou supérieur, mais préparez-vous à des problèmes). |
Q : | J'ai une Matrox G200/G400/G450/G550, comment puis-je compiler/utiliser le pilote mga_vid ? |
R : | Lisez la section mga_vid. |
Q : | Hmm, étrange. En chargeant le pilote noyau mga_vid.o, J'ai trouvé ceci dans les logs: Warning: loading mga_vid.o will taint the kernel: no license |
R : | Les derniers modutils du noyau requièrent un flag indiquant la licence (principalement pour éviter que les hackers noyau ne débogguent des noyaux closed source). Upgradez vos noyau, modutils et MPlayer. |
Q : | Pendant 'make', MPlayer se plaint à propose de librairies X11. Je ne comprends pas, J'ai VRAIMENT installé X !? |
R : | ... mais vous n'avez pas installé les paquets de développement. Ou pas correctement. Ils s'appellent XFree86-devel* sous Red Hat, et xlibs-dev sous Debian. Vérifiez également que les liens symboliques /usr/X11 et /usr/include/X11 existent (cela peut poser un problème sur les systèmes Mandrake). Ils peuvent être créés avec ces commandes: # ln -sf /usr/X11R6 /usr/X11 # ln -sf /usr/X11R6/include/X11 /usr/include/X11Votre distribution peut différer de la Hiérarchie de système de Fichier Standard. |
Q : | Je ne peut pas compiler SVGAlib. J'utilise le noyau 2.3/2.4 ... |
R : | Vous devez éditer le Makefile.cfg et décommenter BACKGROUND = y. |
Q : | J'ai compilé MPlayer avec le support libdvdcss/libdivxdecore, mais quand j'essaie de lancer, il dit: error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directoryJ'ai vérifié le ficher et il EST dans /usr/local/lib ... |
R : | Ajoutez /usr/local/lib à /etc/ld.so.conf et exécutez ldconfig. |
Q : | En compilant MEncoder, il provoque un segfault au linkage! |
R : | C'est un problème de linker. Upgradez les binutils peut aider (2.11.92.* ou plus récent devrait aller). Puisque ce n'est pas de notre faute, merci de ne pas faire de rapport! |
Q : | MPlayer meurt avec une segmentation fault sur la vérification de pthread ! |
R : | chmod 644 /usr/lib/libc.so |
Q : | Je voudrais compiler MPlayer sous Minix ! |
R : | Moi aussi. :) |
4.3. Questions générales | |
Q : | Y-a-t'il des listes de diffusion pour MPlayer ? |
R : | Oui. Voir la section listes de diffusion |
Q : | J'ai trouvé un sale bogue quand j'essaie de lire ma vidéo préférée! Qui dois-je informer ? |
R : | Veuillez lire comment rapporter un bogue et suivez les instructions. |
Q : | J'ai des problèmes pour lire les fichiers avec le codec ... . Puis-je l'utiliser? |
R : | Regardez l'état des codecs, si il ne contient pas votre codec, lisez la documentation des codecs, surtout le HOWTO importation des codecs et contactez-nous. |
Q : | Quand je démarre la lecture, j'obtiens ce message mais tout semble se dérouler normalement: Linux RTC init: ioctl (rtc_pie_on): Permission denied |
R : | Vous avez besoin des droits root ou un noyau configuré spécialement pour utiliser le nouveau code de timing. Pour les détails voir la section RTC de la documentation. |
Q : | Il y a un chronomètre dans le coin supérieur gauche. Comment puis-je m'en débarrasser? |
R : | Pressez o et essayez l'option -osdlevel. |
Q : | Les options -xy ou -fs ne fonctionnent pas avec le pilote x11 (-vo x11) ... |
R : | Elles fonctionnent, mais vous devez spécifier explicitement le zoom logiciel (très lent) avec l'option -zoom. Vous feriez mieux d'utiliser le support XF86VidMode: Vous devez spécifier les options -vm et -fs, et c'est bon. Assurez vous d'avoir les bons modelines dans votre fichier XF86Config, et essayez de faire fonctionner le pilote DGA et le pilote DGA de SDL. C'est bien plus rapide. Si le DGA de SDL fonctionne, utilisez-le, ce sera encore plus rapide. |
Q : | Quelle est la signification des nombres sur la ligne de commande ? |
R : | Exemple: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%
|
Q : | Que faire si je ne veux pas qu'ils apparaissent ? |
R : | Utilisez l'option -quiet et lisez la page de man. |
Q : | Pourquoi l'utilisation cpu de video_out est-elle à zéro (0%) pour certains fichiers ? |
R : | Ce n'est pas zéro, mais comme il est appelé à partir du codec il ne peut être mesuré séparément. Vous devriez essayez de lire le fichier avec -vo null puis avec -vo ... et vérifier la la différence pour voir la vitesse de video_out. |
R : | Vous utilisez le rendu direct, où le codec rends la vidéo à la mémoire vidéo elle-même. Dans ce cas, le pourcentage de décodage contient également le pourcentage d'affichage. |
Q : | Il y a des messages d'erreur à propos d'un fichier non-trouvé /usr/local/lib/codecs/ ... |
R : | Téléchargez les codecs Win32 sur notre page des codecs (c'est le paquetage de codecs avifile mais avec un ensemble de DLL différent) et installez-les. |
Q : | Umm, qu'est ce qu'un "IdegCounter"? |
R : | Une combinaison de mots hongrois et anglais (NdT: "counter" signifiant compteur). "Ideg" en hongrois signifie la même chose que "nerf" en français, et se prononce à peu près "ydaegh". Il a été utilisé pour la première fois pour mesurer le niveau de nervosité de A'rpi, après certaines (umm) "mystérieuses" disparitions de code CVS ;) |
Q : | Et qu'est ce qu'un "Faszom(C)ounter" ? |
R : | "Fasz" est un mot hongrois dont vous ne voulez pas connaître la signification, les autres sont connectés à l'esprit pervers des développeurs de MPlayer. |
Q : | LIRC ne fonctionne pas, parce que ... |
R : | Êtes-vous sûr d'utiliser mplayer au lieu de mplayer_lirc? Notez que c'était mplayer_lirc pendant un long moment, incluant la version 0.60, mais il à été récemment été renommé en mplayer. |
Q : | Les sous-titres sont très jolis, les plus beaux que j'ai jamais vu, mais ils ralentissent la lecture! Je sais que ce n'est pas courant ... |
R : | Après avoir exécuté ./configure, editez config.h et remplacez #undef FAST_OSD par #define FAST_OSD. Ensuite recompilez. |
Q : | L'On Screen Display (OSD) tremblote ! |
R : | Vous utilisez le pilote vo avec un cache simple (x11,xv). Avec xv, utilisez l'option -double. Essayez également -vf expand. |
Q : | libavcodec, c'est quoi exactement ? |
R : | Voir la section libavcodec. |
Q : | Mais configure me dit Checking for libavcodec ... no |
R : | Vous avez besoin d'obtenir libavcodec depuis le CVS de FFmpeg. Lisez les instructions dans la section libavcodec. |
Q : | La barre des tâches d'Icewm continue de couvrir le film en mode plein écran ! |
R : | Cela ne devrait plus arriver, si c'est toujours le cas utilisez l'option -fstype et rapportez son résultat à la liste de diffusion mplayer-users. |
Q : | Je ne peut pas accéder au menu de la GUI. J'appuie sur le bouton droit de la souris, mais je ne peut pas accéder aux éléments du menu ! |
R : | Utilisez-vous FVWM ? Essayez cela:
|
Q : | Comment puis-je lancer MPlayer en tâche de fond ? |
R : | Utilisez: mplayer options nomfichier < /dev/null & |
4.4. Problèmes de lecture | |
Q : | Je n'arrive pas à trouver la cause de certains problèmes étranges de lecture. |
R : | Avez-vous un fichier codecs.conf encore présent dans ~/.mplayer/, /etc/, /usr/local/etc/ ou dans un endroit similaire ? Supprimez-le, les fichiers codecs.conf obsolètes peuvent causer d'obscurs problèmes. MPlayer utilisera son fichier intégré à la place. |
Q : | ... fonctionne avec xine/avifile/... mais pas avec MPlayer. |
R : | MPlayer n'est pas xine/avifile/.... Bien que ces lecteurs aient du code en commun, l'ensemble des codecs (DLL), la synchronisation, le démultiplexage etc. sont différents et ne devraient pas être comparés. Si vous avez un fichier que MPlayer n'arrive pas à lire mais qui fonctionne avec un autre lecteur, veuillez lire les directives de rapport de bogue et uploader le fichier sur notre serveur FTP. |
Q : | L'audio se désynchronise pendant la lecture d'un fichier AVI. |
R : | Essayez les options -bps ou -nobps. Si cela ne s'améliore pas, lisez ceci et uploadez le fichier en FTP. |
Q : | MPlayer se termine par des erreurs pendant l'utilisation de l3codeca.acm. |
R : | Vérifiez la sortie de ldd /usr/local/bin/mplayer. Si elle contient libc.so.6 => /lib/libc.so.6 (0x4???????)où "?" est un chiffre alors tout va bien, l'erreur n'est pas là. Si y a: libc.so.6 => /lib/libc.so.6 (0x00??????)alors il y a un problème avec votre noyau/libc. Peut être que vous utilisez certains patches de sécurité (par exemple le patch OpenWall de Solar Designer) qui force le chargement des librairies à une adresse très basse. Comme l3codeca.acm est une DLL non-relogeable, elle doit être chargée en 0x00400000, nous ne pouvons pas changer ça. Vous devriez utiliser un noyau non-patché, ou utiliser l'option de MPlayer -afm 1 pour désactiver l'utilisation de l3codeca.acm. |
Q : | Mon ordinateur joue des MS DivX AVIs avec résolution de ~640x300 et son stéréo mp3 trop lentement. Quand j'utilise l'option -nosound, tout est OK (mais silencieux). |
R : | Votre machine est trop lente ou le pilote de votre carte son est cassé. Consultez la documentation pour voir si vous pouvez améliorer les performances. |
Q : | MPlayer meurt avec MPlayer interrupted by signal 4 in module: decode_video |
R : | Essayez d'exécuter MPlayer sur la machine où vous l'avez compilé. Ou recompilez avec "runtime CPU detection" (./configure --enable-runtime-cpudetection). N'utilisez pas MPlayer sur un CPU différent de celui sur lequel il a été compilé, sans utiliser cette option. |
Q : | J'ai des problèmes avec [votre gestionnaire de fenêtres] et les modes plein écran xv/xmga/sdl/x11 ... |
R : | Lisez Comment reporter des bogues et envoyez-nous un rapport de bogue. |
Q : | J'obtiens ceci quand je lis des fichiers MPEG: Can't find codec for video format 0x10000001! |
R : | Vous avez une ancienne version de codecs.conf dans ~/.mplayer/, /etc/, /usr/local/etc/ ou similaire. Retirez-la, il n'y en a plus besoin. OU vous avez l'option vc= ou quelque chose de similaire dans votre (vos) fichier(s) de config. |
Q : | Quand je lance MPlayer sous KDE je n'obtient qu'un écran noir et rien ne se passe. Après environ une minute la vidéo commence à défiler. |
R : | Le démon arts de KDE bloque le périphérique son. Attendez que la vidéo se lance ou désactivez le démon arts dans le centre de contrôle KDE. Si vous voulez utiliser le son arts, spécifiez la sortie audio via notre pilote arts audio natif (-ao arts). Si il échoue ou qu'il n'est pas compilé, essayez SDL (-ao sdl) et assurez-vous que SDL puisse gérer le son arts. Un autre option est de lancer MPlayer avec artsdsp. |
Q : | J'ai un AVI qui produit un écran gris quand il est joué avec -vc odivx et un vert avec -vc divx4. |
R : | Ce n'est pas un fichier DivX, mais un MS MPEG4v3. Si vous avez une ancienne version de codecs.conf dans ~/.mplayer/, /etc/, /usr/local/etc/ ou similaire, retirez-la. |
Q : | Quand je lis ce film j'obtiens des désynchro vidéo-audio et/ou MPlayer plante avec le message suivant: DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! |
R : | Il peut y avoir plusieurs raisons.
|
Q : | J'ai un fichier MJPEG qui fonctionne avec les autres lecteurs mais n'affiche qu'une image noire dans MPlayer |
R : | Utilisez un autre codec pour lire ce fichier, essayez -vc ffmjpeg. |
Q : | Quand j'essaie de capturer à partir de mon tuner, ça marche, mais les couleurs sont étranges. Elles sont normales avec les autres applications. |
R : | Votre carte rapporte probablement mal sa palette. Essayez avec YUY2 au lieu du YV12 par défaut (voir la section TV). |
Q : | J'ai des problèmes de synchro A/V. Certains de mes AVIs sont lus correctement, mais d'autres sont lus à double vitesse ! |
R : | Vous avez une carte son/pilote boguée. Elle est certainement fixé à 44100Hz, et vous essayez de lire un fichier qui a de l'audio à 22050Hz. Essayez le plugin resample. |
Q : | Tous les fichiers WMV (ou d'autres..) que je lis créent une fenêtre verte/grise et il n'y a que le son ! MPlayer affiche: Detected video codec: [null] drv:0 (NULL codec (no decoding)) |
R : | Si vous avez une ancienne version de codecs.conf dans ~/.mplayer/, /etc/, /usr/local/etc/ ou similaire, retirez-la. |
Q : | J'obtiens un pourcentage très étrange (bien trop grand) en lisant des fichiers sur mon notebook. |
R : | C'est un effet de la gestion/économie d'énergie sur votre notebook (du BIOS, pas du noyau). Branchez l'alimentation secteur avant d'allumer votre notebook. Vous pouvez aussi voir si cpufreq (une interface SpeedStep pour Linux) vous aide. |
Q : | L'audio/video se désynchronise complètement quand je lance MPlayer en root sur mon notebook. Cela fonctionne normalement quand je le lance en tant qu'utilisateur. |
R : | C'est là encore un effet de la gestion d'énergie (voir ci-dessus). Branchez l'alimentation secteur avant d'allumer votre notebook ou utilisez l'option -nortc. |
Q : | Pendant la lecture d'un film tout deviens sale et j'obtiens le message suivant: Badly interleaved AVI file detected - switching to -ni mode... |
R : | Les films mal entrelacés et -cache ne vont pas bien ensemble. Essayez -nocache. |
Q : | Comment puis-je lire les fichiers audio MPEG Layer 2 (mp2) ? |
R : | Vous devez utiliser -rawaudio on:format=0x50. |
4.5. Problèmes de pilotes Vidéo/audio (vo/ao) | |
Q : | Je n'ai pas de son en jouant une vidéo et j'obtiens des messages similaires à celui ci: AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) audio_setup: Can't open audio device /dev/dsp: Device or resource busy couldn't open/init audio device -> NOSOUND Audio: no sound!!! Start playing... |
R : | Vous êtes sous KDE ou GNOME avec le démon son ARTS ou ESD? Essayez de désactiver le démon son, ou utilisez les options -ao arts ou -ao esd pour faire utiliser ARTS ou ESD à MPlayer. |
Q : | Et a propos du pilote DGA? Je ne le trouve pas ! |
R : | ./configure autodétecte votre pilote DGA. Si -vo help ne montre pas DGA, alors il y a un problème avec votre installation de X. Essayez ./configure --enable-dga et lisez la section DGA. Vous pouvez également utiliser le pilote DGA de SDL avec l'option -vo sdl:dga. |
Q : | OK, -vo help montre le pilote DGA, mais il se plaint à propos des permissions. Aidez-moi ! |
R : | Il ne fonctionne qu'en root ! C'est une limitation de DGA. Vous devriez devenir root (su -), et réessayer. Une autre solution est de rendre MPlayer SUID root, mais ce n'est pas recommandé ! chown root /usr/local/bin/mplayer chmod 755 /usr/local/bin/mplayer chmod +s /usr/local/bin/mplayer AvertissementCela présente une grosse faille de sécurité ! Ne faites jamais ceci sur un serveur ou un ordinateur accessible par d'autres personnes que vous, elles pourraient obtenir les privilèges root par l'exécutable SUID root Mplayer. Vous êtes prévenu. |
Q : | Quand j'utilise Xvideo, ma Voodoo 3/Banshee dit: X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 147 (MIT-SHM) Minor opcode of failed request: 1 (X_ShmAttach) Serial number of failed request: 26 Current serial number in output stream:27 |
R : | Le pilote tdfx de XFree86 4.0.2/4.0.3 a ce bogue. Il a été résolu par le bugfix #621 du log CVS de XFree86 4.1.0. Donc upgradez en XFree86 4.1.0 ou supérieur. Sinon, vous pouvez soit télécharger DRI version 0.6 (au moins) depuis la page de DRI, soit utiliser DRI CVS. |
Q : | La sortie OpenGL (-vo gl) ne fonctionne pas (blocage/fenêtre noire/erreurs X11/...). |
R : | Votre pilote OpenGL ne supporte pas les changements de texture dynamiques (glTexSubImage). Cela ne fonctionne théoriquement pas sur les binaires de nVidia. Cela fonctionne théoriquement sur les cartes Utah-GLX/DRI et Matrox G400. Également avec les cartes DRI et Radeon. Cela ne fonctionne pas avec DRI et les autres cartes. Cela ne fonctionnera pas sur les cartes 3DFX à cause de la limite de 256x256 de la taille de texture. |
Q : | J'ai une carte nVidia TNT/TNT2, et j'ai une bande avec des couleurs étranges juste en dessous du film ! À qui la faute ? |
R : | C'est un bogue du pilote binaire X de nVidia. Ces bogues n'apparaissent QUE sur les cartes TNT/TNT2, et nous ne pouvons rien faire contre cela. Pour réparer le problème, upgradez à la dernière version des pilotes binaires de nVidia. Si c'est toujours mauvais, plaignez-vous à nVidia ! |
Q : | J'ai une carte nVidia XYZ, et quand je clique sur la fenêtre d'affichage de la GUI pour basculer l'affichage du panneau GUI, un carré noir apparaît là où j'ai cliqué. J'ai les pilotes les plus récents. |
R : | Oui, nVidia à corrigé le bug précédent (ci-dessus), et en a introduit un nouveau. Félicitons-les. UPDATE: D'après nVidia, cela a déjà été corrigé. |
Q : | Oh le monde est cruel ...! SDL n'a qu'une destination x11, mais pas de xv! |
R : | Testez si x11 Maintenant essayez -vo x11 -fs -zoom. Vous voyez la différence? Non?! OK, voici quelques eclaircissements: la destination x11 de SDL utilise xv si disponible, vous n'avez pas à vous en soucier... Note: Avec SDL vous pouvez forcer/désactiver Xv en utilisant -forcexv et -noxv. |
4.6. Lecture DVD | |
Q : | Et a propos de la navigation DVD ? |
R : | Le support pour dvdnav dans MPlayer est actuellement cassé, bien que la lecture normale fonctionne. Si vous voulez jouer avec des jolis menus, vous devrez utiliser un autre lecteur comme Xine ou Ogle. Si vous vous souciez de la navigation DVD, envoyez un patch. |
Q : | Pendant la lecture d'un DVD, Je rencontre cette erreur: mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed. |
R : | C'est un bogue connu de libdvdread 0.9.1/0.9.2. Utilisez libmpdvdkit2, qui est présent dans le source MPlayer, et est utilisé par défaut. |
Q : | Puis-je compiler libdvdread et libdvdcss sur mon doux SPARC sous Solaris ? |
R : | Qui sait ... Il semble fonctionner, donc testez et envoyez-nous vos retours, SVP. Référez-vous à la documentation de libdvdread et à sa homepage. Nous ne sommes pas les auteurs de libdvdread. Utilisez libmpdvdkit2 qui est présent dans les sources de MPlayer, et est utilisé par défaut. |
Q : | Et à propos des sous-titres? Est ce que MPlayer peut les afficher ? |
R : | Oui. Voir le chapitre DVD. |
Q : | Comment puis-je changer le code de zone de mon lecteur DVD ? Je n'ai pas Windows ! |
R : | Utilisez l'outil regionset. |
Q : | Dois-je être en (setuid) root/setuid fibmap_mplayer pour pouvoir lire un DVD ? |
R : | Non. Par contre vous devez avoir les droits appropriés sur le périphérique DVD (dans /dev/). |
Q : | Où puis-je trouver les paquetages libdvdread et libdvdcss ? |
R : | Vous n'en n'avez pas besoin. Utilisez libmpdvdkit2, qui est présent dans le et est utilisé par défaut. Vous pouvez obtenir les paquets mentionnés sur le site d'Ogle. |
Q : | Est-il possible de lire/encoder uniquement certains chapitres ? |
R : | Oui, essayez l'option -chapter. |
Q : | La lecture de DVD est très lente ! |
R : | Utilisez l'option -cache (décrite dans la page de man) et essayez d'activer le DMA pour le lecteur DVD avec l'outil hdparm (décrit dans le chapitre CD). |
4.7. Demandes de fonctionnalités | |
Q : | Si est MPlayer est en pause et que j'essaie de me déplacer ou de presser n'importe quelle touche, MPlayer sort de pause. Je voudrais être capable de me déplacer dans la vidéo en pause. |
R : | C'est très compliqué a implémenter sans perdre la synchronisation A/V. Toutes les tentatives ont échouées jusqu'à présent, mais les patches sont les bienvenus. |
Q : | J'aimerais me déplacer de +/- 1 trames au lieu de 10 secondes. |
R : | Cela ne peut pas être réalisé. Cela l'était, mais foutait en l'air la synchro A/V. Vous êtes libre de l'implémenter, et d'envoyer un patch. Ne le demandez pas. |
Q : | Comment puis-je faire pour que MPlayer se rappelle des options que j'utilise pour ce fichier en particulier ? |
R : | Créez un fichier nommé movie.avi.conf avec les options spécifiques à l'intérieur et placez-le dans ~/.mplayer ou dans le même répertoire que le fichier. |
4.8. Encodage | |
Q : | Comment puis-je encoder ? |
R : | Lisez la section MEncoder. |
Q : | Comment puis-je créer des VCDs ? |
R : | Essayez le script mencvcd du sous-répertoire TOOLS. Avec lui vous pourrez encoder des DVDs ou d'autres films en format VCD ou SVCD et même les graver directement sur un CD. |
Q : | Comment puis-je joindre deux fichiers vidéo ? |
R : | Cela à été l'objet d'une discussion sans fin sur mplayer-users. Allez chercher dans les archives pour une réponse complète. C'est un sujet compliqué et votre résultat pourra beaucoup varier suivant le type de fichiers que vous voulez lier. Les MPEGs peuvent être concaténés dans un fichier unique avec un peu de chance. Pour les AVIs il y a deux outils disponibles, avidemux et avimerge (partie de l'ensemble d'outils transcode) qui peuvent faire le travail. Vous pouvez également essayer MEncoder si vous avez deux fichiers partageant les mêmes dimensions et même codec. Essayez cat file1 file2 > file3 mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi |
Q : | Mon tuner fonctionne, Je peut entendre le son et voir la vidéo avec MPlayer, mais MEncoder est incapable d'encoder l'audio! |
R : | L'encodage audio TV pour Linux n'est actuellement pas implémenté, nous travaillons dessus. Pour le moment cela ne fonctionne que sur BSD. |
Q : | Je ne peux pas encoder les sous-titres en AVI ! |
R : | Vous devez spécifier l'option -sid correctement ! |
Q : | MEncoder provoque une segfault au démarrage ! |
R : | Mettez à jour DivX4Linux. |
Q : | Comment puis-je encoder seulement certains chapitres d'un DVD ? |
R : | Utilisez l'option -chapter correctement, comme: -chapter 5-7 |
Q : | J'essaie de travailler avec des fichiers de plus de 2Go sur un système de fichier VFAT. Ça marche? |
R : | Non, VFAT ne supporte pas les fichiers plus gros que 2Go. |
Q : | Pourquoi le bitrate affiché par MEncoder est négatif? |
R : | Parce que le bitrate avec lequel vous avez encodé l'audio est trop grand pour faire tenir le film sur un CD. Vérifiez que libmp3lame est installé correctement. |
Q : | Je ne peux pas convertir de fichiers ASF en AVI/DivX car il utilisent 1000 fps? |
R : | Vous devrez fixer le débit à la main en utilsant -ofps, car ASF utilise un débit variable alors que AVI en utilise un fixe. |
Q : | Comment puis-je insérer des sous-titres dans le fichier de sortie ? |
R : | Passez simplement l'option -sub <nomfichier> (ou -sid, -vobsub, respectivement) à MEncoder. |
Table des matières
Extrait de la documentation GNU/Linux :
Certains lecteurs de CD-ROM sont capables de changer leur vitesse de lecture. Il y a plusieurs raisons possibles pour changer cette vitesse:
Il a été signalé que des lecteurs peuvent commettre des erreurs fréquentes à haute vitesse (surtout avec des CDs mal pressés), la diminuer peut alors empêcher ces erreurs.
Ces lecteurs génèrent souvent un bruit assourdissant, qu'une vitesse réduite peut contribuer à diminuer.
Vous pouvez réduire la vitesse des lecteurs de CD-ROM IDE avec hdparm ou avec un programme nommé setcd. Ils fonctionnent comme cela:
hdparm -E [vitesse] [périph. cdrom]
setcd -x [vitesse] [périph. cdrom]
Si vous avez les privilèges root, la commande suivante peut également aider:
echo file_readahead:2000000 > /proc/ide/[périph. cdrom]/settings
Ceci créé un cache de 2 Mo, ce qui est utile pour les CD-Roms endommagés. Si vous lui donnez une valeur trop haute, le lecteur ne va pas cesser de s'arrêter et de repartir, ce qui va dramatiquement diminuer les performances. Il est également recommandé d'optimiser votre lecteur de CD-ROM avec hdparm:
hdparm -d1 -a8 -u1 périph. cdrom
Ceci permet l'accès DMA, le cache en lecture, et l'IRQ unmasking. (lisez la page de man de hdparm pour plus d'explications).
Référez vous à "/proc/ide/[périph. cdrom]/settings" pour optimiser correctement votre lecteur CD-ROM.
Les lecteurs SCSI n'ont pas une manière uniforme de fixer ces paramètres (Vous en connaissez une ? Dites-la nous!) Il y a un outil qui fonctionne pour les Lecteurs SCSI Plextor.
FreeBSD:
Vitesse: cdcontrol [-f périphérique] speed [vitesse]
DMA: sysctl hw.ata.atapi_dma=1
Pour voir la liste complète des options disponibles, veuillez lire la page de man. La syntaxe des Digital Versatile Disc (DVD) est la suivante:
mplayer dvd://<piste> [-dvd-device <périphérique>]
Exemple:
mplayer dvd://1 -dvd-device /dev/hdc
Le périphérique DVD par défaut est /dev/dvd. Si votre installation diffère, faites un lien symbolique ou spécifiez le périphérique correct en ligne de commande avec l'option -dvd-device.
Nouvelle méthode de lecture DVD (mpdvdkit2). MPlayer utilise libdvdread et libdvdcss pour le décryptage et la lecture de DVD. Ces deux bibliothèques sont incluses dans le sous-répertoire libmpdvdkit2/ du répertoire source de MPlayer, vous n'avez donc pas besoin de les installer séparément. Nous avons opté pour cette solution car nous devions corriger un bug de libdvdread, et appliquer un patch qui ajoute un cache pour les clés CSS cassées à libdvdcss. Le résultat est bien plus rapide car les clés n'ont pas à être cassées à chaque lecture.
MPlayer peut également utiliser les bibliothèques globales au système libdvdread et libdvdcss mais cette solution n'est pas recommandée, car elle peut provoquer des bogues, des incompatibilités de librairies, et une vitesse moins importante.
En cas de problème de décodage de DVD, essayez de désactiver supermount, et tout les outils de ce genre.
structure d'un DVD. Les disques DVD utilisent tous des secteurs de 2048 octets par secondes avec ECC/CRC. Ils ont généralement un système de fichier UDF sur une seule piste, qui contient des fichiers variés (des petits fichiers .IFO et .BUK et de gros (1Go) fichiers .VOB). Ce sont de véritables fichiers et ils peuvent être joués/copiés depuis le système de fichier monté d'un DVD non-crypté.
Les fichiers .IFO contiennent les infos de navigation dans le film (carte des chapitres/titres/angles, table des langues, etc) et sont requis pour lire et interpréter le contenu des .VOB (le film). Les fichiers .BUK sont des backups de ces fichiers. Ils utilisent des secteurs partout, donc vous avez besoin d'utiliser un adressage brut des secteurs sur le disque pour implémenter la navigation DVD. C'est également requis pour décrypter le contenu.
Le support DVD nécessite un accès brut aux secteurs du périphérique. Malheureusement vous devez (sous Linux) être root pour avoir accès aux secteurs d'un fichier. C'est pourquoi nous n'utilisons pas du tout le pilote de système de fichier du noyau, à la place nous l'avons réimplémenté en espace utilisateur. libdvdread 0.9.x et libmpdvdkit font cela. Le pilote pour système de fichier UDF du noyau n'est pas requis puisqu'ils ont déjà leur pilote UDF incorporé. De plus le DVD n'a pas besoin d'être monté tant que l'accès brut aux secteurs est utilisé.
Parfois /dev/dvd ne peut être lu par les utilisateurs, les auteurs de libdvdread ont donc implémenté une couche d'émulation qui transforme les adresses des secteurs en noms de fichier+offsets, pour émuler l'accès brut sur un système de fichier monté ou même sur un disque dur.
libdvdread accepte même le point de montage au lieu du nom de périphérique pour l'accès brut et regarde dans /proc/mounts pour obtenir le nom de périphérique. Il a été développé pour Solaris, où les noms de périphériques sont alloués dynamiquement.
Le périphérique DVD par défaut est /dev/dvd. Si votre installation diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de commande avec l'option -dvd-device.
Certification DVD. La nouvelle méthode de certification et de décryptage est fait par un libdvdcss patché (voir plus haut). La méthode peut être spécifiée avec la variable d'environnement DVDCSS_METHOD qui peut être initialisée à key, disk ou title.
Si rien n'est spécifié il essaie les méthodes suivantes (par défaut: clé, demande de titre):
clé bus: Cette clé est négociée durant la certification (un long mix d'ioctls et d'échanges de clé variés, trucs de crypto) et est utilisé pour crypter le titre et les clés disque avant de les envoyer sur un bus non protégé (pour empêcher les écoutes). La clé bus est requise pour obtenir et décrypter les clés disque cryptées.
clé mise en cache: MPlayer cherche une clé déjà cassée dans le répertoire ~/.mplayer/DVDKeys (rapide ;).
clé: Si aucune clé n'est disponible dans le cache, MPlayer essaie de décrypter la clé disque avec un ensemble de clés incluses.
disque: Si la méthode clé échoue (ex: pas de clés incluses), MPlayer va casser la clé disque avec un algorithme brute force. Ce processus est intensif pour le CPU et requiert 60 Mo de mémoire (table de hachage 32Bit de 16M) pour stocker temporairement les données. Cette méthode devrait toujours fonctionner (lent).
demande de titre: Avec les clés disque MPlayer demande les clés titre cryptées, qui sont à l'intérieur de secteurs cachés en utilisant ioctl(). La protection de région des lecteurs RPC-2 devrait opérer à cette étape et devrait échouer sur ces lecteurs. Si elle réussit, les clés titre seront cryptées avec les clés bus et disque.
titre: Cette méthode est utilisé si la demande de titre a échoué et ne repose sur aucun échange de clé avec le lecteur DVD. Il utilise une attaque crypto pour deviner la clé titre directement (en trouvant un motif répété dans le contenu VOB décodé et en supposant que le texte en clair correspondant aux premiers octets cryptés est une continuation de ce motif). Cette méthode est également connue sous le nom de "known plaintext attack" ou "DeCSSPlus". Dans de rares cas cela peut échouer car il n'y a pas assez de données cryptées sur le disque pour pour faire une attaque statistique ou à cause des changements de clé au milieu du titre. C'est la seule façon de décrypter un DVD stocké sur le disque dur ou un DVD avec une mauvaise zone sur un lecteur RPC2 (lent).
Les lecteurs DVD RPC-1 ne protègent les réglages de protection de zone que de façon logicielle. Les lecteurs RPC-2 ont une protection matérielle qui ne permet que 5 changements. Il peut être requis/recommandé d'upgrader le firmware en RPC-1 si vous avez un lecteur DVD RPC-2. Les upgrades firmware peuvent être trouvées sur cette page de firmware. Si il n'y a pas d'upgrade de firmware disponible pour votre périphérique, utilisez l' outil de réglage de zone pour changer le code de zone de votre lecteur DVD (sous Linux). Attention: Vous ne pouvez régler la zone que 5 fois.
Pour voir la liste complète des options disponibles, veuillez lire la page de man. La syntaxe pour un Video CD standard (VCD) est la suivante:
mplayer vcd://<piste> [-cdrom-device <périphérique>]Exemple:
mplayer vcd://2 -cdrom-device /dev/hdcLe périphérique VCD par défaut est /dev/cdrom. Si votre installation diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de commande avec l'option -cdrom-device.
Au moins les CD-ROM SCSI Plextor et certains Toshiba ont d'horribles performances durant la lecture de VCDs. C'est parce que l'ioctl CDROMREADRAW n'est pas complètement implémenté pour ces lecteurs. Si vous avez des connaissances dans la programmation SCSI, merci de nous aider à implémenter un support SCSI générique pour les VCDs.
À ce propos vous pouvez extraire des données d'un VCD avec readvcd et lire le fichier obtenu avec MPlayer.
Structure d'un VCD. Les disques VCD contiennent une piste ou plus:
La première piste est une petite piste de donnée de 2048 octets/secteur, avec un système de fichier iso9660, contenant généralement les lecteur de VCD Windows et peut-être d'autres infos(jpegs, texte, etc).
La seconde piste et les suivantes sont des pistes MPEG brutes (film) à 2324 octets/secteur, contenant des paquets de données MPEG PS au lieu d'un système de fichier. Similaires à des pistes audio, elles ne peuvent être montées (Avez-vous déjà monté un CD audio pour le lire ?). Comme la plupart des films sont sur cette piste, vous devriez essayer vcd://2 en premier.
Il existe également certains disques VCD sans la première piste (une seule piste et pas de système de fichier du tout). Ils sont quand même lisibles, mais ne peuvent pas être montés.
A propos des fichiers .DAT: Le fichier de ~600 Mo visible sur la première piste d'un vcd monté n'est pas un vrai fichier! C'est ce qu'on appelle une passerelle iso, créée pour permettre à Windows de gérer de telles pistes (Windows n'autorise pas l'accès brut au périphérique du tout). Sous linux, vous ne pouvez pas copier ou lire de telles pistes (elle contiennent des ordures). Sous Windows c'est possible car son pilote iso9660 émule la lecture brute des pistes dans ce fichier. Pour lire un fichier .DAT vous avez besoin un pilote noyau qui peut être trouvé dans la version Linux de PowerDVD. Il possède un pilote de système de fichier iso9660 modifié (vcdfs/isofs-2.4.X.o), qui est capable d'émuler les pistes brutes au travers de ce fichier .DAT fantôme. Si vous montez le disque en utilisant leur pilote, vous pouvez copier et même lire les fichiers .DAT avec mplayer. Mais cela ne fonctionnera pas avec le pilote iso9660 standard du noyau! Il est recommandé d'utiliser l'option vcd:// à la place. D'autres possibilités pour la copie de VCD sont le nouveau pilote noyau cdfs (qui ne fait pas partie du noyau officiel) qui montre les sessions du CD en temps que fichiers image) et cdrdao, une application d'enregistrement/copie bit-a-bit).
Table des matières
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.
Pour construire le paquet Debian, lancez la commande suivante dans le répertoire source de MPlayer:
fakeroot debian/rules binaryEn 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.
Dominik Mierzejewski a créé et maintient des paquets Red Hat RPM officiels de MPlayer. Ils sont disponibles sur sa page web.
Les paquets Mandrake 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.
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.
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).
Si votre CPU à SSE, recompilez votre noyau avec "options CPU_ENABLE_SSE" (FreeBSD-STABLE ou patches noyau requis).
A 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.
Voir la section Mac OS.
MPlayer devrait fonctionner sous Solaris 2.6 ou plus récent.
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 --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 ...
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. (http://groups.yahoo.com/group/solarisonintel/message/22516). 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és sont accédés modulo 4Go. (http://groups.yahoo.com/group/solarisonintel/message/22592). Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc) / 109765-04 (x86).
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.
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.confpar:
$(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.
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 ne dispose que d'une émulation X qui est TRÈS lente. Utilisez SDL.
Oui, MPlayer tourne sous Windows via 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.
Vous pouvez utiliser les codecs Win32 et les codecs Real Win32 (pas les codecs Real Linux) si vous le désirez. 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. Les DLLs QuickTime focntionnent aussi, mais vous devrez les placer dans le répertoire système de Windows (C:\Windows\system\ ou similaire).
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.
Sascha Sommer fait des versions officielles pour Windows de temps en temps, Joey Parrish fait des paquets non-officiels pour Windows complets avec installeur. Ils sont dans la section Windows de la page de nos projets.
Les versions de Cygwin antérieures à 1.5.0 n'incluent pas inttypes.h. Mettez cet inttypes.h dans /usr/include/ pour que MPlayer puisse compiler.
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.
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, indiquez la lettre de votre périphérique CDROM à -dvd-device:
mplayer dvd://<titre> -dvd-device '\\.\d:'
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é.
Si vous utilisez une version de MinGW antérieure à 3.1.0, vous devez remplacer /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/DVD-ROM):
mplayer d:/mpegav/avseq01.dat
mplayer /d/MPEG2/AVSEQ01.MPG
mplayer dvd://<titre> -dvd-device /d/
Seul Mac OS X 10.2 ou supérieur est supporté par les sources "brutes" de MPlayer. Vous êtes libre d'implémenter le support pour les anciennes versions de Mac OS et d'envoyer des patches !
Il vaut mieux utiliser le GCC 3.x modifié d'Apple pour compiler MPlayer, surtout avec libavcodec car la version GCC 2.95.x d'Apple ne supporte pas bien la syntaxe C99.
On peut obtenir une GUI Aqua et un binaire MPlayer pour Mac OS X depuis le projet MPlayerOSX.
Martin Gansser maintiens un précieux HOWTO sur la compilation MPlayer sous HP-UX. Il contient même une FAQ !
De toute façon, notre source "brut" de MPlayer compile déjà sous HP-UX sans problèmes.
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:
Table des matières
Pour avoir la liste complète des options disponibles de MEncoder et des exemples, voir la page de man. Pour une série d'exemples pratiques et de guides détaillés sur l'utilisation des nombreux paramètres d'encodage, lisez les encoding-tips (en anglais) qui ont été collectés sur de nombreuses threads de la liste de diffusion mplayer-users. Cherchez dans les archives pour trouver les discussions à propos de tous les aspects et problèmes relatif à l'encodage avec MEncoder.
Encodage 2-passes. le nom vient du fait que cette méthode encode le fichier deux fois. Le premier encodage (passe doublée) créé quelques fichiers temporaires (*.log) avec une taille de quelques méga-octets, ne les détruisez pas tout de suite (vous pouvez effacer l'AVI). Dans la seconde passe, la fichier de sortie 2-passes est créé, en utilisant les données bitrate des fichiers temporaires. Le fichier résultant aura une image de bien meilleur qualité. Si c'est la première fois que vous entendez parler de ça, vous devriez consulter les guides disponibles sur le Net.
Cet exemple montre comment encoder un DVD en AVI MPEG-4 ("DIVX") AVI 2-passes. Seules deux commandes sont requises:
rm frameno.avienlevez ce fichier, qui peut provenir d'un encodage 3-passes précédent (il interfère avec l'actuel)
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi
Encodage 3-passes. c'est une extension de l'encodage 2-passes, où l'encodage audio prends place dans une passe séparée. Cette méthode permet l'estimation du bitrate vidéo recommandé de façon à tenir sur un CD. De plus, l'audio n'est encodé qu'une fois, au contraire du mode 2-passes. Le principe:
Supprimez les fichiers temporaires conflictuels:
rm frameno.avi
Première passe:
mencoder fichier/DVD -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.aviUn fichier avi audio sera créé, contenant uniquement le flux audio demandé. N'oubliez pas -lameopts, si vous en avez besoin. Si vous encodez un long film, MEncoder affiche le bitrate recommandé pour les tailles 650Mo, 700Mo, et 800Mo, après la fin de cette passe.
Seconde passe:
mencoder fichier/DVD -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=bitrateCeci est la première passe de l'encodage vidéo. Éventuellement spécifiez le bitrate vidéo que MEncoder a affiché à la fin de la passe précédente.
Troisième passe:
mencoder fichier/DVD -oac copy -pass 2 \ -ovc divx4 -divx4opts br=bitrateCeci est la seconde passe de l'encodage vidéo. Spécifiez le même bitrate vidéo que celui de la passe précédente à moins que vous ne sachiez réellement ce que vous faites. Dans cette passe, l'audio de frameno.avi sera inséré dans le fichier de destination... et tout est prêt!
Exemple 7.1. Exemple d'encodage 3-passes
rm frameno.avienlevez ce fichier, qui peut provenir d'un encodage 3-passes précédent (il interfère avec l'actuel)
mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi
MEncoder peut créer des fichier au format MPEG (MPEG-PS). Ceci n'est probablement utile qu'avec le codec mpeg1video de libavcodec, car les lecteurs - excepté MPlayer - attendent de la vidéo MPEG1, et de l'audio MPEG1 layer 2 (MP2) dans les fichiers MPEG.
Cette fonction n'est pas vraiment utile actuellement, car elle a probablement de nombreux bogues, mais plus important encore parce qu'actuellement MEncoder ne peut pas encoder l'audio MPEG1 layer 2 (MP2), qui est attendu par tous les autres lecteurs dans les fichiers MPEG.
Pour changer le format de sortie de MEncoder, utilisez l'option -of mpeg.
Exemple:
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy autres options media.avi -o sortie.mpg
Souvent le besoin de redimensionner les images d'un film se fait sentir. Les raisons peuvent être multiples: diminuer la taille du fichier, la bande passante du réseau, etc. La plupart des gens redimensionnement même en convertissant des DVDs ou SVCDs en AVI DivX. C'est mal. Plutôt que de faire ça, lisez la section Préserver l'aspect ratio.
Le processus de zoom est géré par le filtre vidéo scale : -vf scale=largeur:hauteur. Sa qualité peut être réglée avec l'option -sws. Si elle n'est pas spécifiée, MEncoder utilisera 0: fast bilinear.
Utilisation:
mencoder entree.mpg -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o sortie.avi
MEncoder peut gérer les flux entrant de deux façons: les encoder ou les copier Cette section parle de la copie.
Flux vidéo (option -ovc copy): on peut faire des choses sympa :) comme, placer (pas convertir) de la vidéo FLI ou VIVO ou MPEG1 dans un fichier AVI ! Bien sûr seul MPlayer peut lire de tels fichiers :) et ça n'a probablement pas de valeur réelle du tout. Concrètement: copier des flux vidéo peut être utile par exemple quand seul le flux audio doit être encodé (comme du PCM non-compressé en MP3).
Flux audio (option -oac copy): très simple. Il est possible de prendre un fichier audio externe (MP3, Vorbis) et de le muxer dans le flux sortant. Utilisez l'option -audiofile nomfichier pour cela.
Facile. Nous copions simplement les flux vidéo et audio, et MEncoder génère l'index. Bien sûr cela ne peut pas réparer les bogues possibles dans les flux vidéo et/ou audio. Il répare également les fichiers avec un entrelacement endommagé, ainsi l'option -ni ne sera plus requise.
Command:
mencoder -idx entree.avi -ovc copy -oac copy -o sortie.avi
Un effet secondaire de la fonction de réparation d'AVI permet à MEncoder d'assembler 2 (ou plus) fichiers AVI:
Commande:
cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o sortie.avi -
Cela suppose que 1.avi et 2.avi utilisent les mêmes codecs, résolution, débit, etc. et qu'au moins 1.avi ne soit pas endommagé. Vous pouvez avoir besoin de réparer vos fichiers AVI d'entrée d'abord, comme décrit ci-dessus.
libavcodec permet un encodage simple dans de nombreux formats audio et vidéo intéressants (actuellement ses codecs audio ne sont pas supportés). Vous pouvez encoder avec les codecs suivants (plus ou moins à jour):
Nom codec | Description |
---|---|
mjpeg | Motion JPEG |
ljpeg | Lossless JPEG (sans perte) |
h263 | H263 |
h263p | H263 Plus |
mpeg4 | standard MPEG-4 ISO (compatible DivX 5, XVID) |
msmpeg4 | variante pré-standard MPEG-4 de MS, v3 (alias DivX3) |
msmpeg4v2 | pré-standard MPEG-4 par MS, v2 (utilisé dans les anciens fichiers asf) |
wmv1 | Windows Media Video, version 1 (alias WMV7) |
wmv2 | Windows Media Video, version 2 (alias WMV8) |
rv10 | un vieux codec RealVideo |
mpeg1video | video MPEG1 |
mpeg2video | video MPEG2 |
huffyuv | compression sans perte |
asv1 | ASUS Video v1 |
asv2 | ASUS Video v2 |
ffv1 | codec vidéo sans perte de FFmpeg |
Un exemple, avec compression MJPEG:
mencoder dvd://2 -o titre2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy
MEncoder est capable de créer des fichiers à partir de un ou plusieurs fichiers JPEG, PNG ou TGA. Avec une simple copie de trame il peut créer des fichiers MJPEG (Motion JPEG), MPNG (Motion PNG) ou MTGA (Motion TGA).
Explication du processus:
MEncoder décode le(s) image(s) d'origine avec libjpeg (pour décoder des PNGs, il utilisera libpng).
MEncoder envoie alors l'image décodée au compresseur vidéo choisi (DivX4, XviD, ffmpeg msmpeg4, etc.).
Exemples. Une explication de l'option -mf peut être trouvée dans la page de man.
Créer un fichier DivX4 à partir de tous les fichiers JPEG du rép courant:
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o sortie.avi \*.jpg
Créer un fichier DivX4 à partir de quelques fichiers JPEG du rép courant:
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi frame001.jpg,frame002.jpg
Créer un fichier Motion JPEG (MJPEG) à partir de tous les fichiers JPEG du rép courant:
mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o sortie.avi \*.jpg
Créer un fichier non-compressé à partir de tous les fichiers PNG du rép courant:
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o sortie.avi \*.png
La largeur doit être un entier multiple de 4, c'est une limitation du format AVI RGB brut.
Créer un fichier Motion PNG (MPNG) à partir de tous les fichiers PNG du rép courant:
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o sortie.avi \*.png
Créer un fichier Motion TGA (MTGA) à partir de tous les fichiers TGA du rép courant:
mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o sortie.avi \*.tga
MEncoder est capable d'extraire les sous-titres d'un DVD dans des fichiers au format VobSub. Ils consistent en une paire de fichiers terminant par .idx et .sub et sont généralement compressés dans une seule archive .rar. MPlayer peut les lire avec les options -vobsub et -vobsubid.
Vous spécifiez le nom de base (c-a-d sans extension .idx ou .sub) des fichiers de sortie avec -vobsubout et l'index pour ces sous-titres dans le fichier final avec -vobsuboutindex.
Si l'entrée n'est pas un DVD vous pouvez utiliser -ifo pour indiquer le fichier .ifo requis pour construire le fichier .idx final.
Si l'entrée n'est pas un DVD et que vous n'avez pas de fichier .ifo vous aurez besoin d'utiliser l'option -vobsubid pour lui permettre de savoir quel id langue placer dans le fichier .idx.
Chaque étape ajoutera les sous-titres actifs dans les fichiers .idx et .sub déjà existants. Vous devrez donc les enlever avant de commencer.
Exemple 7.2. Copier deux sous-titres d'un DVD pendant l'encodage 3-passes
rm soustitres.idx soustitres.sub mencoder dvd://1 -vobsubout soustitres -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno mencoder dvd://1 -oac copy -ovc divx4 -pass 1 mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout soustitres -vobsuboutindex 1 -sid 5
Exemple 7.3. Copier les sous-titres français depuis un fichier MPEG
rm soustitres.idx soustitres.sub mencoder film.mpg -ifo film.ifo -vobsubout soustitres -vobsuboutindex 0 -vobsuboutid fr -sid 1
Les fichiers des DVDs et des SVCDs (c-a-d MPEG1/2) contiennent une valeur d'aspect ratio, qui décrit comment le lecteur devrait dimensionner le flux vidéo, pour que les humains n'aient pas des "têtes d'oeuf" (ex. 480x480 + 4:3 = 640x480). De toute façon, quand vous encodez un fichier AVI (DivX), vous devez être conscients que les entêtes AVI ne stockent pas cette valeur. Redimensionner le film est dégouttant et coûteux en temps, il doit y avoir une meilleur solution !
Il y en a une.
MPEG4 a une fonction unique: le flux vidéo peut contenir l'aspect ratio requis. Oui, tout comme les fichiers MPEG1/2 (DVD, SVCD). Malheureusement, il n'y a pas de lecteurs vidéo au dehors qui supportent cet attribut. Excepté MPlayer.
Cette fonction ne peut être utilisé qu'avec le codec mpeg4 de libavcodec. Gardez à l'esprit: bien que MPlayer lise correctement le fichier créé, les autres lecteurs utiliseront un mauvais aspect ratio.
Vous devriez sérieusement couper les bandes noires au dessus et en dessous de l'image. Voir la page de man pour l'utilisation des filtres cropdetect et crop.
Utilisation.
mencoder echantillon-svcd.mpg -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o sortie.avi
Avec cette fonction de libavcodec vous pouvez initialiser des matrices personnalisées inter (I-frames/trames-clé) et intra (P-frames/trames prévues). Elle est supportée par de nombreux codecs: mpeg1video et mpeg2video fonctionnent.
Une utilisation typique de cette fonction est d'initialiser les matrices recommandées par les spécifications KVCD.
La matrice de quantisation "Notch" de KVCD:
Intra:
8 9 12 22 26 27 29 34 9 10 14 26 27 29 34 37 12 14 18 27 29 34 37 38 22 26 27 31 36 37 38 40 26 27 29 36 39 38 40 48 27 29 34 37 38 40 48 58 29 34 37 38 40 48 58 69 34 37 38 40 48 58 69 79Inter:
16 18 20 22 24 26 28 30 18 20 22 24 26 28 30 32 20 22 24 26 28 30 32 34 22 24 26 30 32 32 34 36 24 26 28 32 34 34 36 38 26 28 30 32 34 36 38 40 28 30 32 34 36 38 42 42 30 32 34 36 38 40 42 44
Utilisation:
$ mencoder entree.avi -o sortie.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
$ mencoder entree.avi -ovc lavc -lavcopts vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37, 12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27, 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26, 28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34, 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
Il y a des listes de diffusion publiques sur MPlayer. À 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 en 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.
Liste d'annonces de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-announce Liste pour les annonces MPlayer. Inscrivez-vous si vous voulez obtenir les annonces de nouvelles fonctionalités.
Liste des développeurs de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng Cette liste concerne le développement de MPlayer ! Parler des changements d'interface/API, des nouvelles librairies, des optimisations de code, des changements de configuration est à-propos ici. Envoyez des patches mais PAS de rapports de bogue, de questions d'utilisateur, de suggestions ou d'insultes ici, pour garder un trafic raisonnable.
Liste MPlayer DOCS: http://mplayerhq.hu/mailman/listinfo/mplayer-docs Cette liste concerne les discussions relatives à la documentation et aux traductions. Les logs CVS de Documentation et homepage sont également envoyés là.
Liste des utilisateurs de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-users
Envoyez vos rapports de bogue après avoir lu les sections Bogues connus et Rapport de bogue).
Envoyez vos suggestions ici (après avoir entièrement lu la documentation).
Envoyez vos questions d'utilisateur ici (après avoir entièrement lu la documentation).
Liste des utilisateurs hongrois de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok
Liste en langue hongroise
Sujet? Eh bien regardez par vous-même... que des insultes ou des questions à la RTFM maintenant :(
Utilisateurs de MPlayer & Matrox G200/G400/G450/G550: http://mplayerhq.hu/mailman/listinfo/mplayer-matrox Questions relatives à Matrox comme
choses à propos de mga_vid
les pilotes béta Matrox officiels (pour X 4.x.x)
trucs matroxfb-TVout
Utilisateurs de MPlayer & carte DVB: http://mplayerhq.hu/mailman/listinfo/mplayer-dvb Choses relatives à la carte de décodage matériel appelé DVB (pas DXR3 !).
MPlayer CVS-log: http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog Tous les changements de code dans MPlayer sont automatiquement envoyés sur cette liste. Seules les questions à propos de ses changements sont autorisées ici (si vous ne comprenez pas pourquoi un changement est requis ou si vous en avez un meilleur ou si vous avez remarquer un bogue/problème possible dans l'envoi).
Liste du portage Cygwin de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin Liste pour la discussion à propos du portage MPlayer sous Cygwin et MinGW.
Liste de portage OS/2 de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-os2 Liste pour les discussions sur le portage OS/2 de MPlayer.
Liste des éditeurs et traducteurs des MPlayer Weekly News (Nouvelles Hebdomadaires de MPlayer): http://mplayerhq.hu/mailman/listinfo/mplayer-mwn Liste pour les discussions sur les Weekly News.
Vous pouvez obtenir les archives avec recherche possible à l'adresse http://www.mplayerhq.hu/cgi-bin/htsearch.
Table des matières
Les bons rapports de bogue sont une contribution précieuse pour tout projet en développement. Mais tout comme pour écrire un bon logiciel, les bons rapports de problème exigent du travail. Rendez-vous compte que la plupart des développeurs sont extrêmement occupés et reçoivent un nombre obscène d'emails. Donc bien que votre retour soit crucial pour l'amélioration de MPlayer et soit très apprécié, comprenez que vous devez fournir toutes les informations que nous demandons et suivre de près les instructions de ce document.
Si vous pensez avoir les talents nécessaires vous êtes invité à essayer de réparer le bogue vous-même. Ou peut-être l'avez-vous déjà fait ? Veuillez lire ce court document (en anglais) pour trouver comment faire inclure votre code dans MPlayer. Les gens de la liste de diffusion mplayer-dev-eng vous assisterons si vous avez des questions.
Tout d'abord veuillez essayer la dernière version CVS de MPlayer car votre bogue y est peut-être déjà réparé. Le développement évolue très rapidement, la plupart des problèmes des versions officielles sont rapportés dans les jours voir les heures qui suivent, donc n'utilisez que le CVS pour rapporter les bogues. Ceci est également valable pour les paquets binaires de MPlayer. Ne rapportez pas de bogues sur les divers paquets RPM ou Debian de MPlayer. Les instructions CVS peuvent être trouvées en bas de cette page ou dans le README. Si tout cela ne vous aide pas veuillez vous référer à la liste des bogues connus et au reste de la documentation. Si votre problème n'est pas connu ou non résolvable par nos instructions, alors merci de rapporter le bogue.
Merci de ne pas envoyer de rapports de bogues en privé à chaque développeur. C'est un travail commun et il y a donc plein de gens que cela pourrait intéresser. Parfois d'autres utilisateurs on rencontré les mêmes ennuis que vous et savent comment contourner le problème même si c'est un bogue dans le code de MPlayer.
Merci de décrire votre problème avec le plus de détails possibles. Faites un petit travail de détective pour restreindre les conditions d'occurrence du problème. Est ce que le bogue ne se montre que dans certaines situations ? Est-il spécifique à certains fichiers ou types de fichier ? Apparaît-il avec un seul codec ou est-ce indépendant du codec ? Pouvez-vous le reproduire avec tous les pilotes de sortie ? Plus vous fournissez d'information, plus grandes sont nos chances de résoudre votre problème. Merci de ne pas oublier d'inclure également les informations importantes requises plus bas, sinon nous ne pourront établir un diagnostic précis de votre problème.
Un guide excellent et bien écrit pour poser des questions sur les forums publiques est Comment Poser Les Questions De Manière Intelligente par Eric S. Raymond. Il y en a un autre (en anglais) appelé How to Report Bugs Effectively par Simon Tatham. Si vous suivez ces règles vous devriez pouvoir obtenir de l'aide. Mais merci de comprendre que nous suivons tous les listes de diffusion volontairement sur notre temps libre. Nous sommes très occupés et ne pouvons garantir que vous aurez une solution à votre problème ou même une réponse.
Souscrivez à la liste de diffusion mplayer-users: http://mplayerhq.hu/mailman/listinfo/mplayer-users et décrivez votre problème: mailto:mplayer-users@mplayerhq.hu
La langue de cette liste est l'Anglais. Suivez les Règles de la Netiquette SVP et n'envoyez de mails en HTML sur aucune de nos listes de diffusion. Vous ne serez qu'ignoré ou banni. Si vous ne savez pas ce qu'est un mail en HTML ou pourquoi c'est mauvais, lisez ce sympatique document. Il explique tous les détails et a des instructions pour désactiver le HTML. Notez également que nous ne ferons pas de CC (copie-conforme) individuelle et que c'est donc une bonne idée de souscrire pour recevoir votre réponse.
Vous pouvez avoir besoin d'inclure des fichiers de log, de configuration ou d'échantillon. Si certains sont très gros alors il vaut mieux les uploader sur notre serveur FTP en format compressé (gzip et bzip2 préférés) et indiquer uniquement leur chemin et nom dans le rapport de bug. Nos listes de diffusion ont une taille de message limite de 80k, si vous avez quelque chose de plus gros vous devrez le compresser ou l'uploader.
Votre distribution Linux ou système d'exploitation et version c-a-d:
Red Hat 7.1
Slackware 7.0 + paquets de développement de la 7.1 ...
version du noyau:
uname -a
version de la libc:
ls -l /lib/libc[.-]*
versions de gcc et ld :
gcc -v ld -v
version des binutils:
as --version
Si vous avez des problèmes avec le mode plein-écran:
Type de gestionnaire de fenêtre et version
Si vous avez des problèmes avec XVIDIX:
profondeur de couleur de X:
xdpyinfo | grep "depth of root"
Si seule la GUI est boguée:
version de GTK
version de GLIB
version de libpng
Endroit de la GUI où le bogue se produit
Info CPU (cela ne fonctionne que sous Linux):
cat /proc/cpuinfo
Fabricant et modèle de votre carte vidéo, ex.:
chip ASUS V3800U: nVidia TNT2 Ultra pro 32Mo SDRAM
Matrox G400 DH 32Mo SGRAM
Type et version des drivers vidéo, ex.:
Pilote X intégré
nVidia 0.9.623
Utah-GLX CVS 2001-02-17
DRI de X 4.0.3
Type et version des drivers son, ex.:
Creative SBLive! Gold avec pilote OSS de oss.creative.com
Creative SB16 avec pilotes noyau OSS
GUS PnP avec émulation OSS ALSA
En cas de doute, joignez y le résultat de lspci -vv sur les systèmes Linux.
Si vous rencontrez des erreurs pendant l'éxecution de ./configure, ou si l'autodetection ou autre chose échoue, lisez configure.log. Vous pouvez y trouver la réponse, par exemple des versions multiples de la même librairie mélangés dans votre système, ou vous avez oublié d'installer les paquets de développement (ceux avec le suffixe -dev). Si vous pensez que c'est un bogue, incluez configure.log dans votre rapport de bogue.
Veuillez inclure ces fichiers:
config.h
config.mak
Gui/config.mak
libvo/config.mak
libao2/config.mak
Merci d'inclure la sortie de MPlayer en verbosité niveau 1, mais rappelez-vous de ne pas tronquer la sortie en le copiant dans votre mail. Les développeurs ont besoin de tous les messages pour diagnostiquer correctement un problème. Vous pouvez rediriger la sortie dans un fichier comme ceci:
mplayer -v options nomfichier > mplayer.log 2>&1
Si votre problème est spécifique à un ou plusieurs fichiers, alors merci d'uploader le(s) fautif(s) sur: ftp://mplayerhq.hu/MPlayer/incoming/
Uploadez aussi un petit fichier texte ayant le même nom que votre fichier mais avec une extension .txt. Décrivez le problème que vous avez avec ce fichier et incluez votre adresse e-mail ainsi que la sortie de MPlayer en verbosité niveau 1. Généralement les premiers 1-5 MB sont suffisants pour reproduire le problème, mais pour être sûrs nous vous demandons de faire:
dd if=votrefichier of=petitfichier bs=1024k count=5Cela coupera les 5 premiers Mo de 'votrefichier' et les sauvera dans 'petitfichier'. Essayez alors de lire le petit fichier, et si le bogue persiste vous pouvez envoyer le petit fichier par ftp. N'envoyez jamais ces fichiers par e-mail SVP ! Envoyez les par FTP, et postez seulement leur nom/adresse sur ce FTP. Si le fichier est accessible en téléchargement, envoyez seulement son adresse exacte.
Vous devez lancer MPlayer à l'intérieur de gdb et nous envoyer le résultat complet ou si vous avez un core dump du plantage vous pouvez extraire des informations utiles du fichier core. Voici comment:
Recompilez MPlayer avec les instructions de déboguage:
./configure --enable-debug=3 makeet ensuite lancez MPlayer à l'intérieur de gdb en utilisant:
gdb ./mplayerVous êtes maintenant à l'intérieur de gdb. Tapez:
run -v options-pour-mplayer nomfichieret reproduisez votre plantage. Aussitôt que vous l'avez fait, gdb va vous renvoyer à la ligne de commande où vous devrez entrer
bt disass $pc-32 $pc+32 info all-registers
Si vous avez créé un rapport de bogue correct en suivant les étapes ci-dessus et que vous êtes persuadé qu'il s'agit d'un bug dans MPlayer, pas un problème de compilateur ou un fichier endommagé, vous avez déjà lu la documentation et vous n'arrivez pas à trouver une solution, vos pilotes son sont OK, alors vous pouvez souscrire à la liste mplayer-advusers et envoyer votre rapport dessus pour obtenir une réponse meilleure et plus rapide.
Soyez prévenu que si vous posez des questions de newbie ou des questions dont les réponses sont dans le manuel dessus, vous serez ignoré ou insulté au lieu de recevoir une réponse appropriée. Donc ne nous insultez pas et ne vous inscrivez à -advusers que si vous savez vraiment ce que vous faites et vous sentez en mesure d'être un utilisateur avancé de MPlayer ou un développeur. Si vous correspondez à ces critères il ne devrait pas être difficile de trouver comment on s'inscrit...
Table des matières
SIGILL (signal 4) sur P3 en utilisant les noyaux 2.2.x:
Problème: le noyau 2.2.x n'a pas un support natif (fonctionnel) du SSE
Solution: mettez à jour 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'exé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 redimensionnement+encodage:
Problème: bogue MMX connu du GCC 2.95.2, mettez à jour en 2.95.3.
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 (ou de pilote).
Problèmes de buffer audio (taille de buffer mal détectée)
Contournement: option -abs de MPlayer
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 (-af resample=...)
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
Mauvais fichier
Contournement:
option -ni ou -nobps (pour les fichiers non-entrelacés ou mauvais)
et/ou
-mc 0(requis pour les fichiers avec de l'audio VBR mal entrelacé)
et/ou
-delay ou les touches +/- pendant l'exécution pour régler le décalage
Votre carte son ne supporte pas la lecture à 48kHz
Contournement: achetez une meilleur carte son... ou essayez de décrémenter 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
Votre fichier utilise un codec audio non-supporté
Contournement: lisez la documentation et aidez-nous à en ajouter le support
votre fichier utilise un codec vidéo non-supporté
Contournement: lisez la documentation et aidez-nous à en ajouter le support
le codec auto-sélectionné 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
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
Table des matières
L'objectif de ce document est de décrire le format de skins de MPlayer. Les informations présentées ici peuvent s'avérer fausses, du fait que
Ce n'est pas moi qui ait écrit la GUI.
Cette GUI n'est pas terminée.
Je peux me tromper.
Merci à Zoltán Ponekker pour son aide.
András Mohari <mayday@freemail.hu>
Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir que MPlayer n'a pas de skin par défaut, donc au moins une skin doit être installée pour pouvoir utiliser la GUI.
MPlayer cherche des skins dans ces répertoires (dans cet ordre):
$(DATADIR)/Skin/
$(PREFIX)/share/mplayer/Skin/
~/.mplayer/Skin/
Notez que le premier répertoire peut varier suivant la façon dont MPlayer a été configuré (c.f. les arguments --prefix et --datadir du script configure).
Chaque skin est installée dans son propre répertoire sous l'un des répertoires listés ci-dessus, par exemple:
$(PREFIX)/share/mplayer/Skin/default/
Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées au format PNG.
Dans la fenêtre principale et la barre de lecture (c.f. ci-dessous) vous pouvez utiliser des images dotées de régions "transparentes": les régions remplies avec la couleur #FF00FF (magenta) deviennent transparentes dans MPlayer. De même, vous pouvez obtenir des formes particulières pour vos fenêtres si votre serveur X possède l'extension XShape.
Les skins sont d'un format plutôt libre (contrairement aux formats fixes de Winamp/XMMS, par exemple), donc il ne tient qu'a vous de créer quelque chose de bien.
Actuellement, trois fenêtres doivent être décorées: la fenêtre principale, la sous-fenêtre, la barre de lecture, et le menu (activable par un clic droit).
Vous contrôlez MPlayer par la fenêtre principale et/ou la barre de lecture. L'arrière plan est une image. Divers objets peuvent (et doivent) venir se placer dans cette fenêtre: boutons, podomètres (sliders) et labels. Pour chaque objet, vous devez spécifier sa taille et sa position.
Un bouton comprend trois états (pressé, relâché, désactivé), donc l'image doit se diviser en trois parties, verticalement. Voir l'objet bouton pour plus de détails.
Un podomètre (principalement utilisé pour la barre d'avancement et le contrôle du volume/balance) peut posséder n'importe quel nombre d'états en empilant ces images, verticalement. Voir hpotmeter et potmeter pour plus de détails.
Les labels sont un peu particuliers : les caractères nécessaires pour les dessiner sont récupérés depuis un fichier image, décrit par un fichier de description de polices. Ce dernier est un fichier texte brut spécifiant la position x,y ainsi que la taille de chaque caractère dans l'image (le fichier image et son descripteur forment une police ensemble). Voir dlabel et slabel pour plus de détails.
Toutes les images disposent de la couleur de transparence décrite dans la section formats d'images. Si le serveur X ne supporte pas l'extension Xshape, les parties transparentes seront noires. Si vous voulez utiliser cette fonction, la largeur de l'image de la fenêtre principale devra être divisible par 8.
La sous-fenêtre contient la vidéo en elle même. Elle peut afficher une image si aucun film n'est chargé (ce n'est jamais plaisant d'avoir une fenêtre vide :-)) Note: la couleur de transparence n'est pas autorisée ici.
Le menu est simplement un moyen de contrôler MPlayer par des entrées graphiques. Deux images sont nécessaires pour le menu: l'une d'elle, l'image de base, affiche le menu dans son été normal, l'autre est utilisée pour afficher les entrées sélectionnées. Quand vous faites apparaître le menu, la première image s'affiche. Si vous passez la souris sur les entrées du menu, l'entrée sélectionnée est copiée depuis la seconde image, et uniquement la partie concernée par cette sélection (la seconde image ne s'affiche jamais complètement.)
Une entrée de menu se définit par sa position et sa taille dans l'image (c.f. la section menu pour plus de détails).
Une chose essentielle n'a pas encore été mentionnée : pour que les boutons, podomètres et entrées du menu fonctionnent, MPlayer doit savoir quoi en faire. Ceci dépend des messages (events) envoyés. Pour chacun de ces objets vous devez définir le message à afficher quand on clique dessus.
Vous aurez besoin des fichiers suivants pour construire une skin:
Le fichier de configuration nommé skin indique à MPlayer comment assembler les différentes images et comment interpréter les clics de souris sur l'interface.
L'image de fond de la fenêtre principale.
Les images correspondant aux objets de la fenêtre principale (y compris une ou plusieurs polices et descripteurs nécessaires à l'affichage des textes).
L'image affichée dans la sous-fenêtre (optionnel).
Deux images pour le menu (nécessaires uniquement si vous voulez créer un menu).
Comme mentionné plus haut, c'est le fichier de configuration de la skin. Il est lu ligne par ligne; les lignes de commentaire démarrent par le caractère ';' en début de ligne (seuls les espaces et tabulations sont autorisées avant ce signe).
Les fichiers se composent de sections. Chaque section décrit la skin pour une application et s'écrit sous la forme:
section = nom de la section . . . end
Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une section: dont le nom est movieplayer.
Dans cette section chaque fenêtre est décrite par un bloc de la forme suivante:
window = nom de la fenêtre . . . end
Où peut-être l'un des types suivants:
main - pour la fenêtre principale
sub - pour la sous-fenêtre
menu - pour le menu
playbar - barre de lecture
(Les blocs sub et menu sont optionnels - vous n'avez pas l'obligation de décorer le menu et la sous-fenêtre.)
Dans un bloc window, vous pouvez définir chaque objet sous la forme:
objet = paramètreOù objet est une ligne identifiant le type d'objet de la GUI, paramètre est une valeur numérique ou textuelle (ou une liste de valeurs séparées par des virgules).
Le fichier final doit donc ressembler à ceci:
section = movieplayer window = main ; ... objets de la fenêtre principale ... end window = sub ; ... objets de la sous-fenêtre ... end window = menu ; ... objets du menu ... end window = playbar ; ... objets de la la barre de lecture ... end end
Le nom d'un fichier image doit être donné sans distinction de répertoire - les images seront cherchées dans le répertoire Skin. Vous pouvez (mais ce n'est pas obligatoire) spécifier l'extension du fichier. Si le fichier n'existe pas, MPlayer essaie de charger le fichier <nomfichier>.<ext>, où png et PNG sera respectivement <ext> (dans cet ordre). La première correspondance trouvée sera utilisée.
Pour finir quelques mots sur le positionnement. La fenêtre principale et la sous-fenêtre peuvent être placées dans des coins différents de l'écran en donnant les coordonnées X et Y. 0 pour haut ou gauche, -1 pour centre et -2 pour droite ou bas, comme montré sur cette illustration:
(0, 0)----(-1, 0)----(-2, 0) | | | | | | (0,-1)----(-1,-1)----(-2,-1) | | | | | | (0,-2)----(-1,-2)----(-2,-2)
Un exemple. Supposons que vous avez crée une image main.png que vous voulez utiliser pour la fenêtre principale:
base = main, -1, -1MPlayer essaie de charger les fichiers main, main.png, main.PNG.
Vous trouverez ci-dessous la liste des objets utilisables dans les blocs 'window = main' ... 'end', et 'window = playbar' ... 'end'.
Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale. La fenêtre apparaîtra a la position X,Y sur l'écran. La fenêtre aura la taille de l'image.
Ces coordonnées ne fonctionnent actuellement pas pour la fenêtre d'affichage.
Les régions transparentes (couleur #FF00FF) apparaîtront en noir sur les serveurs X n'ayant pas l'extension XShape. La largeur de l'image doit être divisible par 8.
Place un bouton de taille largeur * hauteur a la position X,Y. Le message sera généré au clic sur ce bouton. L'image appelée par image doit avoir trois états empilés verticalement (pour les trois états du bouton), comme ceci:
+------------+ | pressé | +------------+ | relâché | +------------+ | désactivé | +------------+
Active (enable) ou désactive (disable) la décoration du gestionnaire de fenêtre pour la fenêtre principale. disable par défaut.
Cela ne fonctionne pas pour la fenêtre d'affichage, il n'y en a pas besoin.
Place un podomètre horizontal (hpotmeter) ou vertical (vpotmeter) de taille largeur * hauteur à la position X,Y. L'image peut être divisée en différentes parties pour les différentes phases du podomètre (par exemple, vous pouvez en avoir un pour le contrôle du volume qui passe du vert au rouge quand sa valeur passe du minimum au maximum). hpotmeter peut posséder un bouton qui sera glissé horizontalement.
button - l'image utilisée pour le bouton (doit avoir trois états superposés, comme pour les boutons)
blargeur,bhauteur - taille du bouton
phases - l'image utilisée pour les différentes phases du podomètre. Une valeur NULL spéciale peut-être utilisée si vous ne voulez pas d'image. L'image doit être divisée en numphasesparts verticalement comme ceci:
+------------+ | phase #1 | +------------+ | phase #2 | +------------+ ... +------------+ | phase #n | +------------+
numphases - nombre d'états placés dans l'image phases.
default - valeur par défaut du podomètre (dans un intervalle de 0 à 100)
X,Y - position du hpotmeter
largeur,hauteur - largeur et hauteur du hpotmeter
message - le message généré lors des changements d'état de hpotmeter
Un hpotmeter sans boutons. (je suppose qu'il est censé tourner en rond, mais il réagit uniquement aux tractions horizontales.) Pour une description de ses paramètres lisez hpotmeter. Ses phases peuvent être fixés à NULL, mais ce n'est pas vraiment utile, puisque vous ne pouvez pas voir son niveau.
Définit une police. fontfile est le nom du descripteur de police avec l'extension .fnt (inutile de préciser son extension ici). fontid réfère à la police (c.f. dlabel et slabel). Jusqu'à 25 polices peuvent être définies.
Place un label dynamique à la position X,Y. texte est affiché en utilisant la police identifiée par fontid. Le texte est juste une chaîne brute (les variables $x ne fonctionnent pas) qui doit être mise entre doubles quotes (mais le caractère " ne peut pas faire partie du texte). Le label est affiché en utilisant la police identifiée par fontid.
Place un label statique à la position X,Y. Le label est appelé dynamique parce que son texte est rafraîchi périodiquement. La longueur maximum du label est définie par longueur (sa hauteur dépend de la hauteur des caractères). Si le texte a afficher dépasse cette longueur il sera scrollé, ou bien aligné dans l'espace spécifié par la valeur du paramètre align: 0 pour droite, 1 pour centre, et 2 pour gauche.
Le texte à afficher est donné par texte: il doit être écrit entre doubles quotes (mais le caractère " ne peut pas faire partie du texte). Le texte s'affiche en utilisant la police spécifiée par fontid. Vous pouvez utiliser les variables suivantes dans le texte:
Variable | Signification |
---|---|
$1 | temps de lecture au format hh:mm:ss |
$2 | temps de lecture au format mmmm:ss |
$3 | temps de lecture au format hh (heures) |
$4 | temps de lecture au format mm (minutes) |
$5 | temps de lecture au format ss (secondes) |
$6 | longueur du film au format hh:mm:ss |
$7 | longueur du film au format mmmm:ss |
$8 | temps de lecture au format h:mm:ss |
$v | volume au format xxx.xx% |
$V | volume au format xxx.xx |
$b | balance au format xxx.xx% |
$B | balance au format xxx.xx |
$$ | le caractère $ |
$a | un caractère dépendant du type audio (aucun: n, mono: m, stéréo: t) |
$t | numéro de piste (dans la playlist) |
$o | nom du fichier |
$f | nom du fichier en minuscule |
$F | nom du fichier en majuscule |
$T | un caractère dépendant du type de flux (fichier: f, Video CD: v, DVD: d, URL: u) |
$p | le caractère p (si une vidéo est en lecture et que la police a le caractère p) |
$s | le caractère s (si une vidéo est stoppée et que la police a le caractère s) |
$e | le caractère e (si une vidéo est en pause et que la police a le caractère e) |
$x | largeur du film |
$y | hauteur du film |
$C | nom du codec utilisé |
Les variables $a, $T, $p, $s et $e e retournent toutes des caractères pouvant s'afficher comme des symboles spéciaux (par exemple, "e" est le symbole de pause qui ressemble généralement à ||). Vous pouvez avoir une police pour les caractères normaux et une autre pour les symboles. Lisez la section sur les symboles pour plus d'informations.
Vous trouverez ci-dessous la liste des objets utilisables dans le bloc 'window = sub' . . . 'end'.
L'image qui s'affichera dans la fenêtre. La fenêtre apparaîtra à la position X,Y sur l'écran (0,0 est le coin supérieur gauche). Vous pouvez spécifier -1 pour centre et -2 pour droite (X) et bas (Y). La fenêtre prendra la taille de l'image. largeur et hauteur donnent la taille de la fenêtre; ces paramètres sont optionnels (si ils sont absents, le fenêtre prend la taille de l'image).
Vous permet de définir la couleur de fond. Utile si l'image est plus petite que la fenêtre. R, V et B spécifient les composantes rouge, verte et bleue de la couleur (d'un intervalle entre 0 et 255).
Comme mentionné précédemment, le menu s'affiche en utilisant deux images. Les entrées normales du menu sont extraite de l'image spécifiée par l'objet base, tandis que l'entrée actuellement sélectionnée est extraite de l'image spécifiée par l'objet selected. Vous devez définir la taille et la position de chaque entrée du menu par l'objet menu.
Ils correspondent aux objets utilisés dans le bloc 'window = menu'. . .'end'.
L'image utilisée pour les entrées normales.
L'image utilisée pour les entrées sélectionnées.
Définit la position X,Y et la taille des entrées du menu dans les images. message est le message généré quand le bouton de la souris est relâché.
Comme mentionné dans la section sur les parties de la skin, une police est définie par une image et un fichier de description. Vous pouvez placer les caractères n'importe ou sur l'image, mais vous devez vous assurer que leur position et taille correspondent précisément au fichier de description.
Le fichier descriptif des polices (avec l'extension .fnt) peut avoir des lignes de commentaires commençant par ';'. Le fichier doit avoir une ligne du type
image = imageOù image est le nom de l'image qui sera utilisée pour la police (vous n'avez pas à définir d'extension).
"char" = X, Y, largeur, hauteurIci X et Y précisent la position du caractère char dans l'image (0,0 est le coin supérieur gauche). largeur et hauteur sont les dimensions du caractère en pixels.
Voici un exemple définissant les caractères A, B, C utilisant la police font.png.
; Peut être "font" au lieu de "font.png". image = font.png ; Trois caractères suffisent pour une démonstration. :-) "A" = 0,0, 7,13 "B" = 7,0, 7,13 "C" = 14,0, 7,13
Certains caractères ont une signification spéciale quand ils sont retournés par des variables utilisées dans dlabel. Ces caractères sont censés s'afficher comme des symboles (par exemple, dans le cas d'une lecture DVD, vous pouvez afficher un beau logo DVD a la place du caractère 'd').
La table ci-dessous liste les caractères pouvant s'afficher comme des symboles (et nécessitent donc une police différente).
Caractère | Symbole |
---|---|
p | lecture |
s | stop |
e | pause |
n | pas de son |
m | son mono |
t | son stéréo |
f | lecture depuis un fichier |
v | lecture depuis un Video CD |
d | lecture depuis un DVD |
u | lecture depuis une URL |
Ce sont les messages qui peuvent être générés par les boutons, podomètres et entrées du menu.
Certains messages peuvent ne pas fonctionner comme prévu (ou ne pas fonctionner du tout). Comme vous le savez, la GUI est en cours de développement.
Contrôle de lecture:
Saute à la prochaine piste dans la playlist.
Associé à la commande evPlaySwitchToPause. Ils s'utilisent pour avoir un bouton play/pause commun. Les deux messages peuvent être assignés aux boutons affiches exactement à la même position dans la fenêtre. Ces message mettent la lecture en pause et le bouton evPlaySwitchToPause s'affiche (pour indiquer que le bouton peut être pressé pour continuer la lecture).
Commence la lecture.
Le contraire de evPauseSwitchToPlay. Ce message démarre la lecture et l'image associée au bouton evPauseSwitchToPlay s'affiche (pour indiquer que le bouton peut être pressé pour mettre en pause la lecture).
Saute à la piste précédente dans la playlist.
Stoppe la lecture.
Avancée dans le flux:
Recule de 10 secondes
Recule de 1 minute.
Recule de 10 minutes.
Avance de 10 secondes
Avance de 1 minute.
Avance de 10 minutes.
Se place à la position (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre).
Contrôle vidéo:
Double la taille de la fenêtre vidéo.
Passe en mode plein écran.
Met la vidéo à sa taille réelle.
Contrôle audio:
Diminue le délai du tampon audio.
Diminue la balance.
Diminue le volume.
Augmente le délai du tampon audio.
Augmente la balance.
Augmente le volume.
Active/désactive le son.
Fixe la balance (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre).
Fixe le volume (utilisable avec un podomètre; utilise la valeur relative (0-100%) du podomètre).
Divers:
Ouvre la fenêtre 'A Propos'.
Désactive le sous-titre actuellement utilisé.
Active/désactive l'équalizer.
Quitte le programme.
Iconifie la fenêtre.
Charge un fichier (en ouvrant un mini navigateur de fichiers, où vous pouvez choisir un fichier).
Fait la même chose que evLoad, mais démarre la lecture automatiquement après le chargement du fichier.
Charge un fichier de sous-titres (avec un sélecteur de fichier)
Charge un fichier audio (avec un sélecteur de fichier)
Message vide, sans effet. (à part peut-être dans les versions CVS :-)).
Ouvre/ferme la playlist.
Essaie d'ouvrir le disque dans le lecteur DVD-ROM indiqué.
Essaie d'ouvrir le disque dans le lecteur CD-ROM indiqué.
Ouvre la fenêtre de préférences.
Fixe l'aspect de l'image.
Ouvre la fenêtre de saisie d'URL.
Ouvre le navigateur de skins.
Table des matières
La toile de fond: La série GCC 2.95 est une version GNU officielle et la version 2.95.3 de GCC est la version la plus exempte de bogues de toute la série. Nous n'avons jamais remarqué de problèmes de compilation que nous pourrions attribuer à GCC 2.95.3. A partir de Red Hat Linux 7.0, Red Hat a inclus une version CVS lourdement patchée de GCC dans sa distribution et l'a nommé 2.96. Red Hat a inclus cette version parce que GCC 3.0 n'était pas terminé à ce moment là, et ils avaient besoin d'un compilateur fonctionnant sur toutes leurs plateformes supportées, incluant IA64 et s390. Le distributeur Linux Mandrake a également suivi l'exemple de Red Hat et a lancé la diffusion de GCC 2.96 avec sa série Linux-Mandrake 8.0.
Les évènements: L'équipe GCC a nié tout lien avec GCC 2.96 et a publié une réponse officielle à GCC 2.96. De nombreux développeurs à travers le monde ont commencé à avoir des problèmes avec GCC 2.96, et ont commencé à recommander d'autres compilateurs. Par Exemple MySQL et avifile. D'autres liens intéressants sont Linux kernel news flash about kernel 2.4.17 et le Forum Voy. MPlayer a également souffert des problèmes intermittents qui ont tous été résolus en passant à une version différente de GCC. Plusieurs projets en commencé à implémenter des contournements pour quelques-uns des problèmes de 2.96, mais nous avons refusé de réparer les bogues des autres, surtout parce que certains contournements peuvent impliquer une pénalité sur les performances.
GCC 2.96 n'autorise pas les caractères | (pipe) dans les commentaires assembleur parce qu'il supporte aussi bien la syntaxe Intel que la syntaxe AT&T et que le caractère | est un symbole dans la variante Intel. Le problème est qu'il ignore silencieusement le bloc assembleur entier. Cela est théoriquement fixé maintenant, GCC affichant un warning au lieu de sauter le bloc.
Le présent: Red Hat dit que GCC 2.96-85 et supérieur est réparé. La situation c'est en effet améliorée, mais nous voyons toujours des problèmes sur les listes de diffusion qui disparaissent avec un compilateur différent. Dans tous les cas cela ne peut plus durer. Normalement un GCC 3.x mature résoudra les problèmes. Si vous voulez compiler avec 2.96 passez l'option --disable-gcc-checking à configure. Rappelez-vous que vous êtes seul et donc de ne pas rapporter de bogues. Si vous le faites, vous serez juste insulté voir banni de nos listes de diffusion car nous en avons plus qu'assez des empoignes sur GCC 2.96. S'il vous plaît, restons-en là.
Si vous avez des problèmes avec GCC 2.96, vous pouvez obtenir les paquetages 2.96-85 sur le serveur ftp de Red Hat, ou d'utiliser les paquetages 3.0.4 offerts avec la version 7.2 et supérieur. Vous pouvez également obtenir les paquets gcc-3.2-11 (non officiels, mais fonctionnant bien) et vous pouvez les installer avec le GCC 2.96 que vous avez déjà. Mplayer les détectera et utilisera 3.2 au lieu de 2.96. Si vous ne voulez pas ou ne pouvez pas utiliser les paquetages binaires, voici comment vous pouvez compiler GCC 3 depuis les sources:
Allez sur la page des miroirs GCC et téléchargez gcc-core-XXX.tar.gz où XXX est le numéro de version. Ceci inclue le compilateur C complet et est suffisant pour MPlayer. Si vous voulez aussi C++, Java ou certaines autres fonctions avancées de GCC, gcc-XXX.tar.gz pourrait mieux convenir à vos besoins.
Décompressez l'archive avec
tar -xvzf gcc-core-XXX.tar.gz
GCC n'est pas construit depuis le répertoire source lui-même comme c'est le cas pour la plupart des programmes, mais a besoin d'un répertoire de construction à l'extérieur du répertoire source. Vous devez donc créer ce répertoire via
mkdir gcc-build
Ensuite vous pouvez procéder à la configuration de GCC dans le répertoire de construction, mais vous aurez besoin de le configurer depuis le répertoire source:
cd gcc-build ../gcc-3.XXX/configure
Compilez GCC en tapant cette commande dans le répertoire de construction:
make bootstrap
Maintenant vous pouvez installer GCC (en root) en tapant
make install
MPlayer contenait précédemment du code source du projet OpenDivX, qui interdit toute redistribution binaire. Ce code à été retiré depuis la version 0.90-pre1 et le fichier restant divx_vbr.c qui est dérivé des sources OpenDivX à été placé sous GPL par ses auteurs au moment de la version 0.90pre9. Vous êtes maintenant invité à créer des paquetages binaires si vous en avez l'utilité.
D'autres impératifs pour la redistribution étaient les optimisations de compilation pour l'architecture binaire. MPlayer supporte maintenant la détection CPU (passez l'option --enable-runtime-cpudetection à configure). Elle est désactivée par défaut parce quelle implique un petit sacrifice de vitesse, mais il est maintenant possible de créer des binaires qui fonctionneront sur les différents membres de la famille des CPUs compatibles Intel.
Nous n'aimons pas le fait que nVidia ne fournisse que des pilotes binaires (à utiliser avec XFree86), qui sont souvent bogués. Nous avons eu de nombreux rapports sur mplayer-users à propos de problèmes relatif à ces pilotes closed-source et à leur piètre qualité, leur instabilité et le piètre support utilisateur et expert. Beaucoup de ces problèmes continuent de ce répéter. Nous avons contacté nVidia récemment, et ils nous ont dit que ces bogues n'existaient pas, que l'instabilité était causée par de mauvais chips AGP, et qu'ils n'avaient pas reçu de rapports de bogues (comme la ligne violette). Donc si vous avez un problème avec votre carte nVidia, nous vous conseillons de mettre à jour le pilote nVidia et/ou d'acheter une nouvelle carte mère ou de demander à nVidia de fournir des pilotes open-source. Dans tous les cas, si vous utilisez les pilotes binaires nVidia et rencontrez des problèmes liés, soyez conscient que vous ne recevrez que peu d'aide de notre part car nous avons trop peu de pouvoir pour améliorer les choses.
Joe Barr est devenu tristement célèbre en décembre 2001 pour avoir écrit une moins-que-favorable critique de MPlayer appelée MPlayer: The project from hell. Il a trouvé MPlayer difficile à installer, et en a conclu que les développeurs n'étaient pas amicaux et que la documentation était incomplète et insultante. Vous êtes seul juge. Il à ensuite mentionné négativement Arpi dans ses 10 prédictions Linux pour 2002. Puis dans une critique de xine appelée A streaming media player for the rest of us il a continué d'alimenter la controverse. Ironiquement à la fin de cet article il cite son échange avec Günter Bartsch, l'auteur original de xine, qui résume parfaitement la situation:
Presque deux ans après, en octobre 2003, il a écrit un autre article appelé Mplayer revisited. Dans celui-ci il arrive aux conclusions suivantes:Toutefois, il a ajouté qu'il avait été "surpris" par mon papier à propos de MPlayer et pensait que c'était déloyal, me rappelant que c'est un projet de logiciel libre. "Si vous ne l'aimez pas," à dit Bartsch, "vous êtes libre de ne pas l'utiliser."
etJe dois dire qu'il y a eu des améliorations dans le nombre de fonctions, au niveau des performances, et dans la documentation. Ce n'est toujours pas l'installation la plus facile au monde, spécialement pour les débutants, mais c'est un petit peut mieux qu'avant.
Nous n'aurions pas pu résumer mieux nos sentiments à l'égard de Joe Barr: "Ce n'est toujours pas l'article le plus honnête ou le plus recherché au monde, mais c'est meilleurs qu'avant." Espérons que la prochaine fois nous répondrons mutuellement à nos attentes. De toute façon, le chemin de la maturité passe uniquement par l'âge, et peut-être en faisant fi des empoignades.Mais plus important, je n'ai pas remarqué de récents commentaires à propos des abus des utilisateurs. Je suppose que je mérite de la reconnaissance pour cela, même si j'en fait partie moi-même. Arpi et le reste de l'équipe du projet doivent ressentir cela aussi, car ils ont pris soin de me le rappeler dans une section spéciale de la documentation incluse dans l'archive. Comme je l'ai dit au début, certaines choses n'ont pas changées du tout.
Merci de lire ce fichier.