» SelfLinux » Multimedia » Video » MPlayer - The Movie Player for Linux » Abschnitt 6 SelfLinux-0.13.0
zurück Startseite Kapitelanfang Inhaltsverzeichnis PDF-Download (415 KB) GPL weiter

SelfLinux-Logo
Dokument MPlayer - The Movie Player for Linux  Autor
 Formatierung
 GPL
 

6 Features


6.1 Unterstützte Formate

Es ist wichtig, einen häufigen Fehler zu berichtigen. Wenn Leute eine Datei mit .AVI-Erweiterung sehen denken sie sofort, dass es keine MPEG- Datei ist. Das ist nicht wahr. Zumindest nicht vollständig. Im Gegensatz zur verbreiteten Ansicht kann solche eine Datei MPEG1-Video enthalten.

Ein Codec ist nicht dasselbe wie ein Dateiformat.
Beispiele für Video-Codecs sind: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
Beispiele für Dateiformate sind: MPG, AVI, ASF.

Theoretisch kannst du ein OpenDivX-Video und MP3-Audio in einer .MPG-Datei vereinigen. Die meisten Player könnten es jedoch nicht abspielen, da sie MPEG1-Video und MP2-Audio erwarten (im Gegensatz zu AVI besitzt MPG nicht die nötigen Felder, die die Video- und Audio-Streams beschreiben). Oder du könntest ein MPEG1-Video in ein .AVI geben. en ffmpeg und  MEncoder können solche Dateien erzeugen.


6.1.1 Videoformate


6.1.1.1 MPEG-Dateien

MPEG-Dateien kommen in unterschiedlichen Erscheinungen:

  • MPG: Dies ist die grundlegende Form des MPEG Dateiformates. Es enthält MPEG1-Video und MP2-(MPEG-1 layer 2) oder selten MP1- Audio.
  • DAT: Dies ist dasselbe Format wie MPG mit einer unterschiedlichen Endung. Es wird auf Video CDs benutzt. Auf Grund der Tatsache, wie VCDs erzeugt werden und wie Linux entworfen wurde, kann man die DAT- Dateien einer VCD weder abspielen noch kopieren. Du musst die -vcd-Option zum Abspielen verwenden.
  • VOB: VOB ist das MPEG Dateiformat bei DVDs. Es ist das gleiche wie MPG mit zusätzlicher Unterstützung für Untertitel oder nicht-MPEG-(AC3)-Audio. Es enthält MPEG2-Video und normalerweise AC3- Audio, aber auch DTS, MP2 und unkomprimierte LPCMs sind erlaubt. Lies die  DVD-Sektion !

Serien von Frames bilden unabhängige Gruppen in MPEG-Dateien. Das bedeutet, dass du eine MPEG-Datei mit einem Standard-Dateitool (wie dd oder cut) schneiden und zusammenfügen kannst und dieses trotzdem vollständig funktionsfähig bleibt.

Ein wichtiges Feature von MPGs ist, dass sie ein Feld besitzen, das das Breiten-/Höhenverhältnis des Video-Streams angibt. SVCDs haben zum Beispiel Video mit einer Auflösung von 480x480, und im Header ist dieses Feld auf 4:3 gesetzt. Also wird es als 640x480 abgespielt. AVI-Dateien haben dieses Feld nicht, sodass diese während des Encodierens skaliert werden müssen oder die Option -aspect bei der Wiedergabe verwendet werden muss.


6.1.1.2 AVI-Dateien

AVI (Audio Video Interleaved) ist ein von Microsoft entworfenes und weitverbeitetes Multifunktionsformat, das zur Zeit hauptsächlich für DivX und DivX4 Videos verwendet wird. Es hat einige bekannte Nachteile,und ihm fehlen ein paar wichtige Features (zum Beispiel Streaming). Es unterstützt einen Videostream und 0 bis 99 Audiostreams. Die Dateien können bis zu 2 GB groß sein. Es existiert eine Erweiterung für größere Dateien, genannt OpenDMS. Microsoft rät von der Verwendung stark ab und propergiert ASF/WMV. Als ob das irgendwen kratzen würde.

