Najważniejsze ze wszystkich kodeków audio:
MPEG layer 1/2/3 (MP1/2/3) audio (natywny kod, z optymalizacją dla MMX/SSE/3DNow!)
Windows Media Audio 7 i 8 (AKA WMAv1 i WMAv2)
(natywny kod, z
libavcodec
)
Windows Media Audio 9 (WMAv3) (poprzez DLL DMO)
AC3 Dolby audio (natywny kod, z optymalizacją MMX/SSE/3DNow!)
przetwarzanie AC3 przez kartę dźwiękową
AAC
kodek Ogg Vorbis audio (natywna biblioteka)
RealAudio: DNET (AC3 z niskim bitratem), Cook, Sipro i ATRAC3
QuickTime: kodeki Qualcomm i QDesign
VIVO audio (g723, Vivo Siren)
Voxware audio (poprzez DirectShow DLL)
formaty alaw i ulaw, różne gsm, adpcm i pcm i inne stare, proste kodeki audio
kodeki mowy Adaptive Multi-Rate (AMR)
To jest domyślny dekoder używany przez pliki z dźwiękiem AC3.
Dekoder AC3 może wytworzyć wyjście audio zmiksowane dla 2, 4 lub 6 głośników. Kiedy skonfigurowany jest dla 6 głośników, dekoder dostarcza do sterownika karty dźwiękowej osobne wyjście dla każdego kanału AC3, pozwalając doświadczyć pełnego "dźwięku przestrzennego" bez potrzeby użycia zewnętrznego dekodera AC3 wymaganego przez kodek hwac3.
Użyj opcji -channels aby wybrać liczbę wyjściowych kanałów. Użyj -channels 2 do uzyskania dźwięku stereo. Dla czterokanałowego dźwięku (wyjścia Lewe Przednie, Prawe Przednie, Lewe Surround i Prawe Surround), użyj -channels 4. W tym przypadku, wszystkie centralne kanały zostaną zmiksowane do odpowiadających im przednich kanałów. Natomiast -channels 6 wyprodukuje wszystkie kanały AC3 tak jak zostały zakodowane - w kolejności Lewy, Prawy, Lewy Surround, Prawy Surround, Centralny i LFE.
Domyślną liczbą kanałów wyjściowych jest 2.
Aby użyć więcej niż dwóch wyjściowych kanałów, będziesz potrzebował OSS i karty dźwiękowej obsługującej odpowiednią ilość wyjściowych kanałów poprzez SNDCTL_DSP_CHANNELS ioctl. Przykładem odpowiedniego sterownika jest emu10k1 (używany przez karty Soundblaster Live!) z sierpnia 2001 roku, albo nowszy (przypuszczalnie działa także ALSA CVS).
Potrzebna jest karta obsługująca AC3, z cyfrowym wyjściem (S/PDIF). Sterownik musi prawidłowo obsługiwać format AFMT_AC3 (robi to C-Media). Podłącz swój dekoder AC3 do wyjścia S/PDIF i użyj opcji -ac hwac3. Rozwiązanie to jest ciągle w fazie testów, ale wiadomo, że działa z kartami C-Media i Soundblaster Live! + sterowniki ALSA (ale nie z OSS) i kartami dekodującymi DXR3/Hollywood+ MPEG.
libmad
jest wieloplatformową, stałoprzecinkową (wewnętrznie 24-bitowe PCM) biblioteką
dekodującą dźwięk MPEG.
Nie odtwarza zbyt dobrze uszkodzonych plików i czasami ma problemy
z przewijaniem, ale na platformach bez jednostki zmiennoprzecinkowej (FPU),
czyli na przykład ARM,
może mieć lepszą wydajność niż mp3lib.
Jeśli masz prawidłowo zainstalowaną bibliotekę
libmad
, ./configure
zauważy to i automatycznie zostanie zbudowana obsługa dekodowania dźwięku MPEG
przy użyciu libmad
.
Ten kodek (wybierany poprzez -ac hwmpa) przepuszcza pakiety MPEG audio do sprzętowego dekodera takiego, jak ten, który można znaleźć w pełni wyposażonych kartach DVB i adapterach DXR2. Nie używaj ich w połączeniu z żadnymi innymi wyjściowymi urządzeniami audio (np. OSS i ALSA), bo nie będzie to działało (będziesz słyszeć tylko szum).
AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach MOV i MP4. Otwarty dekoder nazywany FAAD dostępny jest na stronie http://www.audiocoding.com. MPlayer zawiera migawkę CVS z libfaad 2.1beta, więc nie musisz ściągać go oddzielnie.
Jeżeli używasz gcc 3.2, który ma kłopoty z kompilacją wbudowanej wersji FAAD lub chcesz z jakichś powodów użyć zewnętrznej biblioteki, ściągnij ją z tej strony i dodaj opcję --enable-external-faad do ./configure. Nie potrzebujesz całego faad2 do dekodowanie plików AAC. Wystarczy użyć samej biblioteki libfaad. Zbudujesz ją w następujący sposób
cd faad2/ sh bootstrap ./configure cd libfaad make make install
Wersje binarne nie są dostępne na stronie audiocoding.com, ale możesz ściągnąć (apt-getem) Debianowe paczki ze strony domowej Christiana Marillata, RPM-y dla Mandrake/Mandriva ze strony P.L.F, a RPM-y dla Fedory z Livna.
Kodeki mowy Adaptive Multi-Rate są używane w telefonii komórkowej trzeciej generacji (3G). Opis implementacji udostępniany jest przez The 3rd Generation Partnership Project (za darmo dla osób prywatnych).
Żeby uaktywnić obsługę kodeków, pobierz źródła kodeków AMR-NB i AMR-WB, umieść je w katalogu do którego rozpakowałeś źródła MPlayera i wpisz następujące komendy:
unzip 26104-610.zip unzip 26104-610_ANSI_C_source_code.zip mv c-code libavcodec/amr_float unzip 26204-600.zip unzip 26204-600_ANSI-C_source_code.zip mv c-code libavcodec/amrwb_float
Gdy już to zrobisz, kontynuuj budowanie MPlayera tak, jak zwykle.