7.2. Kodeki audio
Poprzedni | Rozdział 7. Obsługiwane kodeki | Następny

## 7.2. Kodeki audio

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)

### 7.2.1. Programowe dekodowanie AC3

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 kartę dźwiękową ze wsparciem dla odpowiedniej liczby 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).

### 7.2.2. Sprzętowe dekodowanie AC3

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.

### 7.2.3. obsługa libmad

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 może mieć lepszą wydajność niż mp3lib na platformach ze słabszymi FPU (jednostka do wykonywania obliczeń zmiennoprzecinkowych-przyp. tłumacza) (jak np. ARM).

Aby włączyć obsługę biblioteki, podczas kompilacji użyj opcji `--enable-mad` przy wywoływaniu configure.

### 7.2.4. sprzętowy kodek MPEG audio

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 audo (np. OSS i ALSA), bo nie będzie to działało (będziesz słyszeć tylko szum).

### 7.2.5. VIVO audio

Rodzaj kodeka audio używanego w plikach VIVO zależy od tego, czy jest to plik VIVO/1.0, czy VIVO/2.0. Pliki VIVO/1.0 mają dźwięk w formacie g.723, a pliki VIVO/2.0 w formacie Vivo Siren. Obsługiwane są oba typy.

### 7.2.6. RealAudio

MPlayer potrafi dekodować prawie wszystkie wersje RealAudio:

- RealAudio DNET - dekodowanie poprzez `liba52`
- RealAudio Cook/Sipro/ATRAC3 - dekodowanie z użyciem bibliotek RealPlayer

Instrukcje dotyczące sposobu instalacji bibliotek RealPlayer znajdują się w dziale RealVideo.

### 7.2.7. kodeki QDesign

Format dźwięku QDesign (fourcc:QDMC, QDM2) wykorzystywany jest w plikach MOV/QT. Obie wersje tych kodeków mogą być odtwarzane za pomocą bibliotek QuickTime. Instrukcje instalacji znajdują się w dziale kodek Sorenson video.

### 7.2.8. kodeki Qualcomm

Dźwięk w formacie Qualcomm (fourcc:Qclp) używany jest w plikach MOV/QT. Może być dekodowany z użyciem bibliotek QuickTime. Instrukcje instalacji znajdują się w dziale kodeka video Sorenson.

### 7.2.9. AAC codec

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 z domowej strony Christiana Marillata, RPM-y dla Mandrake/Mandriva ze strony P.L.F. a RedHatowe RPM-y z Grey Sector.

### 7.2.10. kodeki AMR

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.

Poprzedni | Początek rozdziału | Następny
7.1. Kodeki Video | Spis treści | 7.3. importowanie kodeków Win32-HOWTO