Eine mögliche Problemlösung ist das neue Video-Format DivX ;-), welches in diesem Artikel unter die Lupe genommen wird. Neben der Möglichkeit, eigene DivX-Filme unter Linux zu erstellen, stellt Ihnen der Artikel auch die bekanntesten und besten Player für Linux vor.
Was ist DivX ;-)?
DivX ;-) basiert auf dem von der Motion Pictures Expert Group [1] veröffentlichten Kompressionsformat MPEG-4. Gegenüber den bisherigen Standards MPEG-1/2 benötigt MPEG-4 nur einen Bruchteil der Speicherkapazität, um eine zufriedenstellende Qualität zu erreichen.
Um genau zu sein, stellt das DivX ;-) -Format nicht eine Abwandlung des MPEG-4-Formates, sondern einen Hack des von Microsoft auf MPEG-4 aufbauenden ASF-Formates dar. Der MPEG-4-Codec wurde von Microsoft weiterentwickelt und basiert in allen Versionen (V1,V2,V3) auf MPEG-2-Technik, allerdings wird u. a. die Bitrate der einzelnen Frames durch stärkstmögliche Kompression erheblich erhöht, daher sind die Dateien trotz bester Qualität noch sehr klein.
Das als DivX ;-) veränderte Format des V3-Codec wurde also durch Reverse Engineering von Microsofts Format abgeleitet. Seit der Verbreitung von DivX im Internet wurde das Format auch für Linux-Benutzer immer interessanter. Es ist deshalb nicht verwunderlich, dass es mittlerweile eine nicht zu verachtende Anzahl an Playern und sogar Converter für DivX-Filme unter der freien Betriebssystemalternative gibt. Diese basieren fast alle auf einer Applikation bzw. Bibliothek, die für Linux angepasst wurde: avifile.
Avifile – Das Gerüst
Alle hier besprochenen Applikationen und Tools benutzen die von Eugene Smith kreierte avifile-Library [2]. Die Verfügbarkeit dieser Bibliothek stellt also eine zwingende Voraussetzung dar, um viele der Applikationen benutzen zu können. Andere wiederum basieren auf einer extra für das Programm angepassten Version von avifile.
Was ist aber so interessant an avifile, und was macht diese Bibliothek für andere Entwickler so brauchbar? Nachfolgend will ich Ihnen kurz die Funktionsweise und das Prinzip von avifile erläutern.
Die Grundidee von avifile ist, Windows-DLLs (Dynamic Link Library, Bibliotheken) als Plug-Ins anzubinden, um diese für die Wiedergabe oder Aufnahme von Videos zu verwenden. Dass es im Vergleich zu einer Neuentwicklung schneller geht, zeigt der momentane Status des Projektes. Bereits nach sechs Monaten unterstützt die Bibliothek eine nicht zu verachtende Anzahl an Codecs. Wer nun glaubt, dass bei einer solchen Vorgehensweise die Geschwindigkeit der Applikation leidet, wird überrascht sein: Trotz der Verwendung der Windows-Dateien sind die Applikation und die abgespielten Filme angenehm schnell und (speziell bei DivX) sogar schneller als die des Windows-Pendants.
Einer der weiteren Gründe, die für den Einsatz von Windows-DLLs unter Linux sprechen, sind patentierte Codecs, die nicht ohne weiteres auf Linux portiert werden können. Stellt der Hersteller solche Codecs nicht in einer Linux-Version zur Verfügung, so ist eine Portierung dieser unter Umständen rechtlich problematisch. In der Verwendung von Original-DLLs sehen die Autoren eine der wenigen legalen Möglichkeiten, patentierte Codecs auch unter Linux zu benutzen.
Bei der Programmierung der Applikation setzte der Entwicklerkreis Teile der bekannten Windows-API-Nachbildung WINE und Willows TWin-Projektes (ca. 50 KB Alpha-Code) ein. Dies hat zur Folge, dass die Bibliothek zwar theoretisch plattformunabhängig sein sollte, in der Praxis aber durch die Verwendung eines "Win32 Binary Loaders" nur auf der x86-Architektur eingesetzt werden kann.