Es gibt einen Hack, der es AVI-Dateien erlaubt, Ogg Vorbis Audio-Streams zu enthalten, sie aber auch inkompatibel zu Standard-AVIs macht.MPlayer unterstützt die Wiedergabe solcher Dateien. Eine Spulfunktion ist auch implementiert, jedoch wird diese stark von schlecht konvertierten Dateien mit verwirrenden Headers gestört. Leider schreibt der einzige Encodierer, der fähig ist, solche Dateien zu erzeugen (NanDub), solch problematischen Header.

Hinweis:

DV-Kameras können Raw-DV-Streams erzeugen, welche von DV-Aufnahmetools in zwei unterschiedliche Typen von AVI-Dateien konvertiert werden. Die AVI-Datei enthält dabei entweder separate Audio- und Video-Streams, die MPlayer wiedergeben kann, oder den unveränderten DV-Stream. An dessen Unterstützung wird gerade gearbeitet.

Es gibt 2 Arten von AVI-Dateien:

  • Interleaved: Audio- und Video-Inhalt werden paketweise ineinandergeschachtelt. Die ist üblich, wird empfohlen und auch meist verwendet. Einige Tools erzeugen interleaved AVIs mit schlechtem Sync. MPlayer erkennt diese als interleaved, was zum Verlust von A/V-Sync führen kann (evtl. erst beim Vor-/Zurückspueln). Diese Dateien sollten non-interleaved (mit der -ni-Option) abgespielt werden.
  • Non-interleaved: Als erstes kommt der ganze Videostream, dann dann der ganze Audiostream. Dies erfordert viel Suchen in der Datei, was die Wiedergabe vom Netzwerk oder von CDROM schwierig macht.

MPlayer unterstützt zwei Arten des timings für AVI-Dateien:

  • bps-basiert: Diese Methode basiert auf der Bitrate/Samplerate des Video-/Audio-Streams. Diese Methode wird von den meisten Playern verwendet, inklusive en avifile und Windows Media Player. Dateien mit kaputten Headern und Datein, welche mit VBR-Audio aber nicht VBR-unterstützendem Encoder erstellt wurden, führen zu A/V-Desync mit dieser Methode (meistens beim Spulen).
  • interleaving-basiert: Diese Methode benutzt nicht mehr den Wert der Bitrate sondern die relative Position des Audio-Paketes zum aktuellen Video-Paket, was einige falsch codierte Dateien mit VBR-Audio abspielbar macht.

Jeglicher Audio- und Video-Codec ist erlaubt. Aber bedenke, dass VBR-Audio von den meisten Playern nicht gut unstützt wird. Das Dateiformat macht es möglich, VBR-Audio zu verwenden, aber die meisten Player erwarten CBR- Audio, weswegen VBR-Audio nicht funktioniert. VBR ist ungewöhnlich, und Microsofts Spezifikation zu AVI beschreiben nur CBR-Audio. Bedenke auch, dass die meisten AVI-Encoder/Multiplexer schlechte Dateien mit VBR-Audio erzeugen. Es gibt nur zwei Ausnahmen: NanDub und  MEncoder.


6.1.1.3 ASF/WMV-Dateien

ASF (Active Streaming Format) kommt von Microsoft. Sie habe zwei Arten von ASF entwickelt, v1.0 und v2.0. v1.0 wird von ihren Media Tools (Windows Media Player und Windows Media Encoder) verwendet und ist sehr geheim. v2.0 ist veröffentlicht und patentiert :). Natürlich sind sie unterschiedlich und besitzten überhaupt keine Gemeinsamkeiten (es ist nur ein weiteres Spiel mit den Gesetzen). MPlayer unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :). Beachte, dass .ASF-Dateien heute auch mit der Extension .WMA oder .WMV vorkommen.


6.1.1.4 QuickTime/MOV-Dateien

