Login
Newsletter
Werbung

Fr, 5. Januar 2001, 00:00

DivX unter Linux

Vorwort

Da ließ man sich schon dazu überreden, Tante Elfriedes Kuchentreff auf Video aufzunehmen, und steht nun da. Fertig geschnitten und auf der eigenen Platte gespeichert ist das Produkt der Arbeit - da staunt man aber nicht schlecht, als die Größe der Datei, die fast komplette Platte füllt, zum Vorschein kommt.

Die alte Dame, wie es sich für fortschrittliche Menschen gehört, ist seit ein paar Wochen die stolze Besitzerin eines Gigahertz-Athlons und will am liebsten die Arbeit der Nacht auf einem geeigneten Medium überreicht bekommen. Was tun? Festplatten verschenken, die den kompletten Film aufnehmen können, dürfte in unserem Fall eine der Möglichkeiten sein, die nicht in Betracht kommen. Auch das Heruntersetzen der Auflösung auf Briefmarkengröße könnte unter Umständen das ansonsten sehr gute Zusammenleben mit der Tante erheblich stören. Das schöne Bild in eine Klötzchen-Grafik bei einer angemessenen Auflösung zu verwandeln, ist auch nicht der Hit.

Abhilfe schafft bei unserem Problem das Format DivX, welches in folgendem 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 veröffentlichten Kompressionsformat MPEG-4. Gegenüber den bisherigen Standards MPEG1/2 benötigt MPEG4 nur einen Bruchteil der Speicherkapazität, um eine zufriedenstellende Qualität zu erreichen.

xmps im Skin-Gewand

demon (Mirko Lindner)

xmps im Skin-Gewand

Um genau zu sein, stellt das DivX-Format nicht eine Abwandlung des MPEG4-Formates, sondern einen Hack des von Microsoft auf MPEG4 aufbauenden ASF-Formates dar. Der MPEG4-Codec wurde von Microsoft weiterentwickelt und basiert in allen Versionen (V1,V2,V3) auf MPEG2-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, wie schon erwähnt, durch »Reverse Engineering« vom Microsoft-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 gar Konverter für DivX-Filme 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 und setzen auf diese auf. Die Verfügbarkeit dieser Bibliothek stellt eine zwingende Voraussetzung dar, um viele der Applikationen benutzen zu können. Andere wiederum setzen auf eine extra für die Applikation angepasste Version von avifile auf.

Was ist aber so interessant an avifile und was macht diese Applikation 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, Win32-Binaries als Plug-Ins einzubinden, um diese für die Wiedergabe oder Aufnahme von Videos zu verwenden. Dass dies im Vergleich zu einer Neuentwicklung schneller geht, zeigt der momentane Status des Projektes. Bereits nach sechs Monaten unterstützt die Bibliothek/Applikation eine nicht zu verachtende Anzahl von Codecs. Wer nun glaubt, dass durch eine solche Vorgehensweise die Geschwindigkeit der Applikation kräftige Einbußen hinnehmen muss, der wird überrascht sein. Trotz der Anbindung der Win32-Dateien sind die Applikation und die abgespielten Filme angenehm schnell und sogar, wie es bei DivX der Fall ist, schneller als die des Windows-Pendanten.

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 unter Linux nicht bereit, so ist eine Portierung dieser unter Umständen rechtlich sehr problematisch. Durch die 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 des 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.

Funktionen und Programme von avifile

avifile, wie der Name bereits verrät, stellt eine Bibliothek dar, die es ermöglicht, die unter Windows funktionierenden avi-Codecs auch unter Linux abzuspielen. Dabei beschränkt sich die Applikation nicht nur auf die verfügbaren avi-Codecs, sondern unterstützt auch andere Formate. Es ist zwar möglich, mittels Xanim auch unter Linux (und auch anderen Systemen) avi-Files abzuspielen, dies geschah aber in der Praxis sehr langsam. Ein weiteres Manko von Xanim stellt die geringe Anzahl der unterstützten avi-Codecs dar. Avifile unterstützt dagegen jetzt schon folgende Codecs:

  • ATI VCR-2
  • Cinepak
  • DivX
  • Indeo Video 3.2, 4.1, 5.0
  • Microsoft MPEG-4
  • Motion JPEG

Weiteres Augenmerk legten die Entwickler auf saubere Schnittstellen zu anderen Applikationen und auf eine Vielzahl von Hilfs-Programmen. Zu den nützlichsten Tools des avifile-Paketes dürften folgende Applikationen zählen:

  • aviplay
    Ein simpler, aber sehr stabiler Player, der alle von avifile unterstützten Codecs abspielen kann. Eine genaue Beschreibung des Players folgt weiter unten.
  • Recompressor
    Ein kleiner Recompressor, der die Manipulation von avi-Filmen erlaubt.
  • qtvidcap
    Ein auf die bekannte v4l-Schnittstelle aufbauendes Videoaufnahmetool. Neben der Auswahl des Aufnahmeformates ermöglicht die Applikation, bereits im Vorfeld Einstellungen über die Qualität des Filmes zu bestimmen.

Aufnahme eines DivX-Filmes

Bevor wir die unter Linux verfügbaren Player ansprechen, will ich Ihnen zuerst drei Programme vorstellen, die für die Herstellung von DivX-Filmen benutzt werden können. Zwei der Applikationen befinden sich im Lieferumfang von avifile. Die dritte im Bunde wurde von einem freiwilligen Coder geschrieben und setzt auf avifile auf.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung