VOICE Homepage: http://de.os2voice.org

April 2001

[Newsletter Inhalt]
[Vorherige Seite] [Nächste Seite]
[Artikelübersicht]

editor@os2voice.org


Schlangen und Hämmer: Ogg Vorbis

Von Christian Hennecke ©März 2001

Ogg Vorbis Homepage: http://www.vorbis.com
Portierung von Nicks Burch: http://users.ox.ac.uk/~magd1113/mpeg/
Portierung und PM123 Plug-in von Brian Havard: http://silk.apana.org.au/vorbis/
PM123 Multimedia-Spieler: http://www.teamos2.sci.fi/pm123
PM123 Plug-in von Sofiya: http://www.din.or.jp/~sofiya/soft/soft_e.html
Xiphophorus Homepage: http://www.xiph.org

Was zum Teufel... Ja, ich werde den Namen erklären! Ogg ist dem Spiel Nethack entliehen und bedeutet ungefähr "etwas zwangsweise durchsetzen". Wie der nordische Gott Thor, der seinen Hammer Mjölnir benutzt, um diese sinusförmige Schlange weniger Platz einnehmen zu lassen, wie man links sehen kann. Vorbis ist der Name einer Figur aus Terry Pratchetts Scheibenwelt-Romanen. Das führt uns direkt dazu, was Ogg Vorbis ist: ein Projekt zur Kompression von Audio-Daten wie MP3 usw. Ogg Vorbis ist der einzige bis jetzt existierende Teil des größeren Ogg-Projektes, dessen Ziel die Bereitstellung eines kompletten Satzes von Mitteln zur Komprimierung von Multimedia-Daten ist. Obwohl es sich noch in der Betaphase befindet - wenn auch bereits in Nähe zur GA -, ist es bereits spürbar verbessert worden und läuft problemlos unter OS/2.

Sie mögen fragen, warum man Ogg Vorbis benutzen sollte, wenn es schon andere Verfahren gibt und MP3 der de-facto Standard ist. Nun, Xiphophorus.Org hat Ogg als Freeware und sogar OpenSource ausgelegt, wobei Teile unter GPL und andere unter LGPL stehen. Es werden also keine Lizenzgebühren für die Nutzung fällig und das ist ein großer Vorteil gegenüber MP3. Falls Sie es nicht wissen: Das Fraunhofer Institut hält zumindest in den USA und Deutschland Patente auf MP3. Während niemand daran interessiert zu sein scheint, Privatnutzer für die Nutzung freier MP3 Encoder und Decoder zur Kasse zu bitten, müssen kommerzielle Nutzer durchaus für z.B. die Verwendung von MP3-Stücken in ihren Spielen oder das Anbieten auf ihren Internetseiten zahlen. Dies kann sich jedoch jederzeit ändern. Denken Sie nur einmal an Unisys und das LZW-Patent. Es wird bereits daran gearbeitet, Unterstützung für Ogg Vorbis in den ICECAST Streaming-Server zu integrieren. Außerdem wurde Ogg Vorbis darauf ausgerichtet, bessere Qualität zu liefern. Mehr dazu später.
 

Implementationen für OS/2

Bis jetzt haben drei Leute unabhängig an Ogg Vorbis für OS/2 gearbeitet. Die Standarddistribution enthält nur Kommandozeilen-Encoder und -Spieler mit wenigen Extrafunktionen. Nick Burch hat Vorbis zum ersten Mal etwa im letzten Oktober/November nach OS/2 portiert, wobei allerdings das Hauptabspielprogramm Ogg123 fehlte, und eine spezielle Version des Encoders LAME mit Unterstützung für Ogg Vorbis, aber eingeschränkter Funktionalität, kompiliert. Diese Distribution reichte jedoch schon für das Encoding und die Wiedergabe aus. Sofiya hat ein Plug-in für PM123 geschrieben, welches gut funktioniert. Falls Sie es herunterladen, achten Sie darauf, daß Sie eine Version auswählen, die zu Ihrer Version von PM123 paßt. Die neuesten Programme (vom 27. Februar) wurden von Brian Havard (bekannt durch Apache und FC/2) unter Nutzung von Vorbis Beta 4 erstellt. Diese enthalten nicht die komplette Distribution, aber es sind ein Encoder, ein einfacher Spieler und der Standardspieler Ogg123 vorhanden. Mr. Havard bietet auch eine optimierte Version des Plug-ins für PM123 an.

