Az MPlayer audio interfészének a neve libao2. Jelenleg a következő meghajtókat tartalmazza :
A helyzet az, hogy a Linux hangkártyameghajtói nem túl jók. Az MPlayer a hangkártyameghajtók egyik olyan funkcióját használja a kép illetve a hang lejátszásának szinkronizálásához, melyet a meghajtókészítők előszeretettel felejtenek el helyesen implementálni, mivel ez szükségtelen MP3-ak, hangeffektek és egyebek lejátszásához.
Más médialejátszók (mint például az aviplay, a xine) általában működni szoktak (már ha éppen szoknak:) az ilyen meghajtókkal, tekintve hogy belső időzítéssel szinkronizálnak. Megjegyzendő hogy az idő az MPlayer módszerét hozta ki hatékonyabbnak.
Normálisan megírt hangkártyameghajtó használatával semmiféle hangból eredő szinkronizációs probléma nem adódhat, kivéve ha már maga a file is hibás.
Ha rossz audiomeghajtód van, az -autosync
opció használata
jó eséllyel segíteni fog. A pontos használatát és leírását lásd a man
page-ben.
Néhány megjegyzés:
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
Solaris rendszeren természetesen a SUN audio meghajtót kell használni, az -ao sun opcióval, különben lőttek mind a video, mind az audio lejátszásnak.
VIA alaplapi chipset (via82cxxx) 48Khz-ra limitált | ||
Driver: | innen | |
Aureal Vortex 2 | ||
OSS: | nincs | |
OSS/Pro: | OK | |
ALSA: | nincs | |
Max kHz: | 48 | |
Driver: | aureal.sourceforge.net | |
Driver2: | innen (bufferméret megnövelve 32k-ra) | |
GUS PnP | ||
OSS: | nincs | |
OSS/Pro: | OK | |
ALSA: | OK | |
Max kHz: | 48 | |
SB Live! | ||
OSS: | Analóg OK, SP/DIF nem megy | |
ALSA: | mindkettő OK | |
Max kHz: | 192 | |
SB AWE 64 | ||
OSS: | max 44kHz | |
ALSA: | 48kHz rosszul hangzik | |
Max kHz: | 48 | |
Gravis UltraSound ACE | ||
OSS: | OKAz új audio kóddal is bugzik... | |
ALSA: | OK | |
Max kHz: | 44 | |
Gravis UltraSound MAX | ||
OSS: | OK | |
ALSA: | OK (?) | |
Max kHz: | 48 | |
ESS 688 | ||
OSS: | OK | |
ALSA: | OK (?) | |
Max kHz: | 48 | |
C-Media kártyák (melyik típusok?) | ||
OSS: | nem OK (sistereg) (?) | |
ALSA: | OK (?) | |
Max kHz: | ? | |
Yamaha kártyák (*ymf*) | ||
OSS: | nem OK (?) (talán -ao sdl ?) | |
ALSA: | csak (?) ALSA 0.5-tel, OSS emulációval, ÉS -ao sdl-el jó (!) (?) | |
Max kHz: | ? | |
envy24 chip-es kártyák (mint pl Terratec EWS88MT) | ||
OSS: | ? | |
OSS/Pro: | OK | |
ALSA: | ? | |
Max kHz: | ? | |
PC Speaker vagy DAC | ||
OSS: | OK (használd az SDL meghajtót : -ao sdl) | |
ALSA: | nincs | |
Max kHz: | a meghajtó 44.1Khz-t emulál, vagy többet | |
Driver: | ftp://ftp.infradead.org/pub/pcsp |
Az MPlayer tartalmaz néhány audio plugint. Ezek a hang
tulajdonságainak megváltoztatására használhatóak. A használatuk az
-aop
opcióval történik, amit a
list=plugin1,plugin2,...
opció követ. A list
kapcsoló elhagyhatatlan, itt adható meg a használandó pluginek listája,
valamint a sorrendjük. Például a következő parancs:
mplayer media.avi -aop list=resample,format
először a resample pluginen, aztán a format pluginen keresztül vezeti a hangot.
A plugineknek is vannak opcióik, amelyek befolyásolják őket. Ezek részletesebben a következő fejezetekben vannak leírva. Ha egy pluginnak nem adsz meg beállításokat, az alapértelmezett beállításban fognak futni. Íme egy példa hogy hogyan használj több plugint, megadott opciókkal:
mplayer media.avi -aop
list=resample,format:fout=48000:format=0x8
Ez 44100Hz-es kimeneti frekvenciára mixel, és a kimeneti formátumot átállítja AFMT_U8-ra.
Currently audio plugins can not be used in MEncoder.
Az MPlayer képes az audio stream frekvenciáját növelni illetve csökkenteni. Ennek szükségessége autodetektálva van. Ez a funkció még nem működik a MEncoder-ben.
Használat :
mplayer media.avi -aop list=resample:fout=<a kívánt
frekvencia Hz-ben, pl 44100>
Az MPlayer-nek van egy audio pluginje ami a mátrix-kódolt hangok dekódolására szolgál (ilyen például a Dolby Surround).
Sok 2 csatornás file valójában mátrix-kódolt térhatású hangot tartalmaz.
Az ilyen dekódolás használatához egy legalább 4 csatornát támogató hangkártyára+meghajtóra van szükség.
Használat :
mplayer media.avi -aop list=surround
Ha a hangkártyád nem támogatja a signed 16bit int formátumot, ezzel
a pluginnel átalakíthatod a kimeneti hangot olyanba amit visz.
Egy opciója van neki, a format
, ami után megadandó a kívánt
formátum száma (lásd libao2/afmt.h). Ez a plugin ritkán használandó..
Használat :
mplayer media.avi -aop
list=format:format=<kimeneti formátum>
Példa plugin, csak developereknek. Lásd angol dox.
Ez a plugin szoftveres hangerőállításra képes, ezáltal olyan gépeken
is használható, ahol a hardveres mixer eszköz nem működik. Használható
továbbá olyan esetekben, amikor a PCM hangerő megváltoztatása nélkül
akarod a hangerőt megváltoztatni. Egyetlen opciója van, a volume
ami 0 és 255 közötti értékeket vehet fel (az alapértelmezett érték a 101 -
ez 0dB-nyi erősítést jelent).
Óvatosan használd ezt a plugint. A legtöbb esetben sokkal célravezetőbb a
hardveres mixeren a PCM csatorna maximálisra állítása, ezen plugin
kihagyása, és a hangerő "mester" csatornával történő állítása. Ha külső
erősítő is rá van kapcsolva a hangkártyádra, a zajszint minimálisra
csökkentése érdekében érdemes a "mester" csatornával és az erősítő
hangerőszabályzójával addig szórakozni amig a háttérben sziszegő zaj
elenyészik.
Használata :
mplayer media.avi -aop
list=volume:volume=<0-255>
A pluginnek van úgynevezett "compressor" vagy "soft-clipping" képessége. Ez akkor használható, ha a hang dinamikus tartománya túl magas, vagy a hangszóróké túl alacsony. Az eljárás hátránya, hogy torzítást okoz, ezért csak akkor használandó ha nincs más lehetőség.
Használata :
mplayer media.avi -aop list=volume:softclip
Ez a plugin lineárisan növeli a bal és jobb hangcsatorna közti különbséget (mint az XMMS extrastereo plugin) ezáltal "életszerűbb" effektust kölcsönözve a hangnak.
Használat :
mplayer media.avi -aop list=extrastereo
mplayer media.avi -aop list=extrastereo:mul=3.45
A paraméter egy float szám (mul
), aminek alapértéke 2.5. Ha
0.0-ra írod át, mono hangot kapsz.
Ez a plugin beállítja a hangerőt arra a maximális erősségre, ahol még nem lép fel torzítás.
Használat :
mplayer media.avi -aop list=volnorm