Diese Formate sind von Apple designt und können jeden beliebigen Codec enthalten, CBR oder VBR. Normalerweise haben sie die Endung .QT oder .MOV. Seitdem die MPEG4-Gruppe QuickTime als das empfohlene Dateiformat für MPEG4 ausgewählt hat, kommen ihre .MOV-Dateien mit den Endungen .MPG oder .MP4. (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams richtige MPG- und AAC-Dateien. Mit den den Optionen -dumpvideo und -dumpaudio kannst du sie sogar extrahieren.).

Hinweis:

Die meisten QuickTime-Dateien benutzen Sorenson- Video und QDesign-Audio. Lies dazu die  Sorenson-Codec-Sektion.

6.1.1.5 VIVO-Dateien

MPlayer demuxt nun auch fröhlich VIVO-Dateiformate. Der grösste Nachteil des Formates ist, dass es keinen Index-Block besitzt, auch keine fixe Paketgröße oder Sync-Bytes. Die meisten Dateien besitzen nicht mal Keyframes, also vergiss das Spulen!

Der Videocodec von VIVO/1.0-Datei ist Standard-h.263. Der Videocodec der VIVO/2.0 Dateien ist veränderter, nichtstandard-h.263. Bei Audio ist es dasselbe, es ist g.723 (Standard) oder Vivo Siren.

In den  VIVO-Videocodec- und  VIVO-Audiocodec -Sektionen findest du Installationsanweisungen.


6.1.1.6 FLI-Dateien

FLI ist ein sehr altes vom Autodesk Animator benutztes Dateiformat. Es ist aber immer noch ein im Internet gebräuchliches Dateiformat für kurze Animationen. MPlayer demuxt und decodiert FLI-Filme und ist sogar fähig, in ihnen vor- und zurückzuspulen (nützlich, wenn man looping mit der -loop-Option aktiviert hat). FLI-Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz nach dem Spulen führt.


6.1.1.7 RealMedia-(RM)-Dateien

Ja, MPlayer kann RealMedia (.rm) Dateien lesen (demuxen). Spulen (seeking) funktioniert, jedoch muss die -forceidx-Option verwendet werden (das Format unterstüzt Keyframes). Hier ist die Liste der unterstützten  RealVideo- und  RealAudio-Codecs.


6.1.1.8 NuppelVideo-Dateien

NuppelVideo ist, soweit ich weiss, ein TV-Aufnahmeprogramm. MPlayer kann dessen .NUV- Dateien (nur NuppelVideo 5.0) lesen. Diese Dateien können unkomprimierte YV12-, komprimierte YV12+RTJpeg-, komprimierte YV12-RTJpeg+lzo- und komprimierte YV12+lzo-Frames enthalten, welche MPlayer alle dekodiert (und diese auch mit MEncoder zu DivX/etc! encodiert). Spulen (seeking) funktioniert.


6.1.1.9 yuv4mpeg-Dateien

en yuv4mpeg / yuv4mpeg2 ist ein Dateiformat, das von den en mjpegtools- Programmen verwendet wird. Du kannst damit Video in diesem Format einlesen, produzieren, filtern oder encodieren. Das Dateiformat ist eigentlich eine Sequenz von unkomprimierten YUV 4:2:0 Bildern.


6.1.1.10 FILM-Dateien

Dieses Format wird auf alten Sega Saturn CD-Rom-Spielen verwendet.


6.1.1.11 RoQ-Dateien

RoQ-Dateien sind Multimedia-Dateien, welche in gewissen ID-Spielen wie Quake III und Return to castle Wolfenstein benutzt werden.


6.1.1.12 OGG/OGM-Dateien

Dies ist ein neues Dateiformat von en Xiphophorus. Es kann beliebige Video- und Audio-Codecs enthalten, sowohl CBR als auch VBR. Man benötigt dazu installierte libogg- und libvorbis-Bibliotheken vor der Kompilierung von MPlayer, um sie wiedergeben zu können.


6.1.1.13 SDP-Dateien

