L'interface audio de MPlayer se nomme libao2. Elle possède actuellement ces drivers :
/dev/audio
) pour les utilisateurs BSD et Solaris8Il faut bien le reconnaître, les pilotes des cartes son ont des problèmes d'incompatibilité. MPlayer utilise une fonction des pilotes écrits correctement pour maintenir la synchro audio/vidéo. Malheureusement, certains auteurs de pilote n'ont que faire de cette fonction: elle n'est pas requise pour lire des MP3s, ou pour les effets sonores.
Les autres lecteurs multimédia comme aviplay ou xine fonctionnent probablement autrement avec ces pilotes parce qu'ils utilisent de "simples" méthodes pour leur synchro interne. Une note: le temps affiché avec leurs méthodes ne sont pas AUSSI précis que celui de MPlayer.
Avec un pilote correctement écrit Mplayer ne provoquera pas de désynchro A/V relatives à l'audio, à moins que votre fichier soit très endommagé. Quelques options pour contourner ces problèmes sont décris dans la page de man).
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:
-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 et ARTS. (ESD est le le
démon son de GNOME, ARTS celui de KDE).-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.
Chipset VIA intégré (via82cxxx) 48kHz uniquement | ||
Pilote: | depuis le projet gkernel | |
Aureal Vortex 2 | ||
OSS: | pas de pilote | |
OSS/Pro: | OK | |
ALSA: | pas de pilote | |
Max kHz: | 48 | |
Pilote: | aureal.sourceforge.net | |
Pilote2: | depuis Pontscho's page (taille du buffer augmentée à 32k) | |
GUS PnP | ||
OSS: | pas de pilote | |
OSS/Pro: | OK | |
ALSA: | OK | |
Max kHz: | 48 | |
SB Live! | ||
OSS: | Analogique OK, SP/DIF non fonctionnelle | |
ALSA: | Les deux OK | |
Max kHz: | 192 | |
SB AWE 64 | ||
OSS: | max 44kHz | |
ALSA: | 48kHz son mauvais | |
Max kHz: | 48 | |
Gravis UltraSound ACE | ||
OSS: | pas OK | |
ALSA: | OK | |
Max kHz: | 44 | |
Gravis UltraSound MAX | ||
OSS: | OK | |
ALSA: | OK (?) | |
Max kHz: | 48 | |
ESS 688 | ||
OSS: | OK | |
ALSA: | OK (?) | |
Max kHz: | 48 | |
Cartes C-Media (lesquelles?) | ||
OSS: | pas OK (hissing) (?) | |
ALSA: | OK (?) | |
Max kHz: | ? | |
Cartes Yamaha (*ymf*) | ||
OSS: | pas OK (?) (peut-être -ao sdl ) | |
ALSA: | OK uniquement avec ALSA 0.5 avec émulation OSS ET -ao sdl (!) (?) | |
Max kHz: | ? | |
Cartes avec chips envy24 (comme la Terratec EWS88MT) | ||
OSS: | ? | |
OSS/Pro: | OK | |
ALSA: | ? | |
Max kHz: | ? | |
PC Speaker ou DAC | ||
OSS: | OK (Utilisez le pilote SDL: -ao sdl ) | |
ALSA: | pas de pilote | |
Max kHz: | Ce pilote émule 44.1, peut-être plus. | |
Pilote: | ftp://ftp.infradead.org/pub/pcsp |
Sous Linux, utilisez le noyau 2.4 si possible, le 2.2 n'a pas été testé.
Si le son émet des cliquements en lisant depuis le CD-ROM, activez l'IRQ unmasking ! par exemple
hdparm -u1 /dev/cdrom
(man hdparm
). C'est généralement bénéfique
et décrit plus en détail dans la section CD-ROM.
Les retour sur ce document sont les bienvenus. Merci de nous faire savoir comment MPlayer gère votre carte son.
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 éxecutés dans l'ordre où ils apparaissent dans la
liste séparée par des virgules.
Exemple:
mplayer -af resample,pan film.avi
ferait 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 option changeant leur comportement. Ces options sont expliquées en détail dans les sections ci-dessous. Un filtre sera éxecuté 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.avi
définirait la fréquence de sortie du filtre resample filter à 11025Hz et downmixerait l'audio dans 1 cannal en utilisant le filtre pan.
La plupart des filtres répondent à l'option -v
, qui leur fait afficher des
messages d'état.
Le fonctionnement général de la couche filtre est controllé en utilisant l'option
-af-adv
. Cette option a deux sous-options:
force
list
MPlayer supporte pleinement l'up/down-sampling du son. 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:
srate
sloppy
srate
. Cette option est utilisé
au démarrage si la lecture est extremement lente.fast
Example:
mplayer -af resample=44100:0:1
fixerait la fréquence de sortie du filtre resample à 44100Hz en utilisant une echelle 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:
nch
nr
from1:to1:from2:to2:from3:to3...
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 (exepté 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.avi
changerait le nombre de canaux à 4 et définirait 4 routes qui interchangent le canal 0 et le canal 1 et laissent les canaux 2 et 3 intacts. Remarquez que si le media 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.avi
changerait 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.
Ce filtre est un convertisseur de format de sample. Il est automatiquement activé si requis par la carte son ou un autre filtre.
bps
f
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'éxecution.Example:
mplayer media.avi -af format=4:float
initialiserait le format de sortie en données à virgule de 4 octets par sample.
Ce filtre 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:
d1:d2:d3...
Pour calculer le décalage requis pour chaque canal, faites comme ceci:
Exemple:
mplayer -af delay=10.5:10.5:0:0:7:0 media.avi
dé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.
Ce filtre est un contrôleur de volume logiciel. 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. 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:
v
c
Exemple:
mplayer -af volume=10.1:0 media.avi
amplifierait 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'intervale dynamique maximum soit utilisé.
Ce filtre est un égaliseur graphique à 10 bandes, implementé 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:
Bande 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:
g1:g2:g3...g10
Exemple:
mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi
amplifierait le son sur les fréquences les plus hautes et les plus basses tout en les annulant presque complètement autour de 1kHz.
Ce filtre peut être utilisé 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:
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:
nch <1-6>
l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...
l[i][j]
détermine
le nombre j de canaux d'entrée à mixer dans le nombre i de canaux de sortie.Exemple:
mplayer -af pan=1:0.5:0.5 -channels 1 media.avi
down-mixerait de stéréo vers mono.
Exemple 2:
mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi
produirait 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).
Ce filtre 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 ensuites filtrées par un filtre Butterworth de 4ème ordre avec une fréquence de cutoff 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:
fc <20-300>
ch <0-5>
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.avi
ajouterait un canal sub-woofer avec une fréquence de cutoff de 100Hz au canal de sortie 4.
Ce filtre est un décodeur pour 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. Ce filtre a un paramètre:
d <0-1000>
0
and
1000
utilisé pour définir le décalage en ms pour les haut-parleurs rear
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.avi
ajouterait un décodage de son surround avec un décalage de 15ms pour le son des haut-parleurs arrière.
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,format
passerait 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és 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=0x8
fixerait 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. Que l'utilisation de ce plugin soit nécessaire ou pas, il
est autodétecté. Ce plugin à une option:
fout
qui peut être utilisé pour fixer la fréquence de sortie désirée.
Elle est par défaut de 48kHz, et est donnée en <Hz>.
Utilisation:
mplayer media.avi -aop list=resample:fout=<fréquence requise
en Hz, comme 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 distortion 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.
Utilisation:
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=<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 pour l'amour de l'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 PCM au maximum, laisser ce plugin, et contrôler le niveau de sortie
sur vos haut-parleurs avec le bouton principal du mixeur. 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'a ce que le bruit résiduel soit parti.
Utilisation:
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 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 distortions 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.45
Le 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.
Ce plugin maximise le volume sans distordre le son.
Utilisation:
mplayer media.avi -aop list=volnorm