Zur Zeit sind Brian Havard's Webseiten der Ort, um sich Ogg Vorbis für OS/2 zu besorgen. Achten Sie immer darauf, daß Sie den neusten Release benutzen, da Beta 4 mit erheblichen Verbesserungen gegenüber Beta 3 aufwartet (und Beta 5 bei Erscheinen mehr bieten wird als Beta 4). Bedenken Sie bitte auch, daß das originale Plug-in auf Beta 2 basiert und deshalb mit neueren Versionen erzeugte Dateien möglicherweise nicht korrekt abspielen wird (neuere Versionen sind jedoch abwärtskompatibel).
 

Technische Daten

Momentan müssen als Eingabedateien für den OggEnc Encoder 16-bit PCM WAV, AIFF oder AIFF/C Dateien verwendet werden. Diese können mono oder stereo sein oder noch mehr Kanäle besitzen. Der Bereich unterstützer Samplingraten liegt zwischen 8kHz und 56kHz. OggEnc ist in der Lage, stdin/stdout für die Ein- und Ausgabe zu nutzen, was sehr praktisch für On-the-fly-Encoding ist. Sie können z.B. Audiodaten von Ihrer CD auslesen und direkt in den Encoder leiten und so den Platz für temporäre Dateien sparen. Als weitere Option können rohe PCM-Daten im 16-bit Stereo Little-Endian Format verwendet werden.

Zur Zeit werden sechs verschiedene Encoding-Modi unterstützt. Dabei handelt sich durchweg um Modi mit variablen Bitraten (VBR), allerdings sind diese insofern etwas anders, als daß Sie die gewünschte durchschnittliche Bitrate auswählen. Übertragen auf den LAME MP3-Encoder erhielte man ein Resultat wie bei LAMEs --abr Parameter und nicht dem Parameter --vbr. Die verfügbaren Modi sind 112, 128, 160, 192, 256 und 350 kbps (Kilobit pro Sekunde).

Weitere Funktionen sind Unterstützung für ID-Tags und Namensbildung. Durch die Verwendung von Kommandozeilenparametern können Kommentare, das Datum, die Nummer des Stücks, sein Name, das Album und der Interpret der Datei hinzugefügt werden. Mittels der Namensbildung können Sie diese Daten automatisch zur Benennung der kodierten Datei(en) nutzen.
 

Leistung

Nun, was leistet Ogg Vorbis im Bezug auf Geschwindigkeit, Dateigröße und Klangqualität? Zur Beantwortung dieser Frage habe ich einige Versionen von Ogg Vorbis von der ersten aus Oktober letzten Jahres (man merkt, daß ich diesen Artikel schon seit längerem geplant hatte...) bis zur aktuellen Beta 4 ausprobiert und die Ergebnisse mit MP3s verglichen, die mit LAME unter Verwendung der Option "average bitrate" erzeugt wurden. Die beiden Hauptteststücke waren "I surrender" (9:24 min) und "Thalhiem" (6:09 min) aus dem Album "Dead Bees on a Cake" von David Sylvian, die beide eine gute Mischung akustischer und elektrischer Instrumente enthalten.

Die folgenden Tabellen zeigen die Ergebnisse des Kodierungsprozesses mit OggEnc aus Vorbis Beta 4 und LAME 3.86 auf einer AMD K6-III 450 CPU. Für LAME wurden folgende Parameter benutzt: -ms --abr <bitrate>

Tab.1: Ergebnisse der Kodierung des Stücks 1 (Spielzeit: 9:24 min, Größe: 97.238kB)
Encoder Modus (kbps) Benötigte Zeit
Dateigröße (kB)
OggEnc
128
8:39
8394
LAME
128
5:35
8141
OggEnc
256
9:46
16727
LAME
256
4:14
17236

Tab.2: Ergebnisse der Kodierung des Stücks 2 (Spielzeit: 6:09 min, Größe: 63.607kB)
Encoder Modus (kbps) Benötigte Zeit
Dateigröße (kB)
OggEnc
128
5:05
5500
LAME
128
3:44
5333
OggEnc
256
5:38
10859
LAME
256
2:46
11238

Während OggEnc Dateien von etwa der gleichen Größe wie vergleichbare MP3s erzeugt, nimmt der Prozess erheblich mehr Zeit in Anspruch als bei LAME. Momentan, sollte man ergänzen. Wie ich schon erwähnte, befindet sich Vorbis noch in der Betaphase und wurde infolgedessen noch nicht geschwindigkeitsoptimiert.

