7.2. Аудио кодеки
Пред. | Глава 7. Поддерживаемые кодеки | След.

## 7.2. Аудио кодеки

Наиболее важными аудио кодеками среди всех являются:

- MPEG layer 1/2/3 (MP1/2/3) аудио (родной код, с MMX/SSE/3DNow! оптимизацией)
- Windows Media Audio 7 и 8 (они же WMAv1 и WMAv2) (родной код, с `libavcodec`)
- Windows Media Audio 9 (WMAv3) (используя DMO DLL)
- AC3 Dolby аудио (родной код, с MMX/SSE/3DNow! оптимизацией)
- AC3 пропускаемый через звуковое оборудование
- AAC
- Ogg Vorbis аудио кодек (родная библиотека)
- RealAudio: DNET (AC3 с низким битпотоком), Cook, Sipro и ATRAC3
- QuickTime: Qualcomm и QDesign аудио кодеки
- VIVO аудио (g723, Vivo Siren)
- Voxware аудио (используя DirectShow DLL)
- alaw и ulaw, различные gsm, adpcm и pcm форматы и другие простые старые аудио кодеки
- Adaptive Multi-Rate (AMR) речевые кодеки

### 7.2.1. Программное декодирование AC3

Это декодер, используемый, по умолчанию, для файлов с AC3 аудио

Декодер AC3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок. Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный вывод всех AC3 каналов звуковому драйверу, позволяя получить "звук вокруг" без внешнего AC3 декодера, необходимого для использования hwac3 кодека.

Используйте опцию `-channels`, чтобы выбрать количество каналов при выводе. Используйте `-channels 2` для микширования до стерео. Для микширования до 4 каналов (Левый Передний, Правый Передний, Левый Задний и Правый Задний выводы), используйте `-channels 4`. В этом случае все центральные каналы будут равномерно смикшированы до уровня передних каналов. `-channels 6` будет выводить все AC3 каналы так, как они закодированы - по порядку: Левый, Правый, Левый Задний, Правый Задний, Центральный и Сабвуфер.

Количество каналов по умолчанию - 2.

Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать карточкой, поддерживающей необходимое количество каналов через ioctl SNDCTL_DSP_CHANNELS. Примером подходящего драйвера является emu10k1 (используется для Soundblaster Live! карточек) августа 2001'го или новее (ALSA CVS тоже должен работать).

### 7.2.2. Аппаратное декодирование AC3

Вам нужна AC3-совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты должен должным образом поддерживать AFMT_AC3 формат (например C-Media). Подсоедините AC3 декодер к S/PDIF выводу и используйте опцию `-ac hwac3`. Это экспериментальная возможность, но известно, что это работает с C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и картами MPEG декодирования DXR3/Hollywood+.

### 7.2.3. Поддержка libmad

libmad - это многоплатформенная, целочисленная (внутренне 24'битный PCM) библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые файлы и иногда у неё бывают проблемы с перемещением по файлу, но она может быть производительнее mp3lib на платформах без FPU (таких как ARM).

Если libmad у вас установлена, `configure` сообщит об этом, и поддержка декодирования MPEG аудио с помощью `libmad` будет включена автоматически.

### 7.2.4. Аппаратный MPEG аудио кодек

Этот кодек (выбираемый по -ac hwmpa) передает все аудио пакеты MPEG аппаратным декодерам, таким как установленные в полнофункциональных DVB картах и DXR2 адаптерах. Не используйте его с другими драйверами вывода звука (такими как OSS и ALSA), которые не способны аппаратно декодировать (вы усышите только белый шум).

### 7.2.5. AAC кодек

AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4 файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с http://www.audiocoding.com. MPlayer включает в себя CVS версию libfaad 2.1 beta, поэтому Вам ничего не нужно дополнительно скачивать.

Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD, или просто хотите использовать внешнюю библиотеку, скачаете её с страницы загрузок и укажите `configure` `--enable-faad-external`. Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad. Вот как Вы можете её собрать:

    cd faad2/
    sh bootstrap
    ./configure
    cd libfaad
    make
    make install

Бинарники отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian пакеты с домашней страницы Christian Marillat, Mandrake RPM'ники с P.L.F и RedHat RPM'ники с Grey Sector.

### 7.2.6. AMR кодеки

Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G). Исходная реализация доступна с The 3rd Generation Partnership Project (бесплатна для личного использования).

Чтобы включить поддержку, скачайте исходники для AMR-NB и AMR-WB кодеков, поместите их в каталог, где распакованы исходники MPlayer и выполните следующие команды:

    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

После этого следуйте обычной процедуре сборки MPlayer.

Пред. | Уровень выше | След.
7.1. Видео кодеки | Начало | 7.3. КАК извлечь кодек из Win32