en SDP ist ein IETF-Standardformat, das Video- und/oder Audio-RTP-Streams beschreibt. (Dazu werden die en LIVE.COM Streaming Media -Bibliotheken benötigt.)


6.1.1.14 PVA-Dateien

PVA ist MPEG-ähnliches Format, das von verschiedenen Windowsprogrammen benutzt wird, die bei DVB-TV-Karten mitgeliefert werden (z.B. MultiDec, WinTV).

Die PVA-Spezifikationen können an der folgenden Adresse heruntergeladen werden: de http://www.technotr end.de/download/av_format_v1.pdf


6.1.1.15 GIF-Dateien

Das GIF-Format ist ein weit verbreitetes Format für Grafiken im Web. Es gibt zwei Versionen der GIF-Spezifikationen, GIF87a und GIF89a. Der größte Unterschied liegt darin, dass GIF89a Animationen unterstützt. MPlayer unterstützt beide Formate mit Hilfe der libungif-Bibliothek oder einer anderen libgif-kompatiblen Bibliothek. Nicht animierte GIFs werden als Ein-Bild-Videos dargestellt. (Mit den Optionen -loop und -fixed-vo können solche GIFs länger angezeigt werden.)

Momentan unterstützt MPlayer nicht das Spulen in GIF-Dateien. Die einzelnen Bilder in GIF-Dateien haben nicht zwangsläufig die gleichen Dimensionen, und auch nicht eine feste Bildrate. Jedes Bild hat vielmehr seine eigenen Dimensionen und soll an einer bestimmten Position auf einem Bereich angezeigt werden, der selber aber eine feste Größe hat. Die Bildrate wird von einem optionalen Block vor jedem Bild kontrolliert, der die Anzeigedauer des nachfolgenden Bildes in Zentisekunen angibt.

Standard-GIF-Dateien enthalten 24 Bit RGB-Bilder mit einer indizierten Palette, die höchstens bis 8 Bit geht. Die Bilder sind normalerweise mit dem LZW-Algorithmus komprimiert. Es gibt aber auch GIF-Encoder, die unkomprimierte Bilder erzeugen, um die Patentprobleme mit dem LZW-Algorithmus zu umgehen.

Detaillierte technische Informationen findest du in den en GIF89a-Spezifikationen.


6.1.2 Audio Formate

MPlayer ist ein Movie-(Film-) und kein Media-Player. Er kann auch einige Audioformate wiedergeben (diese sind in der unteren Sektion beschrieben). Dies wird jedoch nicht empfohlen, und du solltest besser en xmms verwenden.


6.1.2.1 MP3-Dateien

Du hast vielleicht Probleme mit der Wiedergabe einigen MP3-Dateien, die MPlayer falsch als MPEGs erkennt und dementsprechend falsch oder gar nicht wiedergibt. Dies kann nicht gelöst werden, ohne die Unterstützung für einige kaputte MPEG-Dateien aufzugeben und wird desshalb bis auf weiteres so bleiben. Die Option -demuxer, welche in der Manpage beschrieben wird, könnte dir in diesen Fällen helfen.


6.1.2.2 WAV-Dateien


6.1.2.3 OGG/OGM-Dateien (Vorbis)

Benötigt richtig installierte libogg und libvorbis.


6.1.2.4 WMA/ASF-Dateien


6.1.2.5 MP4-Dateien


6.1.2.6 CD-Audio

MPlayer kann die Bibliotheken von cdparanoia benutzen, um CDDA-Dateien wiederzugeben. Alle Kommandozeilenparameter von cdparanoia aufzuzählen gehört nicht zu den Aufgaben dieser Dokumentation. Schau in der Manpage bei der Option -cdda nach, wie mit ihr Parameter an cdparanoia übergeben werden können.


6.1.2.7 XMMS

