7.2. Audiocodecs

Die allerwichtigsten Audiocodecs:

7.2.1. Software-AC3-Decoder

Das ist der Standarddecoder für Dateien, die AC3-Audio enthalten.

Der AC3-Decoder kann Audio für zwei, vier oder sechs Lautsprecher ausgeben. Wenn er für sechs Lautsprecher konfiguriert wurde, stellt der Decoder dem Audiotreiber alle Kanäle separat zur Verfügung und erlaubt so volle "Surround"-Erfahrung ohne einen externen AC3 Decoder, der gebraucht wird, um hwac3 zu benutzen.

Benutze die Option -channels, um die Anzahl der Kanäle anzugeben. Mit -channels 2 wird Stereo-Klang erzeugt. Für eine 4-Kanal-Ausgabe (links vorne, rechts vorne, links Surround und rechts Surround) verwende -channels 4. In diesem Fall wird der Kanal Center gleichmäßig auf die vorderen Kanäle verteilt. -channels 6 gibt alle AC3-Kanäle aus, wie sie codiert wurden - in der Reihenfolge links vorne, rechts vorne, links Surround, rechts Surround, Center und LFE.

Standard sind zwei Ausgabekanäle.

Um mehr als zwei Ausgabekanäle verwenden zu können, muss OSS verwendet werden, und die Soundkarte muss die entsprechende Anzahl an Kanälen mittels ioctl SNDCTL_DSP_CHANNELS unterstützen. Ein funktionierender Treiber ist emu10k1 (wird für Soundblaster Live! Karten benutzt) seit August 2001 (Neuere ALSA-Versionen sollten auch funktionieren).

7.2.2. Hardware-AC3-Decoder

Benötigt wird eine AC3 fähige Soundkarte mit einem Digitalausgang (S/PDIF). Der Treiber der Karte muss das AFMT_AC3 Format korrekt unterstützen (wie z.B. C-Media). Verbinde dann den Hardware AC3 Decoder mit dem S/PDIF Ausgang und benutze -ac hwac3. Die Unterstützung ist experimentell, funktioniert aber z.B. mit C-Media Karten und Soundblaster Live! mit ALSA (aber nicht OSS) Treibern, sowie mit DXR3/Hollywood+ MPEG Decoder Karten.

7.2.3. Unterstützung für libmad

libmad ist eine Integer-MPEG-Audiodecoder-Bibliothek für mehrere Plattformen, die intern mit 24-bittigem PCM arbeitet. Sie funktioniert nicht sehr gut mit beschädigten Dateien und hat manchmal Probleme mit Sprüngen (seeks), kann aber auf Platformen ohne FPU (z.B. ARM) schneller sein als mp3lib.

Wenn libmad bei dir korrekt installiert ist, wird ./configure dies bemerken, und Unterstützung für MPEG-Audiodecodierung via libmad wird automatisch eingebaut.

7.2.4. Hardware-MPEG-Audiodecoder

Dieser Codec (ausgewählt durch -ac hwmpa) reicht MPEG-Audiopakete an Hardwaredecoder durch, wie sie z.B. auf voll ausgestatteten DVB-Karten und DXR2-Adaptern existieren. Es bringt nichts, ihn mit einem anderen Gerät (wie z.B. OSS und ALSA) zu verwenden - das führt lediglich zu Rauschen.

7.2.5. AAC Codec

AAC (Advanced Audio Coding) ist ein Audiocodec, der vorwiegend in MOV- und MP4-Dateien vorkommt. Ein Open-Source-Decoder namens FAAD ist auf http://www.audiocoding.com verfügbar. MPlayer enthält eine CVS Version von libfaad 2.1 beta, so dass es nicht extra installiert werden muss.

Um die externe FAAD-Bibliothek verwenden zu können (z.B. um mit gcc 3.2 compilieren zu können, der die interne Version nicht übersetzt), muss die Bibliothek von der Download Seite heruntergeladen und installiert werden. Anschließend muss die Option --enable-faad-external an ./configure übergeben werden, damit die externe Bibliothek erkannt wird. Es ist lediglich erforderlich, vorher libfaad zu installieren, und zwar so:

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

Binärpakete sind auf audiocoding.com nicht erhältlich, Debian-Pakete können aber mit (apt-)get von Christian Marillat's Homepage, Mandrake/Mandriva RPMs von P.L.F und RedHat RPMs von Grey Sector heruntergeladen werden.

7.2.6. AMR Codecs

Adaptive Multi-Rate Sprachcodec, wird in 3G (UMTS) Mobiltelephonen verwendet. Die Referenzimplementierung ist auf The 3rd Generation Partnership Project erhältlich (frei - wie in Freibier - für private Benutzung). Um die Unterstützung zu aktiveren, lade die Bibliotheken für AMR-NB and AMR-WB runter und installiere sie, indem du die Anweisungen auf dieser Seite befolgst. Compiliere MPlayer danach erneut.

Für Unterstützung müssen die Codecs AMR-NB und AMR-WB heruntergeladen und in dasselbe Verzeichnis wie MPlayer verschoben werden. Anschließend folgende Befehle ausführen:

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

Befolge danach einfach das Standardvorgehen für die Compilierung von MPlayer.