Theora Vorbis Ogg LogoDa der Video-Codec Theora in letzter Zeit dank HTML 5 verstärkt in den Mittelpunkt gerückt ist, möchte ich diesen Video-Codec heute vorstellen. Da Videobilder selten allein kommen, wird auch auf den dazugehörigen Audio-Codec Vorbis eingegangen.

Zusammengeführt werden diese beiden Codecs im Containerformat Ogg, das ebenfalls in dieser kompakten Übersicht erwähnt wird.

Video-Codec Theora

Theora ist ein verlustbehafteter Video-Codec, der von der Xiph.org Foundation entwickelt wird. Er basiert auf dem On2 VP3 Codec, der von On2 an die Stiftung übergeben wurde. Dabei wurde vereinbart, dass der Codec von jedermann lizenzfrei verwendet werden kann. Theora wird als Open Source bereitgestellt und steht unter einer BSD-Lizenz.

Theora is a free and open video compression format from the Xiph.org Foundation. Like all our multimedia technology it can be used to distribute film and video online and on disc without the licensing and royalty fees or vendor lock-in associated with other formats.

Die Idee hinter dem freien Codec Theora ist es, eine patentfreie Alternative zu den derzeit gängigen, proprietären Video-Codecs im Web zu bieten. Es entstehen also keine Kosten — weder durch die private oder kommerzielle Nutzung, noch durch die Implementierung eines Encoder oder Decoders. Bei MPEG-4 (H.264/AAC) sieht dies bekanntlich anders aus (siehe MPEG-4 Lizenzgebühren).

Technische Details

Theora verwendet eine diskrete Cosinustransformation mit 8×8-Blöcken. Der Codec unterstützt variable Bitraten (VBR) und eine flexible Entropiekodierung. Das Sampling der Farben kann mit 4:2:0, 4:2:2 oder 4:4:4 erfolgen.

Intraframes und Interframes werden von Theora unterstützt. Ein wesentlicher Unterschied zu H.264 ist jedoch, dass Theora keine B-Frames (bi-predictive frames) bietet. Weitere technische Details findet man auf der Seite Theora Features.

Die aktuelle Version 1.0 von Theora ist vom November 2008 und ist an einigen Stellen noch unvollständig. Aktuell wird deshalb unter dem Codename Thusnelda an einer Encoder-Version gearbeitet, die die Qualität der Videos verbessern soll.

Theora-Encoder

Videos im Ogg-Format mit Theora und Vorbis können mit verschiedenen Tools erstellt werden. Ein Übersicht an Encodern findet man auf der Seite der Foundation oder bei Wikipedia.

Der folgende Screenshot zeigt Firefogg. Dieser Theora-Encoder wird einfach als Firefox-Plugins installiert.

Firefogg: Theora-Encoder als Firefox-Plugin

Qualitätsprobleme

Einer der häufig genannten Kritikpunkte an Theora ist, dass der Codec verglichen mit H.264 weniger effizient sei. Dadurch sei eine höhere Bandbreite notwendig, um die gleiche subjektive Qualität zu erreichen. Stellvertretend hierzu zwei Links: Video on the Web (Summary) und Theora Soccer Video Comparison

Es gibt auch andere Beispiele mit dem Fazit, dass die Qualität ebenbürtig sei. Allerdings scheint es im Allgemeinen, als ob die Qualität von Theora der von H.264 noch hinterher hinke.

Audio-Codec Vorbis

Das Gegenstück zu Theora ist Vorbis. Dieser schon seit längerem bekannte Audio-Codec ist ebenfalls lizenzfrei und Open Source.

Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable bitrates from 16 to 128 kbps/channel.

Wenn man etwas recherchiert, findet man schnell, dass Vorbis den älteren MP3-Codec in Sachen Qualität schlägt (z.B. Heise-Artikel aus 2002) und es auch mit (LC)-AAC aufnehmen kann.

Wer möchte, kann auch selbst verschiedene Hörbeispiele vergleichen.

Für reine Sprachkompression (z.B. VoIP) ist Vorbis übrigens nicht ausgelegt. Hier bietet sich die ebenfalls freie Alternative Speex an.

Containerformat Ogg

Das passende Container-Format, das die beiden Codecs beherbergen kann, ist das OGG-Format. Das Video ist also mit Theora codiert, der Audioanteil mit Vorbis. Selbstverständlich ist auch das Containerformat frei und offen.

Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. As with all Xiph.org technology is it an open format free for anyone to use.

Als Dateiendungen kommt für Ogg-Videos .ogv zum Einsatz. Der passenden MIME-Types ist übrigens video/ogg.

Ogg-Videos (.ogv) abspielen

Auf dem Desktop können Theora-Videos mit Playern wie dem Mplayer, VLC oder Xine abgespielt werden. Für Windows gibt es Directshow Filter. Apple User können sich mit dem xiph Plugin für QuickTime ausstatten.

In Verbindung mit HTML 5 können zurzeit der Firefox 3.5 und Google Chrome ab 3.0.182.2 Videos im Ogg-Format direkt abspielen (siehe Wikipedia). Deshalb kann man die Videos lokal natürlich auch einfach z.B. mit Firefox öffnen und abspielen.

Offizielle Websites

Die offziellen Websites der Codecs findet man hier: Theora, Vorbis und Ogg container format