MPlayer kann XMMS-Inputplugins benutzen, um eine Vielzahl von Dateiformaten abzuspielen. Es gibt Plugins für SNES-Spielemusik, SID-Musik (vom guten alten Commodore 64), viele Amiga-Formate, .xm, .it, VQF, musepack, Bonk shorten und viele weitere. Du findest sie auf der Seite für en XMMS-Inputplugins.

Um dieses Feature benutzen zu können, brauchst du XMMS und musst MPlayer mit ./configure --enable-xmms kompilieren. Funktioniert das nicht, dann musst du eventuell die Pfade für die XMMS-Plugings und die XMMS-Bibliotheken explizit mit --with-xmmsplugindir und --withxmmslibdir angeben.


6.2 Unterstützte Codecs


6.2.1 Video-Codecs

Siehe en Codec-Status -Seite für die komplette, täglich generierte Liste. Eine Vielzahl von Codecs kann von unserer Homepage runtergeladen werden. Du findest sie auf der en Codec-Seite.

Die wichtigsten Video-Codecs:

  • MPEG1- (VCD) und MPEG2-Video (DVD)
  • eingebauter Dekoder für DivX ;-), OpenDivX, DivX4, DivX5, M$ MPEG4 v1, v2 und andere MPEG4-Varianten
  • eingebauter Decoder für Windows Media Video 7/8 (WMV1/WMV2) und Win32-DLL-Decoder für Windows Media Video 9 (WMV3). Beide werden in .wmv-Dateien verwendet.
  • eingebauter Sorenson 1 (SVQ1) Decoder
  • Win32/QT Sorenson 3 (SVQ3) Decoder
  • 3ivx-Decoder für v1 und v2
  • Cinepak und Intel Indeo Codecs (3.1, 3.2, 4.1, 5.0)
  • MJPEG, AVID, VCR2, ASV2 und andere Hardwareformate
  • VIVO 1.0, 2.0, I263 und andere h263(+)-Varianten
  • FLI/FLC
  • RealVideo 1.0 von libavcodec und RealVideo 2.0, 3.0 und 4.0 durch die RealPlayer-Libraries
  • eingebauter Decoder für HuffYUV
  • Verschiedene alte, einfache RLE-ähnliche Formate

Wenn du einen Win32-Codec hast, der noch nicht aufgelistet und unterstützt ist, dann lies  Win32 Codec-Importierungs-HOWTO und hilf uns, die Unterstützung hinzuzufügen.


6.2.1.1 DivX4/DivX5

Diese Sektion enthält Informationen über den DivX4- und Divx5-Codec vom en Project Mayo. Ihre ersten verfügbaren alpha-Versionen waren OpenDivX 4.0 alpha 47 und 48. Unterstützung dafür war früher standardgemäß in MPlayer eingebaut. Es wurde auch deren Postprocessing Code verwendet, um optional die Bildqualität von MPEG1/2-Filmen zu verbessern. Nun benutzen wir unseren eigenen für alle Dateitypen.

Die neue Version dieses Codecs heisst DivX4Linux und kann sogar Filme decodieren, die mit dem berüchtigten DivX-Codec (DivX 3 ;-)) erzeugt wurden! Dazu ist sie noch um einiges schneller als die traditionelle Win32-DivX-DLL aber immer noch langsamer als libavcodec. Vom Gebrauch dieses Codecs wird desshalb abgeraten. Er lässt sich jedoch trotzdem zum Encodieren verwenden. Ein Nachteil diese Codecs ist, dass er zurzeit nicht unter einer OpenSource-Lizenz verfügbar ist.

MPlayer erkennt automatisch, ob DivX4/DivX5 korrekt installiert ist, du kannst ihn wie gewöhnlich kompilieren. Wenn es nicht erkannt wird, wurde es nicht korrekt installiert oder konfiguriert.

DivX4Linux arbeitet in zwei verschiedenen Modi:

-vc odivx

Spricht den Codec so wie den alten OpenDivX-Codec an. In diesem Fall produziert der Codec YV12-Bilder in seinem eigenen Puffer, und MPlayer nimmt die Farbraumkonvertierung mittels libvo vor (schneller und empfohlener Modus!).

-vc divx4

Benutzt die Farbraumkonvertierung des Codecs. In diesem Modus kannst du auch YUY2/UYVY benutzen (LANGSAM).

Der -vc odivx-Modus ist normalerweise schneller da er die Daten in einem YV12-Format (planares YUV 4:2:0) übermittelt, was weniger Bandbreite für den Bus bedeutet. Für gepackte YUV-Formate (YUY2, UYVY) verwende den -vc divx4-Modus. Für den RGB-Modus ist die Geschwindigkeit gleich und hängt am ehesten von deiner momentanen Farbtiefe ab.

Hinweis:

Wenn der -vo-Treiber direct rendering unterstützt, ist -vc divx4 wahrscheinlich die schnellere oder sogar die schnellste Lösung.

Die binäre DivX4/5-Bilbiothek kann von en avifile oder en divx.com heruntergeladen werden. heruntergeladen werden. Entpacke ihn, starte ./install.sh als root, und vergiss nicht, /usr/local/lib deiner /etc/ld.so.conf hinzuzufügen und ldconfig aufzurufen.

Besorge dir die CVS-Version der ALTEN OpenDivX-Kernbibliothek wie folgt:

  1. cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
  2. cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co ivxcore
  3. Diese Kernbibliothek inst in eine Dekodierbibliothek und eine Enkodierbibliothek aufgeteilt, sie separat kompiliert werden müssen. Bei der Dekodierbibliothek gibst du einfach folgendes ein:

    cd divxcore/decore/build/linux
    make
    cp libdivxdecore.so /usr/local/lib
    ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
    cp ../../src/decore.h /usr/local/include

  4. Für die Enkodierbibliothek gibt es leider kein Linux-Makefile, und der MMX-optimierte Code funktioniert auch nur unter Windows. Du kannst die Bibliothek aber trotzdem kompilieren, wenn du dieses Makefile benutzt:

    cd ../../../encore/build
    mkdir linux
    cd linux
    cp path/Makefile .
    make
    cp libdivxencore.so /usr/local/lib
    ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
    cp ../../src/encore.h /usr/local/include

MPlayer findet DivX4/DivX5 automatisch, sofern es richtig installiert wurde. Kompiliere also einfach wie sonst auch. Wenn configure die Bibliothek nicht findet, dann hast du DivX4/5 einfach nicht richtig installiert.


6.2.1.2 FFmpeg's DivX/libavcodec

Das en FFmpeg-Projekt enthält ein Open-Source-Codec-Paket, das fähig ist, mit H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV codiertes Video und mit WMA (Windows Media Audio) codiertes Audio zu decodieren. Man kann nicht nur einige dieser Codecs zum Encodieren benutzen, sondern die Geschwindigkeit ist sogar um einiges häher als die der Win32-Codecs oder der ProjectMayo DivX4/5-Bibliothek!

FFmpeg beinhaltet auch viele nette Codecs. Die wichtigsten sind die MPEG4-Varianten: DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Ein weiterer sehr interessanter Decoder ist der für WMA.

Wenn ein offizielles MPlayer-Release verwendet wird, befindet sich libavcodec (die Codec-Bilbiothek des FFmpeg-Projektes) bereits im Paket, welches normal kompiliert werden kann. Wenn du die MPlayer-Sourcen per CVS runterlädst, musst du die libavcodec vom FFmpeg CVS-Server verwenden, da das offizielle FFmpeg-Release 0.4.5 nicht mit MPlayer zusammen läuft. Um dies zu erreichen gibst du folgendes ein:

  1. cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
  2. cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
  3. Das libavcodec-Verzeichnis von den FFmpeg-Sourcen muss in's Hauptverzeichnis des MPlayer CVS-Baums verschoben/kopiert werden. Es sollte etwa so aussehen:
    main/libavcodec

    Das Erstellen eines symbolischen Links ist nicht genug; es muss kopiert/verschoben werden!
  4. Es folgt die Kompilierung. configure sollte Probleme vor der Kompilierung erkennen.