Um mit Ogg Vorbis komprimierte Dateien abzuspielen, können Sie die Kommandozeilenprogramme aus der Vorbis-Distribution oder PM123 mit dem oben genannten Plug-in benutzen. Allgemein führt das Abspielen von Ogg Vorbis-Dateien zu mehr CPU-Last als bei MP3s. Hier sind jedoch noch deutliche Verbesserungen zu erwarten. Dies wird bereits bei Brian Havards optimierter Version des Plug-ins für PM123 von Sofiya deutlich. Während letzteres bei meinem System eine CPU-Last um 17-18% bei ausgeschaltetem Analyzer-Plug-in erzeugte, liegt die aktuelle Version bei 15%. Die Kommandozeilenprogramme zeigen mit 14% eine etwas größere Effektivität. Verglichen mit einer Rate von 11-12% für MP3s bei PM123 sieht dies sehr vielversprechend aus. (Anmerkung: Andere MP3-Spieler für OS/2 wie WarpAMP, z! (beide 10% Last) oder der QU Player (8% Last) sind weniger ressourcenhungrig, aber hier nicht für einen Vergleich geeignet.)

Natürlich wäre all das völlig umsonst, wenn der Klang nicht vernünftig wäre. Der Testrechner ist an eine gute Stereoanlage angeschlossen und ich habe die Ergebnisse von Ogg Vorbis und MP3 untereinander und mit dem Original verglichen, wobei alle über eine Terratec Maestro 32/96 Soundkarte abgespielt wurden. Für das Kodieren der MP3s habe ich LAME ausgewählt, da es allgemein als bester MP3-Encoder bezeichnet wird und mittlerweile sogar besser als das Original MP3ENC von Fraunhofer sein soll.
Es stellte sich heraus, daß eine durchschnittliche Bitrate von 128 kbps nicht die geeignete Wahl ist, wenn man wirklich Musik hören will, weder bei MP3 noch bei Ogg Vorbis. Ich bin jedoch der Meinung, daß Ogg Vorbis die besseren Ergebnisse produziert, wenn man eine aktuelle Version benutzt - die alten aus dem letzten Jahr wiesen teilweise hörbare Verzerrungen auf. Bei der Wahl einer durchschnittlichen Rate von 256kbps erhält man in beiden Fällen wesentlich bessere Resultate. Auch bei 256kbps scheint mir Ogg Vorbis dem MPEG Verfahren überlegen zu sein, wobei allerdings die Unterschiede geringer als bei 128kbps ausfallen.
Insgesamt kann folgendes beobachtet werden: MP3 scheint den Klang buchstäblich mehr zu komprimieren und eine gewisse Härte hinzuzufügen, gleichzeitig fallen mehr Details zum Opfer. Dies viel besonders auf, wenn ich die Aufmerksamkeit auf die Celli und Flöten in den Stücken richtete. Das Schnarren der Seiten und die Geräusche der Flötenklappen waren bei Ogg Vorbis deutlicher. MP3 ließ den Sänger angestrengter als auf CD klingen. Ogg Vorbis scheint etwas mehr Raum zu erhalten, d.h. die Instrumente stehen nicht nur in der Ebene zwischen den Lautsprechern, sondern auch im Raum dahinter.

Beachten Sie bitte, daß diese Beschreibungen etwas übertrieben sind, um die Unterschiede deutlicher zu machen. MP3 ist nicht so schlecht, wie es sich nach den obigen Sätzen "anhören" mag. Nichtsdestotrotz denke ich, daß Ogg Vorbis besser ist, aber die Unterschiede sind eben nicht so groß.
 

Fazit

Ogg Vorbis ist ein vielversprechendes freies, OpenSource Audiokomprimierungssystem mit Streaming-Fähigkeiten. Die damit erzeugten  Dateien sind von ähnlicher Größe wie MP3s, aber der Komprimierungsprozess nimmt deutlich mehr Zeit in Anspruch. Das Abspielen von Vorbis-Dateien fordert den Prozessor mehr als bei MP3-Dateien. Die Klangqualität ist der von MP3s ebenbürtig oder etwas besser, besonders bei niedrigeren Bitraten. Nach Beendigung der Betaphase sind Optimierungen bezüglich der benötigten Rechenleistung zu erwarteten.

Falls Sie an Ogg Vorbis interessiert sind, besorgen Sie sich Version Beta 4, und Beta 5 sobald sie erscheint, da diese einige Verbesserungen gegenüber älteren Versionen bieten (werden).

Es steht zu hoffen, daß es bald mehr Spieler mit Ogg Vorbis-Unterstützung für OS/2 geben wird. Ich habe Dink vorgeschlagen, sie in z! zu integrieren, aber er ist nicht daran interessiert. Ein Plug-in für MMOS2 wäre natürlich äußerst wünschenswert, da es allen MMOS2-Spielern ermöglichen würde, dieses Format zu nutzen.


Artikelübersicht
editor@os2voice.org
[Vorherige Seite] [Inhalt] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org