Codec

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Als Codec (Kunstwort aus engl. "coder" und "decoder") wird ein Verfahren bzw. eine Programmbibliothek bezeichnet, die Daten oder Signale digital kodiert und dekodiert. Beim direkten Umwandeln von einem Format in ein anderes (z. B. MPEG-2 zu MPEG-4 oder WAV zu MP3) spricht man auch von Transkodierung. Grundsätzlich wird zwischen Audiocodecs zum Kodieren- und Dekodieren von Audiodaten und zwischen Videocodecs für Videodaten unterschieden.

  • Native Codecs sind gewöhnliche Linux-Binärdateien (meistens Systembibliotheken mit Namen wie "Libcodecname.so"). Ihre Unterstützung ist trivial.
  • Windows-Codecs sind die originalen oder leicht veränderten Systembibliotheken von Microsoft Windows mit den Dateinamenserweiterungen "dll" oder "ax". Diese Codecs funktionieren unter Linux nicht ohne weiteres - es wird die spezielle Bibliothek Avifile benötigt, um sie verwenden zu können. Heute erscheinen die meisten Codecs aber ohnehin mit einer eigenen Linuxversion (wie z. B. XVID, DIVX 4, DIVX 5 und andere).

Meistens werden beim Kodiervorgang die analogen Signale nicht verlustfrei digitalisiert, sondern es wird eine Dynamikreduktion des analogen Signals sowie eine Datenkompression des digitalen Signals vorgenommen, die je nach Ausmass und Verfahren zu Qualitätsverlusten bei der Rückwandlung des digitalen Datenstroms in die analogen Signale führt. Bild- und Tonqualität können betroffen sein, aber auch die Kontinuität der Wiedergabe. Damit wird eine Verringerung der für die Übertragung des digitalen Signals notwendigen Bandbreite erreicht bzw. eine Verringerung der für die Speicherung notwendigen Speicherkapazität.

Häufig tragen Codecs zwar denselben Namen wie das kodierte Datenformat, das sie erstellen (z. B. Cinepak, Indeo, HuffYUV), insbesondere für bestimmte Varianten der MPEG-Codecs ist dies aber nicht der Fall (z. B. XVID, DIVX, X264).

Es muss zwischen dem kodierten Datenformat (Audioformat bzw. Videoformat) und dem Containerformat unterschieden werden. Beispielsweise erstellt der bekannte XVID-Videocodec MPEG-4-Videospuren oder der MP3-Audiocodec MP3-Audiospuren. Diese beiden Klassen können in einem Dateicontainer (z. B. AVI) kombiniert und dann gespeichert werden. Es könnten auch eine Opendivx-Videodatei und eine MP3-Audiodatei in einer MPG-Datei vereinigt werden - allerdings können die meisten Medienspieler eine solche Datei nicht abspielen, weil sie MPEG-1-Video und MP2-Audio erwarten (im Gegensatz zu AVI besitzt MPG nicht die nötigen Felder, welche die Video- und Audio-Streams beschreiben). Ebenso könnte ein MPEG-1-Video in eine AVI-Datei verpackt werden. ffmpeg und mencoder können solche Dateien erzeugen.

In den internationalen Telefonnetzen wird eine grosse Zahl unterschiedlicher Codecs verwendet; während die Festnetztelefonie ausschliesslich mit den G.711-Codecs arbeitet, gibt es eine grosse Vielfalt bei den Mobiltelefonen. Viele Kodierverfahren sind von der Internationalen Fernmeldeunion standardisiert worden, unter anderen die von der MPEG ausgearbeiteten Verfahren (z. B. das Videoformat MPEG-4 AVC, auch bekannt als H.264). Um eine Kommunikation zwischen Teilnehmern zu ermöglichen, deren Endgeräte mit unterschiedlichen Codecs arbeiten, ist eine Transkodierung erforderlich. Für die IP-Telefonie stellt es noch eine grosse technische Hürde dar, alle Verfahren und ihre Transkodierung zu beherrschen.

Ausser den einzelnen Audio- und Videocodecs gibt es auch zwei bekannte Sammlungen von Codecs.

Libavcodec Bibliothek mit verschiedenen Audio- und Videocodecs (z. B. für FLAC, MP3, WMA, WMV, MPEG-1, MPEG-2, MPEG-4, Huffyuv, DIVX).
Nero Digital MPEG-4 Part 2 ASP Videocodec, H.264 Videocodec, LE-AAC Audiocodec, HE-AAC Audiocodec.

Um herauszufinden, welcher Codec sich für eine bestimmte Datei eignet, wird auf den sogenannten Character Code zurückgegriffen, der von vielen Medienspielern automatisch abgefragt wird:

  • Der Twocc gibt an, welcher Audiocodec benötigt wird
  • Der Fourcc gibt an, welcher Videocodec benötigt wird

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Wikipedia ger Codecwbm Enzyklopädischer Artikel