Hinweis:

Die MPlayer-Sourcen im CVS enthalten ein libavcodec- Unterverzeichnis. Es enthält jedoch nicht den Quellcode von libavcodec! Du musst - wie oben beschrieben - dir die CVS- Version von FFmpeg besorgen.

Mit FFmpeg und meiner Matrox G400 kann ich sogar DivX-Filme in hoher Auflösung auf meinem K6/2 500 ohne Framedrops betrachten.


6.2.1.3 XAnim-Codecs

Vorwort:

Es ist darauf hinzuweisen, dass die XAnim-Binary-Codecs mit einem Textstück geliefert werden, das eine legal bindende Softwarelizenz sein soll, welche (neben einigen anderen Einschränkungen) dem Benutzer das Verwenden der Codecs mit anderen Programmen als XAnim verbietet. Der XAnim-Autor hat jedoch noch keine rechtliche Schritte gegen irgendjemanden wegen Codec bezogenen Fragen unternommen.

Installation und Bedienung:
MPlayer kann XAnims Codecs für das Decodieren verwenden. Um diese zu aktivieren, solltest folgenden Anweisungen folgen:

  1. Lade dir die Codecs, die du verwenden willst, von der en XAnim-Seite herunter. Der 3ivx Codec befindet sich nicht dort. Er kann jedoch von der en 3ivx-Seite heruntergeladen werden.
  2. ODER lade dir das Codec-Paket von unserer en Codecseite herunter.
  3. Verwende die --with-xanimlibdir-Option, um configure zu sagen, wo es die XAnim-Codecs finden kann. Normalerweise werden diese in /usr/local/lib/xanim/mods, /usr/lib/xanim/mods/ und /usr/lib/xanim gesucht. Weiterhin kannst du auch die Umgebungsvariable XANIM_MOD_DIR auf den Verzeichnisnamen der XAnim-Codecs setzen.
  4. Entferne/Symlinke die Dateinamen, wobei du das Architektur-Zeugs löschst, sodass die Dateinamen etwa so aussehen: vid_cvid.xa, vid_h263.xa, vid_iv50.xa.

XAnim ist die Videocodec-Familie xanim. Du kannst also die -vfm xanim-Option verwenden, um MPlayer zu sagen, dass er sie, wenn möglich, verwenden soll.

Die getesteten Codecs beinhalten: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.


6.2.1.4 VIVO-Video

MPlayer kann VIVO (1.0 und 2.0) Videos abspielen. Der beste geeignete Codec für 1.0-Dateien ist FFmpegs H263-Decoder. Du kannst ihn mit der -vc ffh263-Option aufrufen. Für v2.0-Dateien musst du die Win32-DLLs mit der Option -vc vivo benutzen. Wenn du keine expliziten Angaben zum Codec auf der Kommandozeile machst, so wählt MPlayer automatisch den besten aus.


6.2.1.5 MPEG 1/2-Video

MPEG1 und MPEG2 werden von der eingebauten Multiplatform-Bibliothek libmpeg2 decodiert, deren Source in MPlayer enthalten ist. Wir spielen fehlerhafte MPEG1/2-Videos durch das Abfangen des sig11 (segmentation fault) und die anschließend schnelle Neuinitialisierung des Codecs ab. Dadurch kann exakt an der Stelle des Fehlers fortgefahren werden. Es ist dabei kein Geschwindigkeitsverlust messbar.


6.2.1.6 MS Video 1

Dies ist ein sehr alter und sehr schlechter Codec von Microsoft. In der Vergangenheit wurde es mit dem msvidc32.dll Win32-Codec decodiert, aber nun haben wir einen Open-Source-Codec (von Mike Melanson mailto:melanson@pcisys.net)) eingebaut.


6.2.1.7 Cinepak CVID

