MPlayer - The Movie Player: http://www.mplayerhq.hu | ||
---|---|---|
Előző | Fejezet 2. Funkciók | Következő |
Az MPlayer audió interfészét libao2-nek hívják. Jelenleg a következő vezérlőket tartalmazza:
Vezérlő | Megjegyzés |
---|---|
oss | OSS (ioctl) vezérlő (támogatja a hardveres AC3 áteresztést) |
sdl | SDL vezérlő (támogatja a hang démonokat, mint pl. az ESD és az ARTS) |
nas | NAS (Network Audio System) vezérlő |
alsa5 | natív ALSA 0.5 vezérlő |
alsa | natív ALSA 0.9/1.0 vezérlő (támogatja a hardveres AC3 áteresztést) |
sun | SUN audió vezérlő (/dev/audio) BSD és Solaris8 használóknak |
macosx | natív Mac OS X vezérlő |
win32 | natív Win32 vezérlő |
arts | natív ARTS vezérlő (leginkább KDE-t használóknak) |
esd | natív ESD vezérlő (leginkább GNOME-ot használóknak) |
jack | JACK (Jack Audio Connection Kit) vezérlő |
polyp | polypaudio vezérlő |
A Linux hangkártya vezérlői kompatibilítási problémákkal küzdenek. Ez azért van, mert az MPlayer a megfelelően kódolt hang vezérlők egy beépített tulajdonságát használja, ami engedélyezi nekik az audió/videó szinkron javítását. Sajnálatos módon néhány vezérlő szerzői nem gondoskodnak ezen tulajdonság kódolásáról, mivel nem szükséges az MP3-ak és a hangeffektek lejátszásához.
Más média lejátszók, mint pl. az aviplay vagy a xine valószínűleg kapásból működnek ezekkel a vezérlőkkel, mert egy "egyszerű" módszert használnak belső időzítéssel. A mérések azt mutatják, hogy az ő módszereik nem olyan hatékonyak, mint az MPlayeré.
Az MPlayert egy megfelelően megírt audió vezérlővel használva soha nem fog A/V deszinkronizáció bekövetkezni az audióban, csak nagyon rosszul elkészített fájlok esetén (lásd a man oldalt a megkerüléshez).
Ha neked rossz audió vezérlőd van, próbáld ki a -autosync
kapcsolót, megszünteti a problémáidat. Lásd a man oldalt a bővebb információkért.
Néhány megjegyzés:
Ha OSS vezérlőd van, először próbáld meg a -ao oss
-t (ez az
alapértelmezett). Ha hibát tapasztalsz, megállást vagy bármit, ami a megszokottól
eltér, próbáld ki a -ao sdl
kapcsolót (MEGJEGYZÉS: szükséged
lesz telepített SDL függvénykönyvtárakra és fejléc fájlokra). Az SDL audió vezérlő
sok esetben segít és az ESD-t (GNOME) és az ARTS-ot (KDE) is támogatja.
Ha 0.5-ös ALSA-d van, akkor majdnem mindig a -ao alsa5
-öt kell
használnod, mivel az ALSA 0.5-nek hibás az OSS emulációs kódja,
és össze fogja omlasztani az MPlayert
egy ehhez hasonló üzenettel:
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
Solaris-on használd a SUN audió verziót a -ao sun
kapcsolóval,
különben sem a videó sem az audió nem fog működni.
Ha a hang kattog CD-ROM lejátszása közben, kapcsold be az IRQ unmasking-ot, pl. hdparm -u1 /dev/cdrom (man hdparm). Ez általában jótékony hatású, bővebben a CD-ROM részben van leírva.
Linuxon egy 2.4.x kernel nagyon javasolt. A 2.2-es kernelt nem teszteltük.
A Linux hang vezérlőit első sorban az OSS szabad verziója biztosítja. Ezeket a vezérlőket az ALSA (Advanced Linux Sound Architecture) váltotta fel a 2.5-ös fejlesztői sorozatban. Ha a disztribúciód még nem használja az ALSA-t, próbáld ki, ha hanggal kapcsolatos problémákat tapasztalsz. Az ALSA vezérlők általában jobbak az OSS-nél kompatibilításban, teljesítményben és tulajdonságokban egyaránt. De néhány hangkártyát csak a 4Front Technologies által kiadott kereskedelmi OSS vezérlők támogatnak. Ráadásul elérhetőek számos nem-Linux rendszeren is.
HANG KÁRTYA | VEZÉRLŐ | Max kHz | Max Csatornák | Max Nyitások [a] | |||
---|---|---|---|---|---|---|---|
OSS/Szabad | ALSA | OSS/Pro | egyéb | ||||
VIA alaplapi (686/A/B, 8233, 8235) | via82cxxx_audio | snd-via82xx | 4-48 kHz vagy csak 48 kHz, chipset-en múlik | ||||
Aureal Vortex 2 | nincs | nincs | OK | Linux Aureal vezérlők 32k-ra növelt buffer méret | 48 | 4.1 | 5+ |
SB Live! | Analóg OK, S/PDIF nem működik | Mindkettő OK | Mindkettő OK | Creative OSS vezérlője (S/PDIF támogatás) | 192 | 4.0/5.1 | 32 |
SB 128 PCI (es1371) | OK | ? | 48 | stereo | 2 | ||
SB AWE 64 | max 44kHz | 48kHz rossz hangzású | 48 | ||||
GUS PnP | nincs | OK | OK | 48 | |||
Gravis UltraSound ACE | |||||||
Gravis UltraSound MAX | OK | OK (?) | 48 | ||||
ESS 688 | OK | OK (?) | 48 | ||||
C-Media kártyák (CMI8338/8738) | OK | OK S/PDIF támogatott ALSA 0.9.x-szel | ? | 44 | sztereo | 1 | |
Yamaha kártyák (*ymf*) | nem OK (?) (talán -ao sdl ) | OK csak OSS emulációs ALSA 0.5-tel
ÉS -ao sdl -vel (!) (?) | |||||
envy24 chip-ű kártyák (mint a Terratec EWS88MT) | ? | ? | OK | ? | |||
PC Speaker vagy DAC | OK | nincs | Linux PC speaker OSS vezérlő | A vezérlő 44.1-et emulál, talán többet. | mono | 1 | |
Megjegyzések: a. az eszközt egyidejűleg használni képes alkalmazások száma. |
Örömmel fogadjuk az ezen dokumentummal kapcsolatos visszajelzéseket. Kérjük írd meg, hogy hogyan működött együtt az MPlayer és a hang kártyá(i)d.
A régi audió plugin-eket az új audió szűrő réteg váltotta fel. Az audió szűrők
a hang adatok megváltoztatására használhatóak, még mielőtt a hang ki lenne küldve
a hangkártyára. A szűrők be és kikapcsolása alapértelmezésben automatikus, de ez
felülbírálható. A szűrők akkor aktiválódnak, ha az audió adat tulajdonságai
különböznek attól, amit a hangkártya igényel és ha nem szükségesek, deaktiválhatóak.
A -af szuro1,szuro2,...
kapcsolót használhatod a szűrők automatikus
bekapcsolásának felülbírálásához vagy az automatikusan nem elindított szűrők
aktiválásához. A szűrők olyan sorrendben lesznek lefuttatva, ahogy a vesszővel
elválasztott sorban szerepelnek.
Például:
mplayer -af resample,pan movie.aviátereszti a hangot a resampling szűrőn majd a pan szűrőn. Figyelj rá, hogy a lista ne tartalmazzon szóközt, különben nem fog működni.
A szűrők viselkedése gyakran megváltoztatható kapcsolókkal. Ezek a kapcsolók az alábbi részben bővebben le lesznek írva. Egy szűrő az alapértelmezett beállításokkal fog futni, ha nincs megadva hozzá kapcsoló. Itt egy példa, hogy hogyan használhatod a szűrőket a szűrő specifikus kapcsolókkal együtt:
mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 media.aviEz a parancs beállítja a resample szűrő kimeneti frekvenciáját 11025Hz-re és lebutítja az audiót 1 csatornára a pan szűrővel.
A szűrő réteg teljes futtatását a -af-adv
kapcsoló
szabályozza. Ennek a kapcsolónak két alopciója van:
A force
egy bitmező, ami beállítja, hogy a szűrőket
hogyan kell beilleszteni és milyen sebesség/precizítás optimalizációt
használjanak:
0
A szűrők automatikus beillesztése és optimalizálása a CPU sebességéhez.
1
A szűrők automatikus beillesztése és optimalizálása a legnagyobb sebességhez. Figyelmeztetés: Néhány tulajdonság az audió szűrőkben elromolhat csendben, rontva így a hang minőséget.
2
A szűrők automatikus beillesztése és optimalizálása minőséghez.
3
A szűrők nem illesztődnek be automatikusan és nincs optimalizálás. Figyelmeztetés: Lehet, hogy az MPlayer összeomlik ezzel a beállítással.
4
A szűrők automatikus beillesztése a fenti 0-nak megfelelően, de amennyiben lehetséges, lebegőpontos feldolgozást használ.
5
A szűrők automatikus beillesztése a fenti 1-nek megfelelően, de amennyiben lehetséges, lebegőpontos feldolgozást használ.
6
A szűrők automatikus beillesztése a fenti 2-nek megfelelően, de amennyiben lehetséges, lebegőpontos feldolgozást használ.
7
A szűrők nem illesztődnek be automatikusan a fenti 3-nak megfelelően, és amennyiben lehetséges, lebegőpontos feldolgozást használ.
A list
a -af kapcsoló álneve.
A szűrő réteget a következő általános kapcsolók is érintik:
-v
Növeli a beszédesség szintjét és ezáltal sok szűrő extra státusz üzenetet ír ki.
-channels
Ez a kapcsoló beállítja a hangkártyán használni kívánt kimeneti csatornák számát. A médiából dekódolt csatornák számát is érinti ez. Ha a médiában kevesebb csatorna van, mint amennyit megadsz, a csatorna szűrő (lásd lejebb) automatikusan beillesztődik. Az forgalom irányítás a csatorna szűrő alapértelmezett forgalom irányítása alapján zajlik.
-srate
Ez a kapcsoló beállítja a hangkártyán használni kívánt mintavételezési rátát (természetesen a kártyák korlátozzák ezt). Ha a hangkártyád mintavételi frekvenciája különbözik az aktuális médiáétól, a resample szűrő (lásd lejebb) beillesztődik az audió szűrő rétegbe, hogy kompenzálja a különbséget.
-format
Ez a kapcsoló a minta formátumát állítja be az audió szűrő réteg és a hangkártya között. Ha a hangkártyád által elvárt minta formátum különbözik az aktuális médiáétól, egy formátum szűrő (lásd lejebb) beillesztődik, hogy kiigazítsa a különbséget.
Az MPlayer teljes mértékben támogatja a hang up/down-sampling-et
a resample
szűrő segítségével. Akkor használható, ha fix
frekvenciával dolgozó hangkártyád van vagy leragadtál egy régi kártyánál, ami csak
maximum 44.1 kHz-et tud. Ez a szűrő automatikusan engedélyezve lesz szükség esetén,
de explicit módon is engedélyezheted a parancssorban. Három kapcsolója van:
srate <8000-192000>
egy egész szám, amit a kimeneti mintavételi frekvenciát adja meg Hz-ben. Az elfogadható tartomány 8kHz-től 192kHz-ig terjed. Ha a bemenet és a kimenet mintavételi frekvenciája ugyan annyi vagy ez a paraméter el van hagyva, a szűrő automatikusan kikapcsol. A magas mintavételi frekvencia normális esetben javítja az audió minőséget, különösen ha más szűrőkkel együtt használod.
sloppy
egy opcionális bináris paraméter, ami engedélyezi, hogy a kimeneti frekvencia
eltérjen az srate
-tel megadott frekvenciától. Ez a kapcsoló
akkor használható, ha a lejátszás elindulása nagyon lassú. Alapértelmezésben
engedélyezett.
type <0-2>
egy opcionális egész szám 0 és 2 között, ami kiválasztja, hogy melyik resampling módszert használja a program. Itt a 0 a lineáris interpolációt jelenti, az 1 a poly-phase filter-bank és egész feldolgozás segítségével történő resampling-ot és a 2 a poly-phase filter-bank és lebegőpontos feldolgozást. A lineáris interpoláció rettentően gyors, de rossz a hang minősége, különösen ha up-sampling-hez használják. A legjobb minőséget a 2-es adja, de ez a módszer okozza a legnagyobb CPU terhelést is.
Például:
mplayer -af resample=44100:0:0resample szűrő kimeneti mintavételezési frekvenciáját 44100Hz-re állítja, exakt kimeneti frekvenciát használ és lineáris interpolációt.
A channels
szűrő csatornák hozzáadásához vagy elvételéhez használható,
valamint csatornák útvonalának irányításához és másolásához. Automatikusan engedélyezve
lesz, ha az audió szűrő réteg kimenete különbözik a bemeneti rétegtől vagy ha más
szűrő igényli. A szűrő eltávolítja magát, ha nincs rá szükség. A kapcsolók száma
dinamikus:
nch <1-6>
egy egész szám 1 és 6 között, amit a kimeneti csatornák számának beállításához használhatsz. Ezen kapcsoló megadása kötelező, ha elhagyod, futási hibát kapsz.
nr <1-6>
egy egész szám 1 és 6 között, ami az útvonalak számának meghatározásához kell. Ez a paraméter opcionális. Ha nem adod meg, az alapértelmezett útvonal irányítás lesz használva.
honnan1:hova1:honnan2:hova2:honnan3:hova3...
0 és 5 közötti számpárok, amik leírják a csatornák az egyes csatornák útvonalát.
Ha csak az nch
van megadva, az alapértelmezett útvonal irányítás
lesz használva, ami a következő képpen működik: Ha a kimeneti csatornák száma nagyobb,
mint a bemeneti csatornáké, az üres csatornák be lesznek illesztve (kivéve a monoról
sztereóra keverést, akkor a mono csatorna ismétlődik minden kimeneti csatornán).
Ha a kimeneti csatornák száma kisebb, mint a bemeneti csatornáké, akkor a többlet
csatornák le lesznek vágva.
1. példa:
mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.aviez a csatornák számát 4-re állítja és 4 útvonalat is beállít, ami felcseréli a 0-ás és az 1-es csatornád, de békén hagyja a 2-es és 3-as csatornákat. Figyelj rá, hogy ha csak két csatornát tartalmazó médiát játszol le, a 2-es és 3-as csatorna elnémul, de a 0-ás és az 1-es marad felcserélve.
2. példa:
mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avibeállítja a csatornák számát 6-ra és 4 útvonalat ad meg, ami a 0. csatornát átmásolja a 0. és 3. csatornára. A 4-es és 5-ös csatorna el lesz némítva.
A format
szűrő különböző minta formátumok között konvertál.
Automatikusan engedélyezve lesz ha a hangkártya vagy egy másik szűrő igényli.
bps <number>
lehet 1, 2 vagy 4, az egy mintában lévő bájtok számát adja meg. Ezen kapcsoló megadása kötelező, ha elhagyod, futási hibát kapsz.
f <format>
egy karakterlánc, ami leírja a minta formátumát. A karakterlánc az alábbiak
összefűzésével keletkezik: alaw
, mulaw
vagy
imaadpcm
, float
vagy int
,
unsigned
vagy signed
, le
vagy
be
(little- vagy big-endian). Ezen kapcsoló megadása kötelező,
ha elhagyod, futási hibát kapsz.
Példa:
mplayer -af format=4:float media.avibeállítja a kimeneti formátumot mintánkénti 4 bájtos lebegőpontos adatra.
A delay
szűrő késlelteti a hangot a hangszóróknál, így különböző
csatornákon érkező hang egyidőben ér a hallgató pozíciójába.
Ez akkor jó, ha több, mint 2 hangszóród van. Ez a szűrő az alábbi paraméterekkel
rendelkezik:
d1:d2:d3...
lebegőpontos számok, amik a késleltetési időket reprezentálják ms-ben, külön az egyes csatornákhoz. A minimum késleltetés 0ms, a maximum 1000ms.
A különböző csatornákhoz szükséges késleltetés kiszámításához kövesd ez a leírást:
Mérd meg a hangszórók távolságát méterben, a hallgatási helyedhez viszonyítva, így megkapod az s1-s5 távolságokat (egy 5.1-es rendszernél). A mélynyomót nincs értelme kompenzálni (egyébként sem fogod hallani a különbséget).
Vond ki a s1-s5 távolságokat a maximum távolságból, pl. s[i] = max(s) - s[i]; i = 1...5
Számítsd ki a szükséges késleltetéseket ms-ben: d[i] = 1000*s[i]/342; i = 1...5
Például:
mplayer -af delay=10.5:10.5:0:0:7:0 media.avia bal és jobb első hangszórót 10.5ms-sel, a két hátsó és a mély csatornát 0ms-sel, a középső csatornát pedig 7ms-sel késlelteti.
A szoftveres hangerő szabályozást a volume
audió szűrő
valósítja meg. Óvatosan használd ezt a szűrőt, mivel lecsökkentheti a jel erősségét
a hang zaj szintjére. A legtöbb esetben az a legjobb, ha a PCM hangerőt maximumra
állítod, ezt a szűrőt kihagyod és a hangszórók kimeneti hangerejét a keverőd mester
hangerő állítójával állítod. Abban az esetben, ha a hangkártyádnak digitális PCM
keverője van, nem analóg, és torzulást hallasz, használd inkább a MESTER keverőt.
Ha külső erősítő van kötve a számítógéphez (legtöbbször ez az eset áll fenn), a
zajszint minimalizálható a mester hangerő és az erősítőn lévő hangerő gomb
segítségével egészen amíg a sziszegő háttérzaj meg nem szűnik. Ennek a szűrőnek
két kapcsolója van:
v <-200 - +60>
egy lebegőpontos szám -200 és +60 között, ami a hangerőt jelenti dB-ben. Az alapértelmezett szint 0dB.
c
ez egy bináris vezérlő, ami a soft clipping-et kapcsolja ki vagy be. A soft-clipping a hangot még jobbá teheti, ha nagy hangerőt használsz. Engedélyezd ezt a kapcsolót, ha a hangszóróid dinamikus intervalluma nagyon kicsi. Vigyázz, ez a tulajdonság torzulást okozhat, csak végső megoldásként használd.
Példa:
mplayer -af volume=10.1:0 media.avierősíti a hangot 10.1dB-re és hard-clip-et használ ha a hangerő túl nagy.
Ennek a szűrőnek van egy második tulajdonsága is: Megméri az összesített maximum hangszintet és kiírja ezt a szintet, amikor az MPlayer kilép. Ez a hangerő becslés használható a hangerő szint beállítására az MEncoderben úgy, hogy a maximum dinamikus intervallumot használd.
Az equalizer
szűrő egy 10 oktáv széles grafikus equalizert
jelképez, a 10 IIR széles pass szűrők felhasználásával. Ez azt jelenti, hogy
mindig működik, a lejátszott audió típusától függetlenül. A 10 sáv frekvencia
középértékei:
Sáv szám | Frekvencia középérték |
---|---|
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 |
Ha a lejátszott hang mintvételi rátája kisebb, mint a frekvencia sávhoz tartozó frekvencia középérték, akkor a sáv le lesz tiltva. Ezen szűrő ismert hibája, hogy legfelső sáv karakterisztikája nem teljesen szimmetrikus, ha a mintavételi ráta közel van a sáv frekvencia középértékéhez. Ez a probléma megkerülhető a hang resample szűrővel történő up-sampling-elésével, még mielőtt ez a szűrő megkapná a hangot.
Ennek a szűrőnek 10 paramétere van:
g1:g2:g3...g10
lebegőpontos számok -12 és +12 között, melyek az egyes frekvencia sávokhoz tartozó erősítés mértékét adják meg dB-ben.
Például:
mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avierősíteni fogja a hangot a felső és az alső frekvencia tartományokban, míg majdnem teljesen kikapcsolja azt 1 kHz környékén.
A pan
szűrőt csatornák önkényes összekeverésére használhatod.
Alapjaiban a hangerő vezérlő és a channel szűrő keveréke.
Két fő felhasználási módja van ennek a szűrőnek:
Sok csatorna lekeverése kevésre, sztereo lemixelése mono-ra például.
A középső hangszóró "szélességének" átállítása egy térhatású hang rendszernél.
Ezt a szűrőt nehéz használni, és némi buherálás kell hozzá, hogy meglegyen a kívánt eredmény. Ezen szűrő kapcsolóinak száma a kimeneti csatornák számától függ:
nch <1-6>
egy egész szám 1 és 6 között, a bemeneti csatornák száma adható meg vele. Ezen kapcsoló megadása kötelező, ha elhagyod, futási hibát kapsz.
l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...
lebegőpontos számok 0 és 1 között.
l[i][j]
meghatározza, hogy a j. bemeneti csatorna hányad része
lesz bemixelve az i. kimeneti csatornába.
1. példa:
mplayer -af pan=1:0.5:0.5 -channels 1 media.aviLemixel sztereóból mono-ba.
2. példa:
mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi3 csatornás kimenetet ad, a 0. és 1. csatornát érintetlenül hagyja, és belemixeli a 2. kimeneti csatornába (amit például a mélynyomóra küld ki).
A sub
szűrő egy mélynyomó csatornát ad az audió folyamhoz.
A mélynyomó csatorna létrehozásához szükséges adatokat a 0. és az 1. csatorna
hangjának átlagolásával nyeri. Az eredményként kapott hangot még low-pass
módon megszűri egy 4. utas Butterworth szűrő segítségével, az alapértelmezett
60 Hz-es vágási frekvenciával majd egy külön csatornát ad a hang folyamhoz.
Figyelem: Kapcsold ki ezt a szűrőt, ha Dolby Digital 5.1-es hanggal rendelkező
DVD-t játszol le, különben ez a szűrő összezavarja a mélynyomó hangját.
Két kapcsolója van a szűrőnek:
fc <20-300>
egy opcionális lebegőpontos szám, ami a szűrő vágási frekvenciájának Hz-ben történő megadásához használható. A helyes érték 20 Hz és 300 Hz között van. A legjobb eredményhez próbáld meg a vágási frekvenciát a lehető legkisebbre állítani. Ezáltal nőni fog a sztereo és a térhatás minősége. Az alapértelmezett vágási frekvencia 60 Hz.
ch <0-5>
egy opcionális egész szám 0 és 5 között, ami meghatározza annak a csatornának a számát, ahova a mélynyomó audió beillesztésre kerül. Az alapértelmezett csatorna szám 5. Figyelj rá, hogy a csatornák száma automatikusan meg lesz növelve ch értékre, ha szükséges.
Példa:
mplayer -af sub=100:4 -channels 5 media.avilétrehoz egy mélynyomó csatornát 100 Hz-es vágási frekvenciával a 4. kimeneti csatornán.
A mátrix kódolású térhatású hang dekódolható a surround
szűrővel. A Dolby Surround például mátrix kódolású formátum. Sok 2 csatornás
audiót tartalmazó fájl tulajdonképpen mátrixolt térhatású hangot tartalmaz.
Ezen tulajdonság kihasználásához olyan hangkártyára van szükség, ami legalább
4 csatornát támogat. Ennek a szűrőnek egy paramétere van csak:
d <0-1000>
egy opcionális lebegőpontos szám 0 és 1000 között, amivel a hátsó hangszórók késleltetési ideje állítható be ms-ben. Ez a késleltetést az alábbi módon tanácsos beállítani: ha a d1 a hallgatási pozíció és az elülső hangszórók közötti távolság és d2 a hallgatási pozíció és a hátsó hangszórók közötti távolság, akkor a d késleltetést 15 ms-re célszerű állítani, ha d1 <= d2 és 15 + 5*(d1-d2) értékre, ha d1 > d2. d alapértelmezett értéke 20 ms.
Példa:
mplayer -af surround=15 -channels 4 media.avibekapcsolja a térhatású hang dekódolását a hátsó hangszórók hangjához képest 15 ms-os késleltetéssel.
Az audió szűrők exportálják a bejövő jeleket más processzeknek a memória map-olás segítségével (mmap()). A memória map-olt területein egy fejléc található:
int nch /*csatornák száma*/ int size /*buffer méret*/ unsigned long long counter /*a szinkronizáció fenntartásához kell, új adat exportálásakor frissítve lesz*/A többi csak payload (nem átlapolt), 16 bitnyi adat.
mmapped_file
A fájl, amibe exportáltatni szeretnél a szűrővel. Az alapértelmezett a ~/.mplayer/mplayer-af_export fájlba map-olás.
nsamples
Csatornánkénti minták száma. Az alapértelmezett 512 minta.
példa:
mplayer -af export=/tmp/mplayer-af_export:1024 media.aviexportál 1024 mintát csatornánként a /tmp/mplayer-af_export fájlba.
Ez az audió szűrő (lineárisan) növeli a különbséget a bal és a jobb csatornák között (mint az XMMS extrastereo plugin-je), ami egy kis "élő" hatást ad a lejátszáshoz. Ennek a szűrőnek egy paramétere van:
mul
a differencia együttható, egy opcionális lebegőpontos szám, ami alapértelmezésként 2.5. Ha 0.0-ra állítod, mono hangot kapsz (az összes csatorna átlaga). Ha 1.0-ra állítod, a hang változatlan marad, ha -1.0-re, akkor a bal és a jobb csatorna felcserélődik.
Használat:
mplayer -af extrastereo media.avi mplayer -af extrastereo=3.45 media.avi
Ez az audió szűrő maximalizálja a hangerőt a hang torzítása nélkül.
Használat:
mplayer -af volnorm media.avi
Megjegyzés: Az audió plugin-eket már nem fejlesztjük, az audió szűrők felváltották őket, és hamarosan el is lesznek távolítva.
Az MPlayer támogat audio plugin-eket. Az audió
plugin-ek meg tudják változtatni az audió adat tulajdonságait, mielőtt az
eljutnának a hangkártyához. Az -aop
kapcsolóval tudod
engedélyezni őket, aminek egy list=plugin1,plugin2,...
argumentuma van. A list
argumentum szükséges, és
meghatározza, hogy mely plugin-eket kell használni és azokat milyen
sorrendben kell futtatni. Például:
mplayer media.avi -aop list=resample,formatátfuttatja a hangot a resampling majd a format plugin-en.
A plugin-eknek szintén lehetnek kapcsolóik, amikkel megváltoztatható a működésük. Ezek a kapcsolók bővebben a következő részben lesznek leírva. Ha egy plugin-nek nem adsz meg kapcsolókat, akkor az alapértelmezett kapcsolókkal fog lefutni. Itt egy példa, hogy hogyan használhatóak a plugin-ek plugin specifikus kapcsolókkal együtt:
mplayer media.avi -aop list=resample,format:fout=44100:format=0x8beállítja a resample plugin kimeneti frekvenciáját 44100 Hz-re és a formátum plugin kimeneti formátumát AFMT_U8-ra.
Jelenleg az audió plugin-ek nem használhatóak a MEncoderben.
Az MPlayer teljes mértékben támogatja a hang
up/downsampling-elését. Ezt a plugint akkor használhatod, ha fix frekvenciájú
hangkártyád van vagy régi, ami csak maximum 44.1 kHz-et tud. A hardverek
korlátai nem lesznek automatikusan detektálva, így a mintavételezési
frekvenciát pontosan meg kell adnod. Ez a plugin egy kapcsolóval rendelkezik:
fout
, amivel a kívánt kimeneti mintavételezési frekvencia
állítható be. Az alapértelmezett értéke 48 kHz, Hz-ben kell megadni.
Használat:
mplayer media.avi -aop list=resample:fout=freqahol a freq a frekvencia Hz-ben, mint pl. 44100.
Megjegyzés: A kimeneti frekvenciát nem tanácsos az alapértelmezett érték fölé vinni. Túl nagy értéknél az audió és a videó folyamok lassan lesznek lejátszva, ráadásul a hang is torzulni fog.
Az MPlayer rendelkezik egy audió plugin-nel, ami a mátrix kódolású térhatású hangot tudja dekódolni. A Dolby Surround például egy mátrix kódolású formátum. Sok két csatornás hanggal rendelkező fájl tulajdonképpen mátrix kódolású térhatású hangot tartalmaz. Ezen képesség kihasználásához legalább 4 csatornát támogató hangkártya szükséges.
Használat:
mplayer media.avi -aop list=surround
Ha a hangkártya vezérlőd nem támogatja az előjeles 16 bites egész adattípust,
ennek a plugin-nek a segítségével megváltoztathatod a formátumot egy olyanra,
amit a hangkártyád megért. Egy kapcsolója van, a format
, aminek
az értéke a libao2/afmt.h fájlban található számok valamelyike
lehet. Ez a plugin csak ritkán kell, és haladó felhasználóknak lett tervezve.
Figyelj rá, hogy ez a plugin csak a minta formátumát változtatja meg, nem a
minta frekvenciáját vagy a csatornák számát.
Használat:
mplayer media.avi -aop list=format:format=outfmtahol az outfmt a kért kimeneti formátum.
Ez a plugin késlelteti a hangot és egyben példa arra, hogy hogyan fejlessz új plugin-eket. Semmi hasznos dolgot nem tud a felhasználó szemszögéből, és csak a teljesség miatt kerül megemlítésre. Ne használd ezt a plugint, hacsak nem vagy fejlesztő.
Ez a plugin egy szoftveres megvalósítása a hangerő szabályozásnak,
olyan gépeken haszos, ahol a keverő eszköz sérült. Akkor is jól jön, ha
valaki az MPlayer kimeneti hangerejét akarja
megváltoztatni a PCM hangerő keverőn történő állítása nélkül. Egy kapcsolója
van, a volume
, amivel a kezdeti hangerő értéke adható meg.
A kezdeti hangerő szintje 0 és 255 között lehet, alapértelmezésként 101, ami
0 dB-s erősítésnek felel meg. Óvatosan használd ezt a plugin-t, mert a jelet
le tudja csökkenteni a hang zajszintjére. Legtöbb esetben a legjobb, ha a
PCM hangerőt maximumra állítod, kihagyod ezt a plugin-t, és a hangszóróid
hangerejét a keverő mester hangerő vezérlőjével állítod be. Ha van külső
erősítő kötve a számítógéphez (ez van a legtöbb esetben), akkor a zajszint
minimalizálható a mester hangerő és az erősítőn lévő hangerő állító gomb
állítgatásával, amíg a sistergő zaj el nem tűnik a háttérből.
Használat:
mplayer media.avi -aop list=volume:volume=0-255
Ez a plugin tartalmaz egy tömörítőt vagy "soft-clipping" képességet is. A tömörítést akkor használhatod, ha a hang dinamikus tartománya nagyon nagy vagy hangszórók dinamikus tartománya nagyon kicsi. Vigyázz, ez a képesség torzulást okoz és csak végső esetben használandó.
Használat:
mplayer media.avi -aop list=volume:softclip
Ez a plugin (lineárisan) növeli a különbséget a bal és a jobb csatorna között (mint az XMMS extrastereo plugin-je), ami egy kis "élő" hatást ad a lejátszáshoz.
Használat:
mplayer media.avi -aop list=extrastereo mplayer media.avi -aop list=extrastereo:mul=3.45Az együttható (
mul
) egy lebegőpontos szám, aminek az
alapértelmezett értéke 2.5. Ha 0.0-ra állítod, mono hangot
kapsz (az összes csatorna átlaga). Ha 1.0-ra, akkor a hang
változatlan marad, ha -1.0-re, akkor a bal és a jobb
csatorna felcserélődik.
Ez a plugin maximalizálja a hangerőt a hang torzítása nélkül.
Használat:
mplayer media.avi -aop list=volnorm