Urządzenia wyjściowe audio Synchronizacja Audio/Video Interfejs audio MPlayera nazywa się libao2. Obecnie zawiera on następujące sterowniki: SterownikKomentarz oss sterownik OSS (ioctl, sprzętowa obsługa AC3) sdl sterownik SDL (obsługuje takie demony dźwięku jak: ESD i ARTS) nas sterownik NAS (Network Audio System) alsa5 rdzenny sterownik ALSA 0.5 alsa9 rdzenny sterownik ALSA 0.9 (sprzętowa obsługa AC3) sun rdzenny sterownik dźwięku SUN (/dev/audio) dla użytkowników BSD i Solarisa 8 macosx rdzenny sterownik MacOSX win32 rdzenny sterownik Win32 arts rdzenny sterownik ARTS (głównie dla użytkowników KDE) esd rdzenny sterownik ESD (głównie dla użytkowników GNOMEa) Sterowniki kart dźwiękowych przeznaczone dla Linuksa mają problemy związane z kompatybilnością. Dzieje się tak, ponieważ MPlayer korzysta z wbudowanych właściwości poprawnie napisanych sterowników dźwięku, które prawidłowo obsługują synchronizację audio/video. Niestety, niektórzy autorzy sterowników nie uwzględniają tej cechy, ponieważ nie jest ona potrzebna do odtwarzania efektów dźwiękowych i plików MP3. Inne odtwarzacze, takie jak: aviplay czy xine prawdopodobnie działają od razu z tymi sterownikami, ponieważ używają "prostych" metod synchronizacji korzystających z wewnętrznego zegara. Testy pokazały, że ich metody nie są tak wydajne jak MPlayera. Używanie MPlayera z poprawnie napisanym sterownikiem dźwięku, nigdy nie zaowocuje desynchronizacją A/V z powodu dźwięku, chyba że odtwarzany plik został utworzony w niewłaściwy sposób lub jest popsuty (na stronie man znajdziesz możliwe rozwiązania tego problemu). Jeśli masz kiepski sterownik dźwięku, spróbuj użyć opcji . Powinna ona rozwiązać Twój problem. Dokładniejsze informacje znajdziesz na stronie man. Kilka uwag: Jeśli posiadasz sterownik OSS, spróbuj najpierw opcji (domyślna). Jeżeli zauważysz niestabilne działanie systemu, jego ciągłe zawieszanie się lub inne dziwne zachowanie, wypróbuj (UWAGA: potrzebujesz zainstalowanych bibliotek i plików nagłówkowych SDL). Sterownik SDL pomaga w wielu wypadkach, a dodatkowo obsługuje ESD (GNOME) i ARTS (KDE). Jeżeli posiadasz sterowniki ALSA w wersji 0.5, prawie zawsze konieczne będzie użycie , ponieważ ich kod emulacji OSS jest wadliwy i spowoduje błąd MPlayera wyświetlając komunikat o treści podobnej do tej: DEMUXER: Za dużo (945 w 8390980 bajtach) pakietów video w buforze! (DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!) Na Solarisie konieczne jest użycie sterownika SUN przy pomocy opcji , w przeciwnym wypadku nie będzie działać ani audio, ani video. Jeśli dźwięk przerywany jest krótkimi trzaskami podczas odtwarzania z CD-ROMu, włącz odmaskowywanie przerwań, wpisując np. hdparm -u1 /dev/cdrom (man hdparm). Jest to bardzo przydatne i opisane bardziej szczegółowo w sekcji dotyczącej CD-ROMu. Doświadczenia związane z użytkowaniem kart dźwiękowych i zalecenia Przy stosowaniu Linuksa, zalecamy jądro z serii 2.4.x. Jądro w wersji 2.2 nie było testowane. Sterowniki kart dźwiękowych w Linuksie są dostarczane głównie przez wolną wersję OSS. Sterowniki te zostały zastąpione w wersji rozwojowej jądra 2.5 przez system ALSA (Advanced Linux Sound Architecture). Jeżeli Twoja dystrybucja nie używa jeszcze ALSA, możesz chcieć ją wypróbować, jeżeli będziesz miał jakieś kłopoty z dźwiękiem. Sterowniki ALSA generalnie przewyższają OSS pod względem zgodności, wydajności i możliwości, Jednak niektóre karty są obsługiwane wyłącznie przez komercyjną wersję OSS z witryny 4Front Technologies. Obsługuje ona również kilka innych systemów poza Linuksem. KARTA DŹWIĘKOWA STEROWNIK Maks. częstotliwość (kHz) Maks. liczba kanałów Maks. liczba aplikacji liczba aplikacji, które mogą jednocześnie używać urządzenia. OSS/Free ALSA OSS/Pro inne Zintegrowane karty VIA (686/A/B, 8233, 8235) via82cxxx_audio snd-via82xx 4-48 kHz lub wyłącznie 48 kHz, w zależności od układu Aureal Vortex 2 brak brak OK Sterowniki do Aureala dla Linuksa bufor zwiększony do 32k 48 4.1 5+ SB Live! Wyjście analogowe-OK, S/PDIF nie działa Oba działają Oba działają Sterowniki OSS Creative'a (obsługa S/PDIF) 192 4.0/5.1 32 SB 128 PCI (es1371) OK ? 48 stereo 2 SB AWE 64 max 44kHz źle brzmi na 48kHz 48 GUS PnP brak OK OK 48 Gravis UltraSound ACE Gravis UltraSound MAX OK OK (?) 48 ESS 688 OK OK (?) 48 Karty C-Media (CMI8338/8738) OK OK S/PDIF jest obsługiwane przez ALSA 0.9.x ? 44 stereo 1 Karty Yamaha (*ymf*) złe (?) (może ) Działa poprawnie tylko z ALSA 0.5 z włączoną emulacją OSS i (!) (?) Karty z układem envy24 (np. Terratec EWS88MT) ? ? OK ? PC Speaker lub DAC OK brak Sterowniki do PC speakera dla Linuksa (OSS) Sterownik emuluje 44.1, może więcej. mono 1 Pomoc przy tworzeniu tego dokumentu jest mile widziana. Powiedz jak MPlayer i Twoja karta dźwiękowa (karty dźwiękowe) współpracują razem. Filtry audio Stare wtyczki audio zostały wyparte przez nową warstwę filtrów dźwiękowych. Można ich używać do zmiany właściwości danych audio zanim dźwięk dotrze do karty. Ich uruchamianie i wyłączanie odbywa się przeważnie automatycznie, można to jednak zmienić. Filtry włączane są wtedy, gdy cechy dźwięku różnią się od tych wymaganych przez urządzenie audio, w przeciwnym wypadku procedura ta jest pomijana. Opcja używana jest do nadpisania automatycznych ustawień lub do zastosowania dodatkowych. Kolejność stosowania filtrów uzależniona jest od kolejności w ciągu oddzielonych od siebie przecinkami wartości. Przykład: mplayer -af resample,pan film.avi uruchomi dźwięk poprzez filtr zmieniający częstotliwość próbkowania (resample filter) a następnie poprzez filtr pan. Zauważ, że lista nie może zawierać żadnych spacji, inaczej zostanie błędnie zinterpretowana przez program. Filtry często posiadają opcje zmieniające ich zachowanie. Są one dokładniej opisane w sekcji poniżej. Jeżeli pominie się parametry, to filtr uruchomi się z ustawieniami domyślnymi. Poniżej przedstawiony jest przykład, jak używać filtrów wraz z ich opcjami: mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 film.avi ustawi częstotliwość wyjściową filtru zmieniającego próbkowanie (resample filter) na 11025Hz i zmiksuje dźwięk do jednego kanału używając filtru pan. Ogólną kontrolę nad warstwą filtrów daje opcja . Zawiera ona dwie dodatkowe opcje: jest polem bitowym, które określa jak filtry są stosowane i jakiej optymalizacji prędkości/dokładności używają: Użyj automatycznego stosowania filtrów i optymalizuj względem szybkości procesora. Użyj automatycznego stosowania filtrów i optymalizuj tak, aby osiągnąć największą prędkość. Uwaga: Niektóre możliwości filtrów audio mogą nie zadziałać i jakość dźwięku spadnie. Użyj automatycznego stosowania filtrów i optymalizuj pod kątem jak największej jakości. Nie używaj automatycznego stosowania filtrów i nie optymalizuj. Uwaga: Jeśli używasz tego ustawienia, możliwe jest wystąpienie błędów podczas działania MPlayera i jego zakończenie. Użyj automatycznego stosowania filtrów (tak jak dla 0), jednak użyj obliczeń zmiennoprzecinkowych, jeśli to możliwe. Użyj automatycznego stosowania filtrów (tak jak dla 1), jednak użyj obliczeń zmiennoprzecinkowych, jeśli to możliwe. Użyj automatycznego stosowania filtrów (tak jak dla 2), jednak użyj obliczeń zmiennoprzecinkowych, jeśli to możliwe. Użyj automatycznego stosowania filtrów (tak jak dla 3), jednak użyj obliczeń zmiennoprzecinkowych, jeśli to możliwe. jest aliasem dla opcji -af. Na zachowanie warstwy filtrów wpływają również niżej podane, standardowe opcje: Zwiększa poziom "gadatliwości" i sprawia, że większość filtrów drukuje dodatkowe komunikaty. Ustawia liczbę kanałów wyjściowych, których ma używać Twoja karta. Ma ona również wpływ na liczbę kanałów, które są dekodowane z nośnika danych. Jeśli zawiera on mniej kanałów, filtr kanałów (channels filter) zostanie automatycznie użyty (zobacz poniżej). Przekierowywanie kanałów będzie ustawione domyślnie. Ustawia częstotliwość próbkowania, której ma używać Twoja karta (oczywiście karty mają swoje ograniczenia). Jeżeli poziom próbkowania Twojej karty różni się od tego stosowanego w nośniku, zostanie włączony filtr zmieniający próbkowanie (resample filter, zobacz poniżej), aby zniwelować różnice. Ustawia format próbki pomiędzy filtrem audio a kartą dźwiękową. Jeżeli żądany format próbki dla karty jest inny niż format zawierający się w nośniku, zostanie zastosowany filtr formatu (format filter, zobacz poniżej), aby zniwelować różnice. Zmniejszenie/Zwiększenie częstotliwości próbkowania (Up/Downsampling) MPlayer w pełni obsługuje zmniejszanie/zwiększanie częstotliwości (up/downsampling) poprzez filtr zmieniający częstotliwość próbkowania - filter. Może on być użyty, jeżeli masz stałą częstotliwość na karcie, albo jeżeli nie jest ona w stanie obsłużyć więcej niż 44.1kHz. Filtr jest automatycznie uruchamiany, jeżeli jest to konieczne, ale może również zostać włączony z poziomu linii poleceń. Ma on trzy opcje: jest to liczba całkowita, używana do określenia wyjściowej częstotliwości próbkowania w Hz. Przyjmuje wartości z zakresu od 8kHz do 192kHz. Jeżeli częstotliwość wejściowa i wyjściowa są takie same albo jeżeli ten parametr jest pominięty, filtr jest wyłączany. Wysoka częstotliwość przeważnie zwiększa jakość dźwięku, szczególnie jeżeli filtr jest użyty wraz z innymi. jest dodatkowym parametrem binarnym, który pozwala na małą różnicę między częstotliwością wyjściową a tą podaną przez . Opcja ta może zostać użyta jeżeli początek odtwarzania jest bardzo wolny. Jest standardowo uruchomiony. jest dodatkową liczbą całkowitą z przedziału od 0 do 2, która wybiera metodę zmiany częstotliwości próbkowania. Tutaj 0 przedstawia interpolację liniową (linear interpolation), 1 reprezentuje metodę wielofazowego przetwarzania banku filtrów (poly-phase filter-bank processing) przy użyciu obliczeń całkowitoliczbowych, 2 do zmiany częstotliwości za pomocą wielofazowego przetwarzania banku filtrów (poly-phase filter-bank processing) i obliczeń zmiennoprzecinkowych. Interpolacja liniowa (linear interpolation) jest wyjątkowo szybka, jednak pogarsza jakość dźwięku szczególnie przy zwiększaniu częstotliwości (upsampling). Najlepszą jakość daje 2, ale metoda ta wymaga największej mocy obliczeniowej. Przykład: mplayer -af resample=44100:0:0 ustawi częstotliwość wyjściową filtru zmieniającego częstotliwość próbkowania (resample filter) na 44100Hz używając przy tym dokładnego skalowania częstotliwości wyjściowej oraz interpolacji liniowej (linear interpolation). Zmiana liczby kanałów Filtr kanałów ( filter) można użyć w celu dodania lub usunięcia kanałów, można go także użyć do kopiowania lub przekierowywania kanałów. Jest on automatycznie włączony, jeżeli wyjście warstwy audio filtrów różni się od wejściowego lub jeśli zażądano jego uruchomienia. Filtr wyłącza się sam, jeżeli nie jest używany. Liczba parametrów jest dynamiczna: jest to liczba całkowita z zakresu od 1 do 6, która ustawia liczbę kanałów wyjściowych. Ta opcja jest wymagana. Nie podanie jej spowoduje błąd uruchamiania (runtime error) programu. jest to liczba całkowita z zakresu od 1 do 6, która używana jest do określenia liczby dróg przekierowania. Parametr ten jest opcjonalny. Jeżeli jest pominięty, stosowane jest domyślne przekierowanie. to pary liczb pomiędzy 0 a 5, które określają gdzie poszczególne kanały mają być przekierowywane. Jeżeli podana jest tylko opcja , filtr używa domyślnego przekierowywanie, które działa następująco: Jeśli liczba kanałów wyjściowych jest większa niż wejściowych, tworzone są puste kanały (w przypadku miksowania z mono do stereo, kanał mono jest powtarzany w obu kanałach wyjściowych). Jeżeli liczba kanałów wyjściowych jest mniejsza niż wejściowych, nadmiarowe kanały są usuwane. Przykład 1: mplayer -af channels=4:4:0:1:1:0:2:2:3:3 film.avi zmieni liczbę kanałów na 4 i ustawi 4 drogi przekierowywania, które zamieniają kanał 1 z 0, a 2 i 3 pozostawiają bez zmian. Zauważ, że jeżeli odtwarzany był nośnik zawierające 2 kanały, to kanały 2 i 3 będą puste, ale 0 i 1 nadal będą zamienione. Przykład 2: mplayer -af channels=6:4:0:0:0:1:0:2:0:3 film.avi zmieni liczbę kanałów na 6 i ustawi 4 drogi przekierowywania, które skopiują kanał 0 do 0 i 3. Kanały 4 i 5 będą puste. Konwerter formatu próbek (sample format converter) Filtr formatu ( filter) przekształca jedne formaty próbek w inne. Jest uruchamiany automatycznie, jeśli tylko jest wymagany przez kartę lub inny filtr dźwiękowy. może mieć wartość 1, 2 lub 4, określa liczbę bajtów przypadającą na próbkę. Parametr ten jest wymagany. Nie podanie go spowoduje błąd uruchamiania (runtime error). jest ciągiem znaków określającym format próbki. Ciąg jest kombinacją: , lub , lub , lub , lub (little lub big endian). Opcja ta jest wymagana. Jej nie podanie, spowoduje błąd podczas uruchamiania (runtime error). Przykład: mplayer -af format=4:float film.avi ustawi format wyjściowy na 4 bajty danych zmiennoprzecinkowych przypadających na próbkę. Opóźnienie (delay) Filtr opóźniający ( filter) opóźnia dźwięk zmierzający do głośników, tak żeby strumienie dźwiękowe z różnych kanałów dotarły do nich jednocześnie. Jest to użyteczne, jeżeli masz więcej niż 2 głośniki. Filtr ma kilka opcji: są liczbami rzeczywistymi określającymi opóźnienie w milisekundach, które powinno być zastosowane do każdego kanału. Minimalna wartość to 0ms a maksymalna to 1000ms. Aby obliczyć opóźnienie dla poszczególnych kanałów, wykonaj następuje czynności: Oblicz odległość od głośników do pozycji słuchacza (w metrach), to da Ci wartości od s1 do s5 (dla systemu 5.1). Nie ma sensu brać pod uwagę subwoofera (i tak nie usłyszysz różnicy). Odejmij odległość od s1 do s5 od odległości maksymalnej tzn. s[i] = max(s) - s[i]; i = 1...5 Oblicz opóźnienia w następujący sposób d[i] = 1000*s[i]/342; i = 1...5 Przykład: mplayer -af delay=10.5:10.5:0:0:7:0 film.avi opóźni lewy i prawy przedni głośnik o 10.5ms, dwa tylne i subwoofer o 0ms a centralny o 7ms. Programowa regulacja głośności (software volume control) Programowa regulacja głośności (software volume control) jest obsługiwana poprzez filtr głośności ( filter). Używaj go ostrożnie, gdyż może obniżyć stosunek sygnału do szumu. W większości wypadków najlepszym rozwiązaniem jest ustawienie miksera PCM na maksymalną wartość, wyłączenie filtru i regulacja głośności poziomem głośności ogólnej miksera. Jeżeli Twoja karta ma cyfrowy mikser PCM zamiast analogowego i zauważysz przekłamania, użyj miksera MASTER. Jeżeli do komputera podłączony jest zewnętrzny wzmacniacz (co zazwyczaj ma miejsce), poziom hałasu może zostać zredukowany poprzez dostrojenie głównego poziomu głośności (master level) i pokrętła głośności, dopóki syczenie w tle nie ustanie. Filtr ma dwie opcje: jest liczbą rzeczywistą pomiędzy -200 a +60, która przedstawia poziom głośności w dB. Domyślny poziom to 0dB. jest binarną wartością która włącza lub wyłącza miękkie obcinanie (soft-clipping). Miękkie obcinanie (soft-clipping) może sprawić, że dźwięk będzie łagodniejszy, jeżeli wysokie poziomy dźwięku są użyte. Uaktywnij tę opcję, jeżeli moc głośników jest zbyt niska. Zwróć uwagę, że ta metoda powoduje przekłamania i powinna być używana tylko w ostateczności. Przykład: mplayer -af volume=10.1:0 film.avi wzmocni dźwięk o 10.1dB i zastosuje metodę twardego obcinania (hard-clip), jeżeli poziom dźwięku jest za wysoki. Ten filtr ma drugą właściwość: Mierzy ogólny, maksymalny poziom dźwięku i wypisuje go po zakończeniu MPlayera. Oszacowana głośność może być użyta do ustawienia poziomu dźwięku w MEncoderze tak, żeby maksymalny zasięg dynamiczny był możliwy do osiągnięcia. Korektor (equalizer) Filtr korektora ( filter) to 10 oktawowy korektor graficzny zaimplementowany przy pomocy 10 filtrów pasmowych IIR. Oznacza to, że działa bez względu na format odtwarzanego dźwięku. Środkowe częstotliwości dla tych 10 pasm to: Numer pasmaCzęstotliwość środkowa 031.25 Hz 162.50 Hz 2125.0 Hz 3250.0 Hz 4500.0 Hz 51.000 kHz 62.000 kHz 74.000 kHz 88.000 kHz 916.00 kHz Jeżeli częstotliwość próbkowania odtwarzanego dźwięku jest niższa niż środkowa częstotliwość dla odpowiedniego pasma, to jest ono wyłączane. Znanym błędem jest to, że właściwości dla najwyższego pasma nie są całkowicie symetryczne, jeżeli częstotliwość próbki jest zbliżona do częstotliwości środkowej danego pasma. Można obejść ten problem zwiększając jej częstotliwość (up-sampling), zanim ta dotrze do filtru korektora (equalizer filter). Filtr ma 10 parametrów: są liczbami rzeczywistymi z przedziału od -12 do +12, określającymi przyrost dB dla każdego pasma częstotliwości. Przykład: mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 film.avi wzmocni dźwięk w wyższych i niższych zakresach częstotliwości, wyciszając go prawie całkowicie około 1kHz. Filtr pan (panning filter) Użyj filtru pan ( filter), żeby dowolnie miksować kanały. Najprościej tłumacząc jest to połączenie programowej regulacji głośności (software volume control) i filtru kanałów (channels filter). Istnieją dla niego 2 podstawowe zastosowania: Miksowanie wielu kanałów w mniejszą liczbę, na przykład stereo do mono. Zmienianie "szerokości" centralnego głośnika w systemie przestrzennym. Filtr jest trudny w użyciu i będzie wymagał zastosowania żmudnej metody prób i błędów, zanim zostanie osiągnięty oczekiwany rezultat. Liczba parametrów filtru zależy od liczby kanałów: jest liczbą całkowitą z przedziału od 1 do 6 i jest używana w celu określenia liczby kanałów wyjściowych. Opcja ta jest wymagana. Nie podanie jej spowoduje błąd uruchamiania (runtime error). są liczbami rzeczywistymi z przedziału od 0 do 1. ustala ile procent kanału wejściowego j ma być zmiksowanych do kanału wyjściowego i. Przykład 1: mplayer -af pan=1:0.5:0.5 -channels 1 film.avi zmiksuje kanały ze stereo do mono. Przykład 2: mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 film.avi da 3 kanał wyjściowy, zostawiając 0 i 1 nietknięte i miksując kanały 0 i 1 do 2 kanału wyjściowego (który może być na przykład wysłany do subwoofera). Subwoofer Filtr subwoofera ( filter) dodaje kanał subwoofera do strumienia audio. Dane audio użyte do stworzenia tego kanału są średnią dźwięku w 0 i 1 kanale. Dźwięk wynikowy zostanie poddany działaniu dolnoprzepustowego filtru Butterwortha czwartego rzędu (4th order Butterworth filter) z domyślną częstotliwością graniczną na poziomie 60Hz i dodany do oddzielnego kanału w strumieniu audio. Uwaga: Wyłącz ten filtr, jeżeli odtwarzasz DVD z dźwiękiem w systemie Dolby Digital 5.1, w przeciwnym wypadku, jego działanie zakłóci dźwięk subwoofera. Filtr ma 2 parametry: jest opcjonalną liczbą rzeczywistą, używaną do określenia wartości częstotliwości granicznej w Hz. Prawidłowy zakres wynosi od 20Hz do 300Hz. Dla uzyskania najlepszego rezultatu, spróbuj ustawić ją na jak najniższą. Wzbogaci to doświadczenia płynące z używania dźwięku stereo i w systemie przestrzennym. Domyślną wartością jest 60Hz. jest opcjonalną liczbą całkowitą pomiędzy 0 a 5, która określa numer kanału, do którego ma zostać wysłany dźwięk subwoofera. Domyślnym jest 5. Zauważ, że liczbą kanałów zwiększy się do ch, jeżeli zajdzie taka potrzeba. Przykład: mplayer -af sub=100:4 -channels 5 film.avi doda kanał subwoofera z częstotliwością graniczną równą 100Hz do 4 kanału wyjściowego. Dekoder dźwięku przestrzennego (Surround-sound decoder) Macierzowo zakodowany dźwięk przestrzenny, może być zdekodowany filtrem przestrzennym ( filter). Dolby Surround jest przykładem formatu zakodowanego macierzowo. Wiele plików zawierających 2 kanały audio, w rzeczywistości zawiera dźwięk przestrzenny zakodowany w tym systemie. Aby użyć tego filtru potrzebujesz karty z obsługą przynajmniej 4 kanałów. Filtr posiada jedną opcję: jest opcjonalną liczbą rzeczywistą pomiędzy 0 a 1000, używaną do ustawienia opóźnienia w ms dla tylnych głośników. Opóźnienie powinno być ustawione w następujący sposób: jeśli d1 to odległość od pozycji słuchacza do przednich głośników a d2 to odległość od tylnych głośników, to opóźnienie d powinno być ustawione na 15ms, jeżeli d1 <= d2 i 15 + 5*(d1-d2) jeżeli d1 > d2. Domyślna wartość dla d to 20ms. Przykład: mplayer -af surround=15 -channels 4 film.avi doda dźwięk przestrzenny dekodując dźwięk dla tylnych głośników z opóźnieniem 15ms. Audio Exporter Ten filtr audio eksportuje nadchodzący sygnał do innych procesów, używając mapowania pamięci (mmap()). Zmapowane obszary zawierają nagłówek: int nch /*ilość kanałów*/ int size /*rozmiar bufora*/ unsigned long long counter /*Używany do zachowania synchronizacji, aktualizowany za każdym razem kiedy eksportowane są nowe dane.*/ Reszta to 16-bitowe dane (bez przeplotu). Plik, do którego chcesz eksportować. Domyślnie jest to ~/.mplayer/mplayer-af_export. Ilość próbek przypadających na kanał. Domyślnie jest to 512. Przykład: mplayer -af export=/tmp/mplayer-af_export:1024 film.avi wyeksportuje 1024 próbek na kanał do /tmp/mplayer-af_export. Wtyczki Audio (odradzane) Wtyczki audio zostały zastąpione przez filtry audio i wkrótce zostaną usunięte. MPlayer ma obsługę wtyczek audio. Mogą one być użyte do zmiany właściwości danych audio, zanim dźwięk dotrze do karty. Włącza je się poprzez opcję , która przyjmuje argumenty w postaci . Argument jest wymagany i określa, które wtyczki powinny zostać użyte i w jakiej kolejności. Przykład: mplayer film.avi -aop list=resample,format przepuści dźwięk przez wtyczkę zmieniającą częstotliwość próbkowania (resampling plugin) a następnie wtyczkę formatu (format plugin). Wtyczki również posiadają parametry, które zmieniają ich zachowanie. Opisane są one dokładniej w sekcji poniżej. Wtyczka uruchomi się z domyślnymi wartościami, jeżeli pominiemy jej opcje. Poniżej podany jest przykład użycia wtyczek i ich specyficznych ustawień: mplayer film.avi -aop list=resample,format:fout=44100:format=0x8 ustawi częstotliwość wyjściową dla wtyczki zmieniającej częstotliwość próbkowania (resample plugin) na 44100 Hz i format wyjściowy wtyczki formatu (format plugin) na AFMT_U8. Obecnie wtyczki audio nie mogą zostać użyte w MEncoderze. Zwiększanie/Zmniejszanie częstotliwości próbkowania (up/downsampling) MPlayer w pełni obsługuje zmniejszanie/zwiększanie częstotliwości próbkowania (up/downsampling) dźwięku. Wtyczka ta może być użyta, jeżeli masz kartę ze stałą częstotliwością lub posiadasz kartę, która nie jest w stanie obsłużyć więcej niż 44.1 kHz. Ograniczenia Twojego sprzętu nie są automatycznie wykrywane, więc musisz wyraźnie podać częstotliwość. Wtyczka ma jeden przełącznik: , który używany jest do ustawiania żądanej częstotliwości wyjściowej. Domyślną wartością jest 48 kHz i podawana jest w Hz. Sposób użycia: mplayer film.avi -aop list=resample:fout=freq gdzie freq jest częstotliwością w Hz, jak 44100. Częstotliwość wyjściową nie powinna być wyższa niż wartość domyślna. Spowoduje to odtwarzanie strumieni audio i video w zwolnionym tempie oraz zakłócenia dźwięku. Dekodowanie dźwięku przestrzennego MPlayer posiada wtyczkę, która umożliwia dekodowanie macierzowo zakodowanego dźwięku przestrzennego. Dolby Surround jest przykładem takiego formatu. Wiele plików zawierających 2 kanały audio w rzeczywistości zawiera dźwięk przestrzenny zakodowany macierzowo. Aby skorzystać z tej właściwości potrzebujesz karty z obsługą przynajmniej 4 kanałów. Sposób użycia: mplayer film.avi -aop list=surround Konwerter formatu próbek (sample format converter) Jeżeli Twój sterownik do karty dźwiękowej nie obsługuje 16-bitowego typu danych ze znakiem, wtyczka ta może być użyta do jego zmiany na format zrozumiały dla karty. Posiada jeden parametr - , który może być ustawiony na jedną z wartości umieszczonych w libao2/afmt.h. Wtyczka ta jest raczej rzadko potrzebna i jest przeznaczona dla zaawansowanych użytkowników. Mniej na uwadze, że zmienia ona tylko format próbki a nie jej częstotliwość czy ilość kanałów. Sposób użycia: mplayer film.avi -aop list=format:format=outfmt gdzie outfmt to wymagany format próbki. Opóźnianie Wtyczka opóźnia dźwięk i jest przykładem tego, jak tworzyć nowe wtyczki. Nie ma dla niej żadnego sensownego zastosowania z punktu widzenia użytkownika i wspomniałem tylko o niej ze względu na kompletność tej dokumentacji. Nie używaj tej wtyczki, chyba że jesteś deweloperem. Programowa regulacja głośnością (software volume control) Wtyczka jest programowym odpowiednikiem regulacji głośnością i może być używana na maszynach z uszkodzonym urządzeniem miksującym. Może być również przydatna, jeżeli ktoś chce zmienić poziom wyjściowy głośności w MPlayerze bez zmiany ustawień PCM w mikserze. Ma jeden parametr - , który służy do ustawienia początkowej głośności. Może przyjmować wartości pomiędzy 0 a 255. Wartością domyślna jest 101, co odpowiada wzmocnieniu równemu 0dB. Używaj tej wtyczki ostrożnie, gdyż możesz obniżyć stosunek sygnału do szumu. W większości wypadków najlepszym rozwiązaniem jest ustawienie miksera PCM na maksymalną wartość i, zamiast wtyczką, regulować głośność przy pomocy głośników. Jeżeli do komputera podłączony jest zewnętrzny wzmacniacz (a zazwyczaj jest), poziom hałasu może zostać zredukowany poprzez dostrojenie głównego poziomu głośności (master level) i pokrętła głośności, dopóki syczenie w tle nie ustanie. Sposób użycia: mplayer film.avi -aop list=volume:volume=0-255 Wtyczka ma również kompresor lub zdolność do miękkiego obcinania (soft-clipping). Kompresja może być użyta, jeżeli dynamika dźwięku jest bardzo wysoka lub jeżeli moc głośników jest zbyt niska. Bądź ostrożny, ponieważ ta funkcja powoduje zakłócenia dźwięku i powinna być użyta w ostateczności. Sposób użycia: mplayer film.avi -aop list=volume:softclip Extrastereo Wtyczka (liniowo) zwiększa różnicę pomiędzy lewym a prawym kanałem (jak wtyczka extrastereo w XMMS), co dodaje efekt "na żywo" do odtwarzanego dźwięku. Sposób użycia: mplayer film.avi -aop list=extrastereo mplayer film.avi -aop list=extrastereo:mul=3.45 Współczynnikiem () jest liczba rzeczywista, której wartość domyślna to 2.5. Jeżeli ustawisz go na 0.0, otrzymasz dźwięk mono (średnia obu kanałów). Jeśli na 1.0, nic się nie zmieni, a jeśli na -1.0, lewy i prawy kanał zostaną zamienione. Normalizator głośności (volume normalizer) Wtyczka ustawia maksymalny poziom dźwięku, bez powodowania zakłóceń. Sposób użycia: mplayer film.avi -aop list=volnorm