MPlayer verwendet normalerweise seinen eigenen, Open-Source multiplatformfähigen Cinepak-Decoder, der von Dr. Tim Ferguson mailto:timf@csse.monash.edu.au) geschrieben wurde. Er unterstützt YUV-Ausgabe, was Hardwarescaling ermöglicht, wenn dies vom Videoausgabetreiber unterstützt wird.


6.2.1.8 RealVideo

MPlayer unterstützt die Dekodierung aller Versionen von RealVideo:

  • RealVideo 1.0 (fourcc RV10) - En/Dekodierung durch libavcodec unterstützt
  • RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - Dekodierung durch die RealPlayer Libraries unterstützt

Es wird empfohlen, RealPlayer8 oder RealONE herunterzuladen und zu installieren, da MPlayer deren Bibliotheken verwenden kann, um RealVideo 2.0, 3.0 oder 4.0 zu decodieren. Das configure-Script von MPlayer sollte die RealPlayer-Bibliotheken an der normalen Stelle der Vollinstallation finden. Falls nicht, kannst du configure über die Option --with-reallibdir mitteilen, wo sie zu suchen/finden sind.

Hinweis:

Momentan funktionieren die RealPlayer-Bibliotheken nur mit Linux, FreeBSD, NetBSD und Cygwin auf der x86 oder der Alpha-Plattform.

6.2.1.9 XviD

en XviD ist eine abgespaltene Entwicklung des OpenDivX-Codecs. Es geschah, als ProjectMayo OpenDivX in das ClosedSource-Projekt DivX4 (jetzt DivX5) änderte, woraufhin die Leute, die an OpenDivX aber nicht beim ProjectMayo arbeiteten, sauer wurden und XviD starteten. Beide Projekte haben also den selben Urpsrung.

Vorteile:

  • Open Source
  • Das API ist kompatibel mit DivX4, sodass es leicht ist, Unterstützung dafür einzubauen.
  • 2-Pass Encodierungs-Unterstützung
  • gute Encodierungsqualität, höhere Geschwindigkeit als DivX4 (man kann es während des Kompilierens für den jeweiligen Rechner optimieren)

Nachteile:

  • Es decodiert momentan nicht alle DivX/DivX4-Dateien sauber (kein Problem, da man sie ja immer noch mit der libavcodec abspielen kann).
  • Man muss sich beim Kompilieren für die DivX4- ODER XviD-Unterstützung entscheiden.
  • in der Entwicklung

Installation der XVID-CVS-Version:

XviD ist momentan nur als CVS erhältlich. Hier sind die Download- und Installations-Anweisungen:

  1. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
  2. cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
  3. cd xvidcore/build/generic
  4. ändere Makefile.linux deinen Bedürfnissen entsprechend
  5. make -f Makefile.linux
  6. Nimm die encore2.h und decore.h vom Divx4linux-Paket und kopiere diese nach /usr/local/include/.
  7. kompiliere MPlayer neu mit --with-xvidcore=/pfad/zu/libcore.a.

6.2.1.10 Sorenson

Sorenson ist eine von Sorenson Media entwickelte und von Apple lizenzierte Videocodecfamilie. Wir sind momentan in der Lage, alle Videos zu decodieren, die mit einer der folgenden Sorenson-Versionen erstellt wurden:

  • Sorenson 1 (fourcc /SVQ1/) - Decodierung durch selbstentwickelte Codecs. Tatsächlich gibt es zwei (qualitativ nahezu identische) Decoder für SVQ1: Einer ist der in MPlayer enthaltene OpenSource-Codec, der andere ist der in libavcodec vorhandene Decoder. Du kannst sie mit -vc svq1 respektive -vc ffsvq1 benutzen. Manche Dateien funktionieren eventuell nur mit einem der beiden Decoder. Probier als bei problematischen Dateien beide Decoder aus. Der Decoder wurde von den en xine-Autoren geschrieben.
  • Sorenson 3 (fourcc /SVQ3/) - Decodierung mit den Win32-QuickTime-Bibliotheken

6.2.1.11 Kompilierung von MPLAYER mit Unterstützung für Quicktime-Bibliotheken