## 2.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 war. 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 Video Formate sind: MPG, VOB, AVI, ASF.

Theoretisch kann du ein OpenDivX Video und MP3 Audio in ein .MPG Dateiformat geben. Die meisten Player könnten es jedoch nicht abspielen, das die MPEG1 Video und MP2 Audio erwarten (im Gegensatz zu AVI unterstützt MPG besitzt nicht die nötigen Felder, die die Video und Audio Streams beschreiben). Oder du könntest ein MPEG1 Video in ein .AVI geben. ffmpeg kann solche Dateien erzeugen.

Im Gegensatz dazu sind Audio Codecs and Audio Formate grundsätzlich gleich.

### 2.1.1. Video Formate

#### 2.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 und 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 selbe wie MPG mit zusätzlicher Kapazität um Untertitel oder nicht-MPEG (AC3) Audio aufzunehmen. Es enthält MPEG2 Video und normalerweise AC3 Audio, aber DTS, MP2 und unkomprimierte LPCMs sind auch 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 die Aspect Ratio des Video Streams angibt. SVCDs haben zum Beispiel Video mit 480x480 Auflösung und im Header ist diese Feld auf 4:3 gesetzt, also wird es als 640x480 abgespielt. AVI-Dateien haben diese Feld nicht, sodass diese während des Encodierens skaliert werden müssen oder die Option -aspect bei der Wiedergabe verwendet werden muss.

#### 2.1.1.2. AVI Dateien

Entworfen von Microsoft, ist AVI (Audio Video Interleaved) ein weitverbeitetes Multifunktionsformat, es wird zur Zeit hauptsächlich für DivX und DivX4 Videos verwendet. Es hat einige bekannte Nachteile und Unfähigkeiten (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 versucht zur Zeit von der Verwendung stark abzuraten und propergiert ASF/WMV. Aber keiner achtet darauf.

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

Hinweis: DV-Kameras können raw DV-Streams erzeugen, welche von DV-Tools 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 raw DV-Stream. An dessen Unterstützung wird gerade gearbeitet.

Es gibt 2 Arten von AVI-Dateien:

- Interleaved: Audio- und Video-Inhalt sind interleaved. Die ist üblich. Empfohlen und wird auch meist verwendet. Einige Tools erzeugen interleaved AVIs mit schlechtem Sync. MPlayer erkennt diese als interleaved und es wird im Verlust der A/V Sync sichtbar, möglichweise auch beim Suchen. 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 2 Arten des timings für AVI Dateien:

- bps-basiert : Es basiert auf die Bitrate/Samplerate des Video/Audio stream. Diese Methode wird von den meisten Playern verwendet, inklusiv avifile und Windows Media Player. Dateien mit kaputten headers, und Datein, welche mit VBR Audio aber nicht VBR-unterstützdem Encoder erstellt wurden, führen zu einer A/V Desync mit dieser Methode (Meist beim Suchen).
- interleaving-basiert : Es benutzt nicht mehr den Wert der Bitrate, sondern benutzt die relative Position des interleaved Audio und Video Mülls, was einige falsch codierte Dateien mit VBR-Audio abspielbar macht.

Irgendein Audio- und Video-Codec ist erlaubt, aber bedenke das VBR-Audio von den meisten Playern nicht gut unstützt wird. Das Dateiformat macht es möglich VBR Audio zu verwendenm, aber die meinsten Player erwarten CBR Audio, darum funktioniert VBR nicht. 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 2 Ausnahmen: NanDub und MEncoder.

#### 2.1.1.3. ASF/WMV Dateien

ASF (Active Streaming Format) kommt von Microsoft. Sie habe 2 Arten von ASF, v1.0 und v2.0 entwickelt. 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 Kompatibilität (es ist nur ein anderes legales Spiel). MPlayer unterstützt nur v1.0, weil noch niemand v2.0 Dateien gesehen hat :). Beachte das .ASF Dateien heute auch mit der Extension .WMA oder .WMV vorkommen.

#### 2.1.1.4. QuickTime/MOV Dateien

Diese Formate sind von Apple designt und können irgendeinen 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. Deren .MOV Dateien kommen mit den .MPG oder .MP4 Endungen (Interessanterweise sind bei diesen Dateien die Video- und Audiostreams richtige MPG und AAC Dateien. Mit der `-dumpvideo` und `-dumpaudio` Option kannst du sie sogar extrahieren.).

Hinweis: Die meisten QuickTime-Dateien benutzen Sorenson Video und QDesign Audio. Lies dazu die Sorenson Codec Sektion. QDesign Music Audio kann momentan nicht wiedergegeben werden.

#### 2.1.1.5. VIVO Dateien

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

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.

Siehe in der VIVO Videocodec und VIVO Audiocodec Sektion für Installationsanweisungen.

#### 2.1.1.6. FLI Dateien

FLI ist ein sehr altes Fileformat benutzt vom Autodesk Animator, aber es ist ein gebräucliches Fileformat auf dem Netz für kurze Animationen. MPlayer demuxt und decodiert FLI Filme und ist sogar fähig sie zu durchsuchen (nützlich wenn man looping aktiviert mit der `-loop` Option). FLI Dateien haben keine Keyframes, was zu verunstalteten Bildern kurz nach dem Suchen führt.

#### 2.1.1.7. RealMedia (RM) Dateien

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

#### 2.1.1.8. NuppelVideo Dateien

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

#### 2.1.1.9. yuv4mpeg Dateien

yuv4mpeg / yuv4mpeg2 ist ein Fileformat, das von 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.

#### 2.1.1.10. FILM Dateien

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

#### 2.1.1.11. RoQ Dateien

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

#### 2.1.1.12. OGG Dateien

Dies ist ein neues Dateiformat von Xiphophorus. Es kann irgendein Video oder Audio Codec enthalten, CBR oder VBR. Man benötigt dazu installierte `libogg` und `libvorbis` Bibliotheken vor der Kompilierung von MPlayer, um sie wiedergeben zu können.

### 2.1.2. Audio Formate

MPlayer ist ein Film und kein Media Player. Er kann auch einige Audioformate wiedergeben (diese sind in der unteren Sektion beschrieben). Dies ist nicht empfohlen, es sollte besser xmms verwendet werden.

#### 2.1.2.1. MP3 Dateien

Du hast vielleicht Probleme mit der Wiedergabe einiger 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.

#### 2.1.2.2. WAV Dateien

#### 2.1.2.3. OGG Dateien (Vorbis)

Benötigt eine richtig installierte `libogg` und `libvorbis`.

#### 2.1.2.4. WMA/ASF Dateien

#### 2.1.2.5. MP4 Dateien