# MPlayer - The Movie Player for LINUX

## © 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[ Deutsch ] [ Englisch ] [ Ungarisch ] [ Französisch ] [ Polnisch ] [ Italienisch ]

## Inhaltsverzeichnis

- 0. Wie diese Dokumentation zu lesen ist
- 1. Einleitung
  - 1.1 Geschichte
  - 1.2 Installation
  - 1.3 Was ist mit dem GUI?
  - 1.4 Untertitel und OSD
  - 1.5 RTC
- 2. Features
  - 2.1 Unterstützte Formate
    - 2.1.1 Videoformate
      - 2.1.1.1 MPEG Dateien
      - 2.1.1.2 AVI Dateien
      - 2.1.1.3 ASF/WMV Dateien
      - 2.1.1.4 QickTime/MOV Dateien
      - 2.1.1.5 VIVO Dateien
      - 2.1.1.6 FLI Dateien
      - 2.1.1.7 RealMedia (RM) Dateien
      - 2.1.1.8 NuppelVideo Dateien
      - 2.1.1.9 yuv4mpeg Dateien
      - 2.1.1.10 FILM Dateien
      - 2.1.1.11 RoQ Dateien
      - 2.1.1.12 OGG Dateien
    - 2.1.2 Audioformate
      - 2.1.2.1 MP3 Dateien
      - 2.1.2.2 WAV Dateien
      - 2.1.2.3 OGG Dateien (Vorbis)
      - 2.1.2.4 WMA/ASF Dateien
      - 2.1.2.5 MP4 Dateien
  - 2.2 Unterstützte Codecs
    - 2.2.1 Videocodecs
      - 2.2.1.1 DivX4/DivX5
      - 2.2.1.2 FFmpegs DivX/libavcodec
      - 2.2.1.3 XAnim Codecs
      - 2.2.1.4 VIVO Video
      - 2.2.1.5 MPEG 1/2 Video
      - 2.2.1.6 MS Video1
      - 2.2.1.7 Cinepak CVID
      - 2.2.1.8 RealVideo
      - 2.2.1.9 XViD
      - 2.2.1.10 Sorenson
    - 2.2.2 Audiocodecs
      - 2.2.2.1 Software AC3 Decodierung
      - 2.2.2.2 Hardware AC3 Decodierung
      - 2.2.2.3 libmad Unterstützung
      - 2.2.2.4 VIVO Audio
      - 2.2.2.5 RealAudio
    - 2.2.3 Win32 Codec Einbindungs-Howto
      - 2.2.3.1 VFW Codecs
      - 2.2.3.2 DirectShow Codecs
  - 2.3 Ausgabegeräte
    - 2.3.1 Video Ausgabegeräte
      - 2.3.1.1 Einrichten von MTRR
      - 2.3.1.2 Xv
        - 2.3.1.2.1 3dfx Karten
        - 2.3.1.2.2 S3 Karten
        - 2.3.1.2.3 nVidia Karten
        - 2.3.1.2.4 ATI Karten
        - 2.3.1.2.5 NeoMagic Karten
        - 2.3.1.2.6 Trident Karten
      - 2.3.1.3 DGA
        - 2.3.1.3.1 Zusammenfassung
        - 2.3.1.3.2 Was ist DGA
        - 2.3.1.3.3 Installation der DGA-Unterstützung für MPlayer
        - 2.3.1.3.4 Änderung der Auflösung
        - 2.3.1.3.5 DGA & MPlayer
        - 2.3.1.3.6 Features des DGA-Treibers
        - 2.3.1.3.7 Geschwindigkeit
        - 2.3.1.3.8 Bekannte Probleme
        - 2.3.1.3.9 Zukünftige Arbeiten
        - 2.3.1.3.A Einige Modus-Einstellungen
        - 2.3.1.3.B Fehlerberichte
      - 2.3.1.4 SDL
      - 2.3.1.5 SVGAlib
      - 2.3.1.6 Framebuffer Ausgabe (FBdev)
      - 2.3.1.7 Matrox Framebuffer (mga_vid)
      - 2.3.1.8 SiS 6326 Framebuffer (sis_vid)
      - 2.3.1.9 3dfx YUV Unterstützung (tdfxfb)
      - 2.3.1.10 OpenGL Ausgabe
      - 2.3.1.11 AAlib - Textmodus-Anzeige
      - 2.3.1.12 VESA - zum VESA BIOS
      - 2.3.1.13 X11
      - 2.3.1.14 Vidix
      - 2.3.1.15 Zr
      - 2.3.1.16 DVB
      - 2.3.1.17 DXR3
      - 2.3.1.A TVout Unterstützung
        - 2.3.1.A.1 Matrox G400 Karten
        - 2.3.1.A.2 ATI Karten
        - 2.3.1.A.3 Voodoo 3 Karten
    - 2.2.2 Audio Ausgabegeräte
      - 2.3.2.1 Soundkarten Erfahrungen, Empfehlungen
      - 2.3.2.2 Audio Plugins
        - 2.3.2.2.1 Up-/Downsampling
        - 2.3.2.2.2 Surround Sound Decodierung
        - 2.3.2.2.3 Beispiel Formats-Konvertierer
        - 2.3.2.2.4 Verzögerung
        - 2.3.2.2.5 Software Lautstärkeregelung
        - 2.3.2.2.6 Extrastereo
        - 2.3.2.2.7 Lautstärke-Normalisierer
        - 2.3.2.2.8 Surround
  - 2.4 Konvertierung mit MEncoder
    - 2.4.1 Kompilierung
    - 2.4.2 MEncoder Features
    - 2.4.2.1 2 oder 3pass DivX4 Encodierung
    - 2.4.2.2 Rescaling von Filmen
    - 2.4.2.3 Streamcopy
    - 2.4.2.4 Reparieren von AVIs mit defektem Index
    - 2.4.2.5 Encodierung mit der libavcodec Codec-Familie
    - 2.4.2.6 Encodierung von mehreren Eingangsbildern (JPEGs oder PNGs)
    - 2.4.2.7 Extrahieren von DVD Untertiteln in eine Vobsub Datei
  - 2.4.3 Verfügbare Optionen
- 2.5 TV Eingang
  - 2.5.1 Kompilierung
  - 2.5.2 Verfügbare Optionen
  - 2.5.3 Tastatursteuerung
  - 2.5.4 Beispiele
- 2.6 Videofilter
  - 2.6.1 Verwendung
  - 2.6.2 Schneiden (crop)
  - 2.6.3 Erweitern (expand)
  - 2.6.4 Fame/Lavc
  - 2.6.5 Spiegeln (flip)
  - 2.6.6 Format
  - 2.6.7 Nachbearbeiten (postprocess)
  - 2.6.8 RGB2BGR
  - 2.6.9 Drehen (rotate)
  - 2.6.10 Skalieren (scale)
  - 2.6.11 YUY2
  - 2.6.12 Spiegeln (mirror)
  - 2.6.13 DVBscale
  - 2.6.14 Cropdetect
  - 2.6.15 Rechteck (rectangle)

- 3. Verwendung
  - 3.1 Kommandozeile
  - 3.2 Steuerung
    - 3.2.1 Standard Steuerung
    - 3.2.2 Steuerungskonfiguration
      - 3.2.2.1 Tastennamen
      - 3.2.2.2 Befehle
    - 3.2.3 Steuerung von LIRC
    - 3.2.4 Slave Modus
  - 3.3 Streaming von Netzwerk oder Pipes
- 4. CD/DVD Sektion
  - 4.1 CD/DVD Laufwerke
  - 4.2 DVD Wiedergabe
  - 4.3 VCD Wiedergabe
- 5. FAQ Sektion
  - 5.1 Kompilierung
  - 5.2 Allgemeine Fragen
  - 5.3 Dateiwiedergabe-Probleme
  - 5.4 Video/Audio Treiber-Probleme (vo/ao)
  - 5.5 DVD Wiedergabe
  - 5.6 Feature-Wünsche
  - 5.7 Konvertierung
- 6. Verschiedene Betriebssysteme
  - 6.1 Debain Paketierung
  - 6.2 FreeBSD
  - 6.3 Solaris
  - 6.4 StrongARM
  - 6.5 Silicon Graphics / Irix
  - 6.6 QNX
  - 6.7 OpenBSD
  - 6.8 Cygwin
- Anhang A - Autoren (Englisch)
  - Anhang A2 - Beteiligte (Englisch)
- Anhang B - Mailing-Listen
- Anhang C - Fehlerberichte
  - Anhang C2 - Patches (Englisch)
- Anhang D - Bekannte Probleme
- Anhang X - MPlayer Skinformat (Englisch)

Entwicklerschreie (Englisch)

- 1. GCC 2.96
- 2. Meinungen zu nVidia
- 3. Über Joe Barr

# 0. Wie diese Dokumentation zu lesen ist

Wenn du die Installation zum ersten Mal durchführst: Pass auf, dass du alles von hier bis zum Ende der Installationsanleitung durchliest, und folge den entsprechenden Links. Wenn du immer noch Fragen hast, kehre zum Inhaltsverzeichnis zurück und suche nach dem Begriff, lies die FAQ oder versuche mit Hilfe von grep die Dateien zu durchsuchen.

Die Hauptregel dieser Dokumentation: Wenn es nicht dokumentiert ist, existiert es nicht. Wenn nichts von einer Möglichkeit der Audioencodierung von TV-Karten steht, kann man dies auch nicht tun. Viel Glück. Du wirst es brauchen :)

# 1. Einleitung

MPlayer ist ein Video-Player für LINUX (er läuft auch auf vielen anderen Unix-Systemen und nicht-x86 CPUs, siehe Sektion 6). Er spielt die meisten MPEG, VOB, AVI, OGG, VIVO, ASF/WMF, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM und RoQ Dateien ab, unterstützt von einigen eingebauten, Xanim, RealPlayer und Win32 DLL Codecs. Du kannst VideoCD, SVCD, DVD, 3ivx, RealMedia und auch DivX Filme sehen (die avifile-Bibliotek wird nicht einmal benötigt). Ein weiteres großes Feature von MPlayer ist die große Weite von unterstützten Ausgabetreibern. Es funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib und DirectFB. Du kannst aber auch GGI und SDL (und dadurch alle deren Treiber) und einigen Low-Level grafikkartenabhängige Treiber (für Matrox, 3Dfx und Radeon, Mach64, Permedia3) verwenden. Die meinsten von ihnen unterstützen Software- oder Hardware-Scaling, also kannst du die meinsten deiner Videos in Vollbild geniesen. MPlayer unterstützt auch die Wiedergabe via hardwarehäßiger MPEG-Decoder-Karten, wie DVB und DXR3/Hollywood+! Und was meinst du zu den großen, antialias-schattierten Untertiteln (10 unterstützte Typen) mit europäischen/ISO 8859-1,2 (ungarische, englische, tschechische, usw.), kyrillischen und koreanischen Schriften? Und das onscreen display (OSD)?

MPlayer steht unter der GPL v2 Lizenz.

Der Player spielt felsenfest zerstörte MPEG Dateien (nützlich für einige VCDs) und schlechte AVI-Dateien, welche auch mit dem bekannten Windows Media Player nicht mehr abspielbar sind, ab. Auch AVI-Dateien ohne Index-Chuck sind spielbar und du kannst ihr Index entweder kurzfristig mit der `-idx` Option wiederherstellen oder permanent mit MEncoder, diese ermöglichen die Suchfunktion. Also du siehst, Stabilität und Qualität sind die wichtigsten Dinge für mich, aber die Geschwindigkeit ist auch überraschend.

## 1.1. Geschichte

Es begann vor einem Jahr... Ich (A'rpi) hatte eine eine Menge von Playern unter Linux probiert (mtv, xmps, dvdview, livid/oms, videolan, xine, xanim, avifile, xmmp), aber sie hatten alle ihre Probleme. Meist mit speziellen Dateien oder mit der Audio-Video-Synchronisation. Die meisten waren unfähig beides abzuspielen, MPEG1, MPEG2 und AVI (DivX) Dateien. Einige Player hatten auch Probleme mit der Bildqualität und der Geschwindkeit. So beschloss ich einen Player zu schreiben/zu modifizieren...

- mpg12play v0.1-v0.3: Sep 22-25, 2000
  Der erste Versuch, zuzweit gehackt in einer halben Stunden! Ich verwendete libmpeg3 von www.heroinewarrior.com bis zu Version 0.3, aber es gab Bildqualitäts- und Geschwindigkeitsprobleme.
- mpg12play v0.5-v0.87: Sep 28-Oct 20, 2000
  MPEG Codec wurde ersetzt durch DVDview von Dirk Farin, es war ein großartiges Programm, aber es war langsam und in C++ geschrieben (ich hasse C++!)
- mpg12play v0.9-v0.95pre5: Oct 21-Nov 2, 2000
  MPEG Codec wurde libmpeg2 (mpeg2dec) von Aaron Holtzman & Michel Lespinasse. Es ist großartig, optimiert und schneller C-Code mit perfekter Bildqualität und 100% MPEG Standard.
- MPlayer v0.3-v0.9: Nov 18-Dec 4, 2000
  Es war ein Paket aus 2 Programmen: mpg12play v0.95pre6 und mein neuer, einfacher AVI-Player 'avip' basierend auf Avifiles Win32 DLL Loader.
- MPlayer v0.10: Jan 1, 2001
  Der MPEG und AVI Player in einer einizigen Binary!
- MPlayer v0.11pre Serien:
  Einigen neue Entwickler sind beigetreten und seit 0.11 war MPlayer Team-Arbeit. .ASF Datei-Unterstützung hinzugefügt und OpenDivX (siehe www.projectmayo.com) für en-/decoding.
- MPlayer v0.17 "The IdegCounter" Apr 27, 2001
  Die Release-Version nach 0.11pre nach 4 Monaten schwerer Entwicklung. Probiere es und sei überrascht. Tausende von neuen Features hinzugefügt ... und natürlich wurde auch der alte Code verbessert, Fehler entfernt usw.
- MPlayer 0.18 "The BugCounter" Jul 9, 2001
  2 Monate seit 0.17 und hier ist die neue Release.. Komplette ASF-Unterstützung, mehr Untertitel-Formate, libao wurde eingeführt (wie libvo, aber für Audio), stabiler den je, und so weiter. Es ist ein muss!
- MPlayer 0.50 "The Faszom(C)ounter" Oct 8, 2001
  Hmmm. Wieder eine Release. Tonnen von neuen Featues, beta GUI Version, Fehler beseitigt, neue vo und ao Treiber, Ports zu vielen Systemen inklusive OpenSource DivX Codecs und vieles mehr. Probier's!
- MPlayer 0.60 "The RTFMCounter" Jan 3, 2002
  MOV/VIVO/RM/FLI/NUV Dateiformat-Unterstützung, native CRAM, Cinepak, ADPCM Codecs und Support für die Binary-Codecs von XAnim; DVD Untertitel-Unterstützung, erstes Release des MEncoders, TV-Grabbing, Cache, liba52, unzählbare Fehlerbehebungen.
- MPlayer 0.90 "?" Aug? ??, 2002

## 1.2. Installation

Dieses Kapitel wird versuchen dich auf dem Weg der Konfiguration und Kompilierung von MPlayer zu leiten. Es ist nicht einfach, aber auch nicht unnötig schwer. Wenn dir ein unterschiedliches Verhalten als hier beschrieben auffällt, versuche bitte diese Dokumentation zu durchsuchen und du wirst eine Antwort erhalten. Wenn du Links sieht, bitte folge ihnen und lese was sie enthalten. Es ist einige Zeit benötigen, aber es zahlt sich aus.

Du brauchst erstmals ein aktuelles System. Unter Linux sind 2.4.x Kernel empfohlen.

#### SOFTWARE VORAUSSETZUNGEN

- binutils - vorgeschlagene Version ist 2.11.x. Diese Programm ist verantwortlich für das Erzeugen von MMX/3DNow!/usw Befehlen, deshalb sehr wichtig.
- gcc - vorgeschlagene Version ist von 2.95.3 bis 2.95.4 und 3.1. Verwende niemals 2.96 oder 3.0.x! Sie erzeugen für MPlayer fehlerhaften Code. Wenn du dich entscheidest von 2.96 zu wechseln entscheide dich nicht für 3.0.x nur weil er neuer ist! Früheren Versionen waren sogar schlechter als 2.96, downgrade also zu 2.95.x (downgrade auch die libstdc++, sie wird vielleicht von anderen Programmen benötigt) oder up-/downgrade überhaupt nicht (sei aber in diesem Falle auf Laufzeitfehler vorbereitet). Wenn der 3.x,x verwendet werden soll, sollte die neuste Version versucht werden. Ältere hatten verschiedene Fehler, es sollte also darauf geachtet werden, dass wenigstens 3.1 verwendet wird, da diese Version getestet wurde und funktionieren sollte. Detaillierte Information dazu (die Fehler von gcc 2.96 sind immer noch nicht behoben, sondern wurden in MPlayer umgangen.) können in der gcc 2.96 Sektion und in den FAQs gefunden werden.
- XFree86 - vorgeschlagene Version ist immer die neueste (4.2.0), aber normalerweise will das jeder. Seit XFree86 4.0.2 enthält es die XVideo Erweiterung (auch bezeichnet als Xv) was benötigt wird, um Hardware YUV Beschleunigung (schnelle Bildanzeige) auf Karten die es unterstützen zu nutzen.
  Stelle sicher, dass die Development-Pakete installiert sind, sonst wird es nicht funktionieren.
  Einige Grafikkarten benötigen auch gar kein XFree86. Für eine Liste siehe unten.
- make - vorgeschlagene Version ist immer die neueste (mindestens 3.79.x). Dies ist normalerweise nicht so wichtig.
- SDL - es ist nicht vorgeschrieben, aber es ist hilfreich in einigen Fällen (schlechter Ton oder Videokarten, welche mit Probleme mit dem Xv-Treiber haben). Verwende immer die aktuellste Version (beginnend bei 1.2.x).
- libjpeg - optionaler (M)JPEG Decoder, benutzt bei -mf und einigen QT MOV Dateien. Sowohl für MPlayer als auch für MEncoder nützlich.
- libpng - empfohlen und standard (M)PNG Decoder. Benötigt für das GUI. Sowohl für MPlayer als auch für MEncoder nützlich.
- lame - empfohlen, wird benötigt, um mit MEncoder MP3 Audio zu codieren, die empfohlene Version ist immer die neuste (wenigstens 3.90).
- libogg - optional, wird benötigt für OGG Dateiformat.
- libvorbis - optional, wird benötigt für OGG Vorbis Audio.

#### CODECS

- libavcodec: Dieses Codec Paket kann H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 codierte Filme auf mehreren Plattformen decodieren. Es ist auch als schnellste Variante bekannt. Details können in der libavcodec Sektion gefunden werden. Features:
  - Decodierung der genannten Codecs auf nicht-x86 Maschinen
  - Konvertierung in die meisten der genannten Codecs
  - Dies ist der schnellste verfügbare Codec für DivX/3/4/5 Filme und andere MPEG4 Typen und wird desshalb sehr empfohlen!
- Win32 Codecs: Wenn du planst, MPlayer auf einer x86 Architektur zu verwenden, willst du sie möglicherweise brauchen. Lade dir dazu die w32codecs.zip herunter und entpacke sie nach /usr/lib/win32 . Hinweis: Das Avifile-Projekt hat ein ähnliches Codecs-Paket, aber es unterscheidet sich von unserem. Also wenn du alle unterstützten Codecs verwenden willst, verwende unser Paket. Wie auch immer, du kannst auch unserer Paket für avifile nutzen. Features:
  - du wirst sie möglicherweise brauchen um Video mit verschiedenen Hardware-Kompressoren, wie Tuner Karten und digitalen Kameras (z.B. DV, ATI VCR, MJPEG) abzuspielen oder zu enkodieren
  - erforderlich um WMV8 Filme. Es wird nicht benötigt für alte ASF's mit MP41 oder MP42 Video (obgleich VoxWare Audio für diese Dateien häufig anzutreffen ist - dies wird von den Win32 Codecs behandelt), oder WMV7.
- DivX4/DivX5: Informationen zu diesem Codec sind in der Sektion 2.2.1.1 erhältlich. Wenn du MEncoder nicht verwendest, kannst du auch libavcodec (siehe oben) verwenden, was schneller wäre. Features:
  - 1 Pass oder 2 Pass Enkodierung mit MEncoder
  - du kannst alte DivX3-Film schneller als mit Win32-DLL-Codecs betrachten aber langsamer als libavcodec
  - es ist Closed-Source und nur in einer x86-Version verfügbar.
- XviD: Open source Enkodierungs-Alternative zu Divx4Linux
  Features:
  - 1 Pass oder 2 Pass Encodierung mit MEncoder
  - es ist Open-Source, also nicht nur als x86 Version verfügbar.
  - es ist ungefähr 2 mal schneller als DivX4 bei der Enkodierung - mit der annähernd gleichen Qualität.
- Die XAnim Codecs sind die besten (Vollbild, Hardwaremäßiger YUV Zoom) um 3ivx, Indeo 3/4/5 Filme und einige alte Formate abzuspielen. Und sie sind multiplatform, also sind sie die einzige Möglichkeit um Indeo auf nicht-x86 Plattformen zu sehen (nun mal abgesehen von XAnim :). Aber z.B. Cinepak Filme werden mit dem MPlayer eigenen Cinepak-Decoder am besten wiedergegeben.
- Für Ogg Vorbis Audiodekodierung wird eine korrekte Installation von `libvorbis` benötigt. Es sollten, falls vorhanden, deb/rpm-Pakete verwendet werden oder diese Sourcen kompiliert werden (dies ist eine täglich erneuerter tarball des Vorbis CVS).
- MPlayer kann die Libraries von RealPlayer 8 oder RealONE verwenden, um Dateien mit RealVideo 2.0 und 3.0 Video und Sipro/Cook Audio wiederzugeben. Eine Installationsanleitung und weitere Informationen finden sich in der Sektion RealMedia Dateiformat.

#### VIDEOKARTEN

Es gibt allgemein gesprochen zwei Arten von Grafikkarten. Die eine Art (und die neueren Karten) besitzen Hardware Scaling und YUV Beschleunigung, die anderen nicht.

#### YUV Karten

Sie können das Bild anzeigen und Scalen (Zoomen), in jeder Größe die in ihren Speicher passen und das auch noch mit geringer CPU Auslastung (Zoomen erhöht sie nicht!), darum bekommst du auch ein nettes und sehr schnelle Vollbild.

- Matrox G200/G400/G450/G550 Karten: Obwohl ein Vidix Treiber zur Verfügung gestellt wird, wird empfohlen, stattdessen die alten mga_vid Kernelmodule zu verwenden, diese funktionieren viel besser. Näheres zur Installation und dem Gebrauch findet man in der mga_vid Sektion. Es ist wichtig, diese Schritte vor der Kompilierung von MPlayer vorzunehmen, da ansonsten keine mga_vid Unterstützung einkompiliert wird. Man sollte auch die Matrox TV-out Sektion lesen. Nicht-Linux Benutzer können nur noch die Vidix Treiber verwenden: Dazu sollte die Vidix Sektion gelesen werden.
- 3Dfx Voodoo3/Banshee Karten: Es sollte die Sektion 2.3.1.9 gelesen werden, um eine möglichst hohe Geschwindigkeit zu erzielen. Es ist wichtig, diese Schritte vor der Kompilierung von MPlayer vorzunehmen, da ansonsten keine 3Dfx Unterstützung einkompiliert wird. Man sollte auch die 3dfx TV-out Sektion lesen. Wenn X verwendet wird, sollte mindestens Version 4.2.0 verwendet werden, da die 3dfx Xv-Treiber in 4.1.0 und den früheren Versionen kaputt waren!
- ATI Karten: Der Vidix Treiber wird für folgende Karten zur Verfügung gestellt: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Es sollte auch die ATI Karten Sektion der TV-out Dokumentation gelesen werden um herauszufinden, ob der jeweilige TV-out der Karte unter Linux/MPlayer unterstützt wird.
- S3 Karten: Die Savage und Virge/DX Chips besitzen Hardwarebeschleunigung. Verwende die neueste XFree86 Version, ältere Treiber sind fehlerhaft. Savage Chips machen Problem mit YV12 Anzeige, siehe S3 Xv Sektion für Details. Ältere, Trio Karten haben keinen oder langsamen Hardwaresupport.
- nVidia Karten: sehr schlechte Wahl für Videowiedergabe. nVidias Karten werden im Fernen Osten erzeugt und haben sehr billige und qualitativ minderwertige Chips. Der eingebaute nVidia Treiber in XFree86 enthält keine Hardwareunterstützung für YUV Beschleunigung! Du musst dir die Closed-Source Treiber von nvidia.com downloaden. Nähere Details finden sich in der nVidia Xv Treiber Sektion.
- 3DLabs GLINT R3 und Permedia3: Ein Vidix-Treiber steht zur Verfügung (pm3_vid). Es sollten auch die Vidix Instruktionen gelesen werden.
- Andere Karten: Keine oben genannte?
  - Schau ob dein XFree86 Treiber (und deine Karte) Hardwarebeschleunigung unterstützt. Siehe Xv Sektion für Details.
  - Wenn nicht, werden die Features deiner Karte unter deinem Betriebssystem nicht unterstützt :(
    Wenn die Hardware Skalierung unter Windows läuft, bedeutet dies nicht, dass das auch unter Linux oder anderen Betriebssystem funktioniert. Es hängt von den Treibern ab! Die meisten Hersteller erstellen weder Linux Treiber, noch geben sie die Chip Spezifikationen frei - du bist also der Unglückliche, wenn du diese Karten verwendest. Lies die dazu über 'Nicht-YUV Karten':

#### Nicht-YUV Karten

Vollbild kann durch Zoomen durch eine Softwareskalierung (benutze die Option `-zoom` oder `-vop scale` erreicht werden. Aber sei gewarnt: Es ist langsam!) Es kann auch durch den Wechsel in einen kleineren Videomodus erreicht werden, z.B. zu 352x288. Wenn keine YUV Beschleunigung zur Verfügung steht, ist diese letztgenannte Methode zu empfehlen. Bei MPlayer kann dieses Verhalten durch das Verwenden der `-vm` Option und mit den folgenden Treibern beeinflusst werden:

- Verwendung von XFree86: siehe Details in der DGA Treiber und der X11 Treiber Sektion. DGA ist empfohlen! Versuche auch DGA via SDL zu verwenden, manchmal ist es besser.
- Ohne XFree86: versuche die Treiber in folgender Reihenfolge: vesa, fbdev, svgalib, aalib.

Einige Karten:

- Cirrus Logic Karten:
  - GD 7548: In Compaq Armada 41xx Notebook Serien eingebaut und getestet.
    - XFree86 3: Funktioniert im 8/16bpp Modus. Der Treiber ist aber zu langsam und fehlerbehaftet in 800x600@16bpp. Empfohlen: 640x480@16bpp
    - XFree86 4: Der Xserver friert oft ein nach dem Start, es sei denn, die Beschleunigung ist deaktiviert. Dann wird jedoch alles langsamer als XFree86 3. Kein XVideo.
    - FBdev: Die Karte kann bloss VBE 1.2, so dass der VESA Framebuffer nicht verwendet werden kann. Als versucht wurde dies mit UniVBE zu umgehen, war der Framebuffer voll von Schutt.
    - VESA: Die Karte kann bloss VBE 1.2, so dass die VESA-Ausgabe nicht verwendet werden kann. Siehe oben.
    - SVGAlib: Erkennt ältere Cirrus Chips. Brauchbar, jedoch langsam mit `-bpp 8`.

#### SOUNDKARTEN

- Soundblaster Live!: Diese Karte kann 4 oder 6 (5.1) Kanäle (von AC3) anstelle von 2 verwenden. Lies die Softwaremäßige AC3-Decodierung Sektion.
- C-Media mit SP/DIF Ausgang: Hardware AC3 Durchgabe ist möglich mit diesen Karten, siehe Hardware AC3 Decodierung Sektion. Für Hardware AC3 Durchgabe muss die ALSA 0.9 OSS Emulation verwendet werden!
- Die Features von anderen Karten werden von MPlayer nicht unterstützt. Es ist sehr zu empfehlen die Soundkarten Sektion zu lesen!

#### FEATURES

- Entscheide dich, ob du das GUI brauchst. Wenn du es braucht, wirf einen Blick auf die Sektion 1.3 vor dem Kompilieren.
- Wenn du MEncoder installieren willst (unser grossartiger, vielseitiger Encoder), siehe MEncoder Sektion .
- Wenn du eine V4L-kompatible TV-Tuner Karte hast und du mit MPlayer fernsehen oder encodieren willst, siehe in der TV-Input Sektion.

Nun kompiliere MPlayer:

        ./configure
        make
        make install

Ab diesem Zeitpunkt ist MPlayer zur Benutzung bereit. Das Verzeichnis `$PREFIX/share/mplayer` enthält die `codecs.conf` Datei, welche benutzt wird um dem Programm alle Codecs und deren Möglichkeiten zu sagen. Diese Datei sollte zusammen mit dem Hauptprogramm immer aktuell gehalten werden!
Es sollte ausserdem überprüft werden, ob eine codecs.conf in dem Home-Verzeichnis (`~/.mplayer/codecs.conf`) von einer alten MPlayer Version vorhanden ist. Diese sollte gelöscht werden!

Debian Benutzer können ein `.deb` Paket für sich kompilieren, es ist sehr einfach. Man muss bloss `fakeroot debian/rules binary` in MPlayer's Basisverzeichnis ausführen. Genauere Anleitungen können in der Debian Sektion gefunden werden.

Schau dir immer die Ausgabe von `./configure` und der `configure.log`-Datei an, es enthält Infos darüber, was eingebaut wird, und was nicht. Du kannst dir auch die `config.h` und `config.mak` Dateien ansehen.
Wenn einige Bibliotheken installiert sind, jedoch nicht von `./configure` erkannt werden, sollte überprüft werden, ob auch die richtigen Header-Dateien installiert sind (normalerweise die -dev Pakete) und ob deren Versionen stimmen. Das `configure.log` sagt die normalerweise, was fehlt.

Wenn auch unwichtig sollten trotzdem die Schriften installiert werden um das OSD und die Untertitel-Unterstützung zu ermöglichen. Lade dir `mp_arial-iso-8859-*.zip` und optionale (fall sie existieren) Sprachupdates. Es ist sehr zu empfehlen die Untertitel und OSD Sektion für Details zu lesen.

        mkdir ~/.mplayer/font
        cd ~/.mplayer/font
        unzip mp_arial-iso-8859-1.zip
        ln -s ~/.mplayer/font/arial-24 font

## 1.3. Was ist mit dem GUI?

Das GUI basiert auf GTK, es muss also auch gtk (und dessen devel-Pakete) installiert sein. Du kannst es durch den Parameter `--enable-gui` bei `./configure` einbauen. Um MPlayer im GUI-Modus zu betreiben kannst du entweder

- die `-gui` Option verwenden
- `gui=yes` in deine Config-File eintragen
- `ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer` ausführen und `gmplayer` aufrufen.

Hinweis: Es kann die mittlere Maustaste gedrückt werden (auf 2 Tastenmäusen links und rechts gleichzeitig) um ein GTK-Menu mit DVD Wiedergabeoptionen zu öffnen.

Da MPlayer keine Skins enthält musst du dir welche downloaden, wenn du das GUI verwenden willst. Schau dazu auf die Download-Seite. Diese sollten in das normale, systemweite Verzeichnis (`$PREFIX/share/mplayer/Skin`) oder nach `$HOME/.mplayer/Skin` extrahiert werden. Mplayer sucht standardmäßig nach einem Verzeichnis namens `default`, aber du kannst mit der Option `-skin (neuer Skin)` oder dem Eintrag `skin=(neuer Skin)` in der Konfigurationsdatei den Skin `*/Skin/(neuer Skin)` auswählen.

## 1.4. Untertitel und OSD

MPlayer kann Untertitel zu Filmen darstellen. Momentan sind folgende Formate unterstützt:

- VobSub
- Microdvd
- SubRip
- SubViewer
- Sami
- VPlayer
- RT
- SSA
- MPsub
- AQTitle

Die Kommandozeilen-Option unterscheidet sich leicht für die unterschiedlichen Formate:

VobSub subtitles
VobSub Untertitel bestehen aus einer grossen .SUB Datei und optional .IDX und/oder .IFO Dateien.
Benutzung: wenn du Dateien wie `beispiel.sub`, `beispiel.ifo`, `beispiel.idx` hast - musst du die Option `-vobsub beispiel -vobsubid <id>` mitgeben (optional mit Pfadangabe natürlich). Die `-vobsubid` Option ist wie `-sid` für DVDs, du kannst mit ihm zwischen Untertitel-Abschnitten (Sprache) wählen.

Andere Untertitel
Die anderen Formate bestehen aus einer einzigen Textdatei, welche das Timing, die Plazierung und die Textinformationen enthält.
Verwendung: Wenn man eine Datei wie `beispiel.txt` hat, übergibt man einfach die Option `-sub beispiel.txt` (natürlich optional mit Pfadname).

Angleichung der Untertitel Timings und Plazierungen
`-subdelay <sec>`: Verzögert die Untertitel um <sec> Sekunden. Kann negativ sein.
`-subfps <rate>`: Gibt die Frame/sec Rate der Untertitel-Datei an (Fliesskommazahl)
`-subpos <0 - 100>`: Gibts die Position der Untertitel an.

Wenn eine höherwerdende Verzögerung zwischen dem Film und den Untertiteln festgestellt wird bei einer MicroDVD Untertitel-Datei, dann sind höchstwahrscheinlich die Frameraten des Filmes und der Untertitel-Datei unterschiedlich.
Hinweis: Das MicroDVD Untertitel-Format verwendet eine absolute Framenummer für sein Timing, desshalb kann die `-subfps` Option nicht für dieses Format verwendet werden. Da MPlayer keine Möglichkeit besitzt die Framerate einer Untertitel-Datei zu erraten, muss die Framerate manuell konvertiert werden. Im `contrib` Verzeichnis der MPlayer FTP-Seite befindet sich ein kleines Perl-Script, das diese Konvertierung für dich vornimmt.

Für DVD Untertitel lese die DVD Sektion.

MPlayer unterstützt ein neues Untertitel-Format, genannt MPsub. Es wurde von mir (Gabucino) entwickelt. Das Haupt-Feature ist grundsätzlich dynamisch zeitabhängig (obwohl es auch einen Frame-basierende Modus besitzt). Ein Beispiel (von mpsub.sub):

`# erste Nummer : warte so lange nach dem Verschwinden des vorherigen Untertitels
# zweite Nummer : zeige den momentanen Untertitel für so viele Sekunden
15 3
A long time ago...
0 3
in a galaxy far, far away...
0 3
Naboo was under attack.
`

Wie man erkennen ist das Hauptziel Untertitel bearbeiten/Timing/Zusammenfügen/Schneiden einfach zu machen. Und wenn du mal angenommen einen SSA Untertitel bekommst und er ist er ist zeitlich schlecht abgestimmt zu deinem Video, kannst du einfach `mplayer dummy.avi -sub quelle.ssa -dumpmpsub` ausführen. Es wird eine `dump.mpsub`-Datei im aktuellen Verzeichnis erzeugt, die den Quell-Untertitel-Text enthält, jedoch im MPsub-Format. Dann kannst du dem Untertitel einfach Sekunden hinzufügen usw.

Untertitel werden mit einer Technik - genannt 'OSD', On Screen Display - angezeigt. OSD wird verwendet, um die aktuelle Zeit, die Lautstärken- und Such-Leisten anzuzeigen.

#### INSTALLATION des OSD und der Untertitel

Du brauchst ein MPlayer-Schriftenpaket, dass du das OSD/SUB Feature verwenden kannt. Es gibt mehrere Möglichkeiten um eines zu bekommen:

- downloade die fertigen Schiftpaketen von der MPlayer Seite. Hinweis: die aktuell verfügbaren Schriften sind beschränkt auf ISO 8859-1/2-Unterstützung, und es gibt noch einige andere (einschliesslich koreanische, russische, 8859-8 etc) Schriften in der contrib/font Sektion auf dem FTP-Server, von Benutzern gemacht. Die Schriften sollte eine passende font.desc-Datei haben, welche die Unicode-Schrift an die aktuelle Codepage und den Untertitel-Text anpasst. Eine andere Lösung ist, dass man die Untertitel im UTF8 Format encodiert und die -utf8 Option verwendet oder die Untertitel-Datei in <video_name>.utf umbenennt. Das Neu-Kodieren von verschiedenen Codepages zu UTF8 kann mit dem konwert (debian) oder iconv (Red Hat) Programm gemacht werden.
  Einige URLs:
  - ftp://ftp.mplayerhq.hu/MPlayer/releases - ISO Schiften
  - ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts - verschiedene Schriften von Anwendern
  - http://realtime.ssu.ac.kr/~lethean/mplayer - koreanische Schrift und RAW-Plugin
- verwende das Schrift-Erzeugungs-Tool, du kann es finden unter TOOLS/subfont-c . Es ist ein komplettes Tool um TTF/Type1/usw. Schriften zu einem MPlayer-Schriftpaket zu konvertieren (lese TOOLS/subfont-c/README für Details)
- verwende das GIMP-Plugin für Schrift-Erzeugung unter TOOLS/subfont-GIMP (Hinweis: Du musst den HSI RAW Plugin auch haben, siehe URL unten)

Nach den Download entpacke die Dateien nach `~/.mplayer` oder `$PREFIX/share/mplayer`. Dann benennst du eine davon um oder erstellst einen symbolischen Links zu `font` (wie z.B.: `ln -s ~/.mplayer/arial-24 ~/.mplayer/font`). Nun musst du die Zeit im oberen, linken Ecke des Films sehen (kann man mit der Taste "o" ausschalten).

Das OSD hat 3 Anzeigearten: (Wechsel mit 'o')

- Zeit + Lautstärken- + Suchleiste + Untertitel (Standard)
- Lautstärken- + Suchleiste + Untertitel
- nur Untertitel

Du kannst das Standard-Verhalten mit der `osdlevel=` Variable in der Konfigurationsdatei einstellen.

## 1.5 RTC

Es gibt 3 Methoden der Zeitmessung in MPlayer.

- Um die alte Methode zu verwenden, muss nichts getan werden. MPlayer verwendet `usleep()` um die A/V Sync einzustellen, mit +/- 10ms Abweichung. Wie auch immer, manchmal muss die Synchronisation einfach feiner eingestellt werden.
- Der neue Timercode verwendet die RTC (Real Time Clock [Echtzeituhr]) für diese Aufgabe, da er Timer mit genau 1ms Abweichung erzeugen kann. Dies wird automatisch aktiviert, falls verfügbar, erfordert jedoch Root-Privilegien, ein setuid root MPlayer Binary oder einen passend eingerichteten Kernel.
  Wenn der Kernel 2.4.19pre8 oder später verwendet wird, kann die maximale RTC Frequenz für normale Benutzer über das `/proc` Filesystem angepasst werden. Es kann folgender Befehl verwendet werden, um RTC für alle normalen Benutzer zu aktivieren:

  `echo 1024 > /proc/sys/dev/rtc/max-user-freq`

  Wenn kein solcher Kernel verwendet wird, kann auch eine Linie in `drivers/char/rtc.c` verändert und der Kernel neu kompiliert werden. Es muss dazu folgender Abschnitt gesucht werden:

        * We don't really want Joe User enabling more
        * than 64Hz of interrupts on a multi-user machine.
        */
       if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))

  Dann sollte 64 in 1024 geändert werden. Man sollte dabei allerdings wirklich wissen, was man tut.
  Man kann die Effizienz des neuen Timers in der Statusleiste sehen.
  Die Energieverwaltungs-Funktionen einiger Notebook-BIOSs mit Speedstep CPUs verhalten sich störend mit RTC. Audio und Video können dadurch aus der Synchronisation fallen. Das einstecken des externen Stromsteckers vor dem Booten soll scheinbar helfen. RTC kann jedoch jederzeit mit der Option `-nortc` deaktiviert werden. In einigen Hardwarekombinationen (bestätigt durch die Verwendung eines nicht-DMA DVD-Laufwerkes auf einem ALi1541-Board) verursacht der RTC-Timer eine rucklige Wiedergabe. Es wird empfohlen die folgende Methode in diesen Fällen zu verwenden.
- Der dritte Timercode wird mit der Option `-softsleep` aktiviert. Er besitzt dieselbe Effizienz wie die RTC, braucht jedoch kein RTC. Er braucht jedoch auch mehr CPU-Leistung.

> Warnung: Sicherheitsrisiko
> Dies ist ein grvsseres Sicherheitsrisiko! Es sollte nie auf einem Server oder einem Computer, der nicht vollstdndig kontrolliert wird angewandt werden. Da die User durch einen SUID root MPlayer Root-Privilegien bekommen!
> Du bist also gewarnt worden!

# 2. Features

## 2.1. Unterstützte Formate

## 2.2. Unterstützte Codecs

## 2.3. Video & Audio Ausgabegeräte

## 2.4. MEncoder - Ein vielseitiger Encoder

## 2.5. TV input

Dieser Teil der Docs zeigt wie man das Sehen/Grabben über einen V4L-kompatiblen TV-Tuner ermöglicht.

Der Code wird momentan nicht weiterentwickelt! Es ist kein reibungsloser Ablauf ohne Bearbeiten/Experimentieren zu erwarten.

### 2.5.1. Kompilierung

- Als erstes musst du neu kompilieren. `./configure` erkennt automatisch die Kernel-Header von v4l und ob die `/dev/video*` Einträge existieren. Wenn sie existieren wird die TV Unterstützung eingebaut. (siehe Ausgabe von `configure`).
- stelle sicher, dass dein Tuner mit anderer TV-Software unter Linux funktioniert, zum Beispiel xawtv.

Hinweis: Sind die Farben falsch? Dann kein dein Tuner kein YV12 darstellen. Versuche I420 (`-vc rawi420`), YUY2, UYVY oder RGB32 (`-vo sdl`) Colorspaces. Du kannst diese Eigenschaft mit der `outfmt=YV12` Option (siehe unten) einstellen.

### 2.5.2. Verfügbare Optionen

| `on` |  | verwenden des TV-Inputs
| `noaudio` |  | kein Ton
| `driver` |  | `dummy` - NULL TV-Input :) Nur zum Testen, erzeugt Dummy-Input. `v4l` - nimmt Bilder vom Standard-V4L-Interface (normalerweise `/dev/video0`)
| `device` |  | wählt einen anderen Treiber als `/dev/video0`.
| `input` |  | Gibt den zu verwendenen Input des TV Tuners an, (z.B. `1` (Television),`2`,`3`, ...) Beim Inizialisieren werden die verfügbaren Eingänge angezeigt.
| `freq` |  | wählt die Frequenz für den Tuner (z.B. `511.250`)
| `outfmt` |  | Format, mit dem ausgegeben werden soll (`rgb32`, `rgb24`, `yv12`, `uyvy`, `i420` (für i420 musst du die Option `-vc rawi420` übergeben, wegen eines fourcc Konflikts))
| `width` |  | die Breite des Ausgabe-Fensters, in Pixel
| `height` |  | die Höhe des Ausgabe-Fensters, in Pixel
| `norm` |  | verfügbare Normen: PAL, SECAM, NTSC
| `channel` |  | Tuner auf eingestellten Kanal setzen
| `chanlist` |  | verfügbar: `us-bcast, us-cable, europe-west, europe-east, usw`

### 2.5.3. Tastatursteuerung

| h oder k |  | wählt vorherigen/nächsten Kanal
| n |  | ändern der Norm
| b |  | ändern der Kanalliste

### 2.5.4. Beispiele

Dummy Ausgabe zu AAlib :)
`mplayer -tv on:driver=dummy:width=640:height=480 -vo aa`
Eingabe von Standard-V4L
`mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv`

Hinweis:
Wenn man eine TV Karte mit einem externen Audiodevice besitzt und nur einen schwarzen Bildschrim erhält, obwohl es unter xawtv oder ähnlichne lief, sollte die `-noaudio` Option verwendet werden. Für das obrige Beispiel wäre das wie folgt:
`mplayer -tv on:noaudio:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv`

## 2.6. Videofilter

Beide, MPlayer und MEncoder, unterstützen die Benutzung einer universalen Video-Filterschicht (video filter layer), welche eine grosse Anzahl Plugins enthält, die unten aufgelistet und beschrieben werden. Diese Plugins können verschiedene Aktionen auf die Bilder ausführen, wie Neuskalierungen (rescale), Abschneiden (crop) schwarzer Ränder (nicht nur für eine Konvertierung nützlich, sondern auch für die Wiedergabe, da die schwarzen Ränder den Bus-Gebrauch eröhen: Das Abschneiden von jenen kann die Wiedergabegeschwindigkeit auf langsamen Boards erhöhen), Erweitern (expand) von Bildern (für SVCDs).

Mit dieser Filterschicht ist es möglich schnelle Bildformat-Konvertierungen zwischen verschiedenen RGB und YUV durchzuführen falls nötig. Dies erlaubt zum Beispiel die Wiedergabe von RGB Daten auf den `xv` und `xmga` Videoausgaben, neben anderen Dingen. (siehe Skalieren (Scale))

Die Filterschicht erlaubt auch Direct Rendering zwischen den Plugins, um die Geschwindigkeit zu maximieren.

Hinweis: Der Nachbearbeitung (postprocessing) Code ist nun auch Teil dieser Schicht. Dies wird später erklärt.

### 2.6.1. Verwendung

`mplayer/mencoder -vop filter1,filter2,filter3,...`

Dies erzeugt eine Filter-Pipeline (man kann eine beliebige Anzahl Filter verwenden). Deren Parameter sind optional und einige haben, wenn ausgelassen, Standard-Werte, so wie z.B. `x` und `y` beide auf die Mitte des Bildschirms gesetzt sind und `höhe` und `breite` werden auf die Höhe und Breite des Films gesetzt.

Die Filter werden von libvo eingereiht, so dass `filter1` der zuletzt ausgeführte Filter sein wird (danach kommt libvo oder, wenn MEncoder verwendet wird, encoding).

Um eine Liste aller verfügbaren Videofilter zu erhalten, kann folgender Befehl verwendet werden:

`mplayer -vop help`

### 2.6.2. Schneiden (crop)

Beschreibung:

Schneidet einen vorgegebenen Teil aus dem Bild aus und verwirft den Rest. Nützlich, um die schwarzen Ränder auf Breitbild-Filmen zu löschen.

Verwendung:

`-vop crop[=höhe:breite:x:y]`

### 2.6.3. Erweitern (expand)

Beschreibung:

Erweitert (nicht skaliert) die Filmauflösung um den gegebenen Wert, plaziert das unskalierte Original auf `x` `y`. Für Filme, die keine schwarzen Ränder besitzen, kann dies verwendet werden, um diese hinzuzufügen. Dies ist gut bei der Erstellung von SVCDs oder um Untertitel oder das OSD dort zu plazieren.

Verwendung:

`-vop expand[=höhe:breite:x:y]`

### 2.6.4. Fame/Lavc

Beschreibung:

Echtzeit MPEG1-Konvertierer (unter Verwendung von libfame oder libavcodec) (um mit DVB/DXR3 benutzt zu werden).

Verwendung:

`-vop fame`

`-vop lavc`

### 2.6.5. Spiegeln (flip)

Beschreibung:

Spiegelt das Bild in vertikaler Richtung. Nützlich für einige alte Codecs, welche nur gespiegelte bilder wiedergeben können (diese werden automatisch erkannt).

Verwendung:

`-vop flip`

### 2.6.6. Format

Beschreibung:

Dieser Filter ist KEIN Bildformat-Konvertierer. Es zwingt bloss den nächsten Filter (oder libvo), welches Bildformat verwendet werden soll. Nützlich für Karten mit langsamen YV12, wie tdfx und Savage4. Für eine echte Konvertierung sollte der Skalier (scale) Filter verwendet werden.

Verwendung:

`-vop format[=format]` (wobei `format` z.B. dies sein kann: rgb32, yuy2, etc...)

### 2.6.7. Nachbearbeiten (postprocess)

Beschreibung:

Dies ist das gute alte postprocess, einfach in die Filterschicht verschoben. Führt Bildqualitäts-Erweiterungen durch, deinterlacing, usw. Die Option `-npp help` zeigt alle verfügbaren Optionen.

Verwendung:

`-vop pp[=postprocess Optionen/Schlüsselwörter]`

### 2.6.8. RGB2BGR

Beschreibung:

Führt eine RGB 24/32 <-> BGR 24/32 colorspace Konvertierung durch (normales Verhalten) oder RGB 24/32 <-> RGB 24/32 Konvertierung mit R<->B swapping (mit der `swap` Option)

Verwendung:

`-vop rgb2bgr[=swap]`

### 2.6.9. Drehen (rotate)

Beschreibung:

Rotiert (spiegelt) das Bild. Der Parameter `x` (Werte: 0-3) legt die horizontale und vertikale Spiegelung fest.

Verwendung:

`-vop rotate[=x]`

### 2.6.10. Skalieren (scale)

Beschreibung:

Skaliert das Bild mit dem Software-Skalierer (langsam). Man kann dabei die Qualität des Skalierers mit der `-sws` Option einstellen (siehe Manpage). Gute Qualität führt zu Geschwindigkeitsverlusten.

Hinweis: Der Aufruf dieses Filters ohne Optionen führt zu einer colorspace Konvertierung. Dies ist für einige Codecs nützlich, die nicht im benötigten Ausgabeformat für das angegebene Videoausgabe Device ausgeben können. Diese werden hoffentlich automatisch erkannt und der Skalierfilter zur Konvertierung aufgerufen. In anderen Fällen, kann man ihn manuell gebrauchen.

Verwendung:

`-vop scale[=höhe:breite]`

### 2.6.11. YUY2

Beschreibung:

Erzwingt eine YV12/I420 zu YUY2 Konvertierung.

Verwendung:

`-vop yuy2`

### 2.6.12. Spiegeln (mirror)

Beschreibung:

Spiegelt das Bild der in Y-Achsenrichtung.

Verwendung:

`-vop mirror`

### 2.6.13. DVBscale

Beschreibung:

Berechnet die Y-Skalierung für DVB Karten.

Verwendung:

`-vop dvbscale`

### 2.6.14. Cropdetect

Beschreibung:

Berechnet die nötigten Parameter zum Schneiden (crop). Die empfohlenen `-vop crop` Parameter werden ausgegeben (stdout). Der Schwellwert zwischen einer Detektierung als Rand oder als Bild kann mit dem `limit` Parameter angegeben werden. `limit` ist eine Zahl zwischen 0 und 255, die standardmässig auf 24 gesetzt ist. Bei 0 wird alles al Bild, bei 255 alles als Rand erkannt.

Verwendung:

`-vop cropdetect[=limit]`

### 2.6.15. Rechteck (rectangle)

Beschreibung:

Zeichnet ein weisses Rechteck der angegebenen Höhe und Breite an den angegebenen Koordinaten über das Bild. Nützlich, um ein sichtbares Feedback für der `-vop crop` Parameter zu erhalten, bevor diese angewendet werden.

Verwendung:

`-vop rectangle[=höhe:breite:x:y]`

# 3.1. Kommandozeile

MPlayer benützt einen komplexen playtree. Er besteht aus globalen Optionen am Anfang (z.B. `mplayer -vfm 5`) und Optionen nach dem Dateiname, welche nur für die jeweilige Datei/URL/etc gelten (z.B. `mplayer -vfm 5 movie1.avi movie2.avi -vfm 4`).
Es können Dateinamen/URL Groupen mit { und } gebildet werden. Dies ist nützlich mit der Option -loop: `mplayer { 1.avi -loop 2 2.avi } -loop 3` spielt die Dateien in dieser Reihenfolge: 1 1 2 1 1 2 1 1 2

| Datei |  | `mplayer [Optionen] [Pfad/]Dateiname`
| Datei |  | `mplayer [standard Optionen] [Pfad/]Dateiname [Optionen für datei1] datei2 datei3 [Optionen für datei3]`
| VCD |  | `mplayer [Optionen] -vcd Tracknr [-cdrom-device /dev/cdrom]`
| DVD |  | `mplayer [Optionen] -dvd Titelnr [-dvd-device /dev/dvd]`
| Netz |  | `mplayer [Optionen] http://site.com/datei.asf (playlist kann auch benutzt werden)`

Die neusten Versionen von MPlayer akkzeptieren auch VCD und DVD Tracks im URL-Style, wie z.B. auch Xine: `mplayer dvd://1` oder `mplayer vcd://1`

      mplayer -vo x11 /mnt/Filme/Contact/contact2.mpg
      mplayer -vcd 2
      mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
      mplayer -dvd 1
      mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

## 3.2. Steuerung

MPlayer besitzt eine vollständig konfigurierbare, durch Befehle angesteuerte Steuerungsschicht (control layer), der es erlaubt MPlayer mit Tastatur, Maus, Joystick oder Fernbedienung (verwendet lirc) zu steuern.

### 3.2.1. Standard Steuerung

#### Tastatur

| <- oder -> |  | Suche zurück/vorwärts 10 Sekunden
| nach-oben und nach-unten |  | suche zurück/vorwärts 1 Minute
| Bild-nach-oben und Bild-nach-unten |  | suche zurück/vorwärts 10 Minute
| < oder > |  | suche rück-/vorwärts in der Playliste
| p oder Leertaste |  | Pause (drücke irgendeine Taste um weiterzumachen)
| q oder ESC |  | stoppe die Wiedergabe und beende Programm
| + oder - |  | einstellen des Audio-Delays, +/- 0,1 Sekunden
| / oder * |  | vermindere/erhöhe Lautstärke
| f |  | wechselt den Vollbildschirm-Modus
| o |  | wechselt OSD: kein / Suchleiste / Suchleiste und Zeit
| z oder x |  | einstellen des Untertitel-Delays, +/- 0,1 Sekunden
| r oder t |  | einstellen der Untertitel-Position
| > oder < |  | nächster/vorheriger playtree Eintrag
| HOME oder END |  | nächster/vorheriger playtree Eintrag in der übergeordneten Liste
| INSERT oder DELETE |  | nächste/vorherige alternative Quelle (nur verfügbar in der asx Wiedergabeliste)
(die folgende Tasten sind nur gültig, wenn man `-vo xv` verwendet)
| 1 oder 2 |  | Kontrast-Einstellung
| 3 oder 4 |  | Helligkeits-Einstellung
| 5 oder 6 |  | Farbton-Einstellung
| 7 oder 8 |  | Sättigungs-Einstellung

#### GUI

| , und . |  | vorherige / nächste Datei
| graues - und + |  | verringere / erhöhe Lautstärke
| Enter |  | startet Wiedergabe
| Leertaste |  | Pause
| s |  | Stop
| a |  | über
| l |  | lädt Datei
| b |  | Skin-Browser
| e |  | zeigt Equalizer
| p |  | zeigt Playliste
| f |  | wechselt zu/von Vollbild
| m |  | aktiviert/deaktiviert Mute

#### TV

| h oder l |  | vorheriger/nächster Kanal
| n |  | ändern der Norm
| b |  | ändern der Kanalliste/TD>

### 3.2.2. Steuerungskonfiguration

MPlayer erlaubt dir eine beliebige Taste auf ein Befehl von MPlayer festzulegen unter Verwendung einer einfachen Konfigurationsdatei. Die Syntax besteht aus einem Tastennamen gefolgt von einem Befehl. Die standard Konfigurationsdatei befindet sich in `$HOME/.mplayer/input.conf`, kann jedoch durch die `-input conf` überschrieben werden (relative Pfade sind relativ zu `$HOME/.mplayer`).

Beispiel:

    ##
    ## MPlayer Eingabe-Konfigurationsdatei
    ##

    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1

#### 3.2.2.1. Tastennamen

Mit folgendem Befehl erhält man eine vollständige Liste: `mplayer -input keylist`

#### Tastatur

- Irgendein druckbares Zeichen
- SPACE
- ENTER
- TAB
- CTRL
- BS
- DEL
- INS
- HOME
- END
- PGUP
- PGDWN
- ESC
- RIGHT
- LEFT
- UP
- DOWN

#### Maus

Hinweis: Die Maus ist nur unter X unterstützt

- MOUSE_BTN0 (Linke Taste)
- MOUSE_BTN1 (Rechte Taste)
- MOUSE_BTN2 (Mittlere Taste)
- MOUSE_BTN3 (Wheel)
- MOUSE_BTN4 (Wheel)
- ...
- MOUSE_BTN9

#### Joystick

Hinweis: Joystick-Unterstützung muss bei der Kompilierung aktiviert sein

- JOY_RIGHT oder JOY_AXIS0_PLUS
- JOY_LEFT oder JOY_AXIS0_MINUS
- JOY_UP oder JOY_AXIS1_MINUS
- JOY_DOWN oder JOY_AXIS1_PLUS
- JOY_AXIS2_PLUS
- JOY_AXIS2_MINUS
- ....
- JOY_AXIS9_PLUS
- JOY_AXIS9_MINUS

#### 3.2.2.2. Befehle

Mit folgendem Befehl erhält man eine vollständige Liste: `mplayer -input cmdlist`

- seek (int) Wert [(int) type=0]

  Sucht bis zu einer gewissen Stelle im Film.
  Type 0 ist eine relative Suche von +/- Wert Sekunden.
  Type 1 sucht bis Wert % im Film.

- audio_delay (float) Wert

  Korrigiert die Audioverzögerung um Wert Sekunden

- quit

  Beendet MPlayer

- pause

  Wechselt zwischen Pause und Weiterspielen

- grap_frames

  Weiss das jemand?

- pt_step (int) Wert [(int) force=0]

  Springt zum nächsten/vorherigen Eintrag im playtree. Das Vorzeichen von Wert bestimmt die Richtung.
  Wenn kein neuer Eintrag mehr vorhanden ist, geschieht gar nichts, es sei denn, force ist nicht 0.

- pt_up_step (int) Wert [(int) force=0]

  Wie pt_step, springt jedoch zum nächsten/vorherigen Eintrag in der übergeordneten Liste. Dies ist nützlich, um eine innere Schleife im playtree zu unterbrechen.

- alt_src_step (int) Wert

  Wenn mehr als eine Quelle vorhanden ist, wählt dies die nächste/vorherige (nur unterstützt für asx Wiedergabelisten).

- sub_delay (float) Wert [(int) abs=0]

  Korrigiert die Untertitel-Verzögerung um +/- Wert Sekunden oder setzt sie auf Wert Sekunden, wenn abs nicht null ist.

- osd [(int) level=-1]

  Wechselt den OSD-Modus oder setzt in auf level, wenn level > 0.

- volume (int) dir

  Erhöht/erniedrigt die Lautstärke

- contrast (int) Wert [(int) abs=0]
- brightness (int) Wert [(int) abs=0]
- hue (int) Wert [(int) abs=0]
- saturation (int) Wert [(int) abs=0]

  Setzt/korrigiert die Video-Parameter. Die Wert Reichweite von -100 bis 100.

- frame_drop [(int) type=-1]

  Wechselt den Framedrop-Modus.

- sub_pos (int) Wert

  Korrigiert die Untertitel-Position.

- vo_fullscreen

  Wechselt den Vollbildschirm-Modus.

- tv_step_channel (int) dir

  Wählt nächsten/vorherigen Tv-Kanal.

- tv_step_norm

  Ändert TV norm.

- tv_step_chanlist

  Ändert Kanalliste.

- gui_loadfile
- gui_loadsubtitle
- gui_about
- gui_play
- gui_stop
- gui_playlist
- gui_preferences
- gui_skinbrowser

  GUI Aktionen

### 3.2.3. Steuerung von LIRC

Linux Infrared Remote Control - verwende einen einfach zu bauenden, selbstgebauten IR-Empfänger, eine (fast) willkürliche Fernbedienung und steuere deinen Linux-Rechner damit. Mehr dazu auf www.lirc.org.

Wenn du das lirc-Paket installiert hast, erkennt es `configure` automatisch. Wenn alles gut geht, gibt MPlayer während des Starts eine Nachricht wie etwa "Setting up lirc support...". Wenn ein Fehler auftritt, wird dies auch gemeldet. Wenn gar nichts gesagt wird, ist auch keine LIRC-Unterstützung einkompiliert. Das ist alles :-)

, kannst du MPlayer mit LIRC-Untertützung mit `./configure --enable-lirc` kompilieren.

Wenn alles gut läuft, wird MPlayer eine Nachricht wie `LIRC init was successful.` beim Starten schreiben. Wenn ein Fehler aufgetreten ist, wird es sich melden. Wenn es nicht ausgibt über LIRC, dann ist keine Unterstützung hineinkompiliert. Das wars :-)

Der Anwendungsname für MPlayer ist - oh, ein Wunder - `mplayer`. Man kann irgendein MPlayer Befehl verwenden, sogar mehr als ein Befehl kann mit \n dazwischen übergeben werden. Dabei sollte das repeat Flag in .lircrc nicht vergessen werden, wenn es Sinn macht (seek, volume, usw.). Hier ist ein Auszug aus .lircrc:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end

    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end

    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end

    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end

Wenn du die Standard-Position der LIRC-Konfigurationsdatei (~/.lircrc) nicht magst, verwende den -lircconf <Dateiname> Parameter um eine andere Datei anzugeben.

### 3.2.4. Slave Modus

Der Slave-Modues erlaubt es einem, ein einfaches Frontend für MPlayer zu erstellen. Wenn aktiviert (mit der `-slave` Option) liest MPlayer durch neue Zeilen unterbrochene Befehle (\n) vom stdin.

## 3.3. Streaming von Netzwerk oder Pipes

MPlayer kann Videos über Netzwerke, unter Verwendung des HTTP oder MMS Protokoll.

Abspielen geht einfach durch die Hinzufügung der URL zu der Kommandozeile. MPlayer berücksichtigt auch die http_proxy Variable und benutzt einen Proxy, falls vorhanden. Der Proxygebrauch kann auch erzwungen werden:

`mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf`

MPlayer kann auch von stdin lesen (nicht benannte Pipes). Dies ist ein Beispiel für die Verwendung um von FTP zu spielen:

`wget ftp://micorsops.com/etwas.avi -O - | mplayer -`

Hinweis: Bei der Wiedergabe übers Netzwerk empfiehlt sich, den CACHE zu aktivieren:

`wget ftp://micorsops.com/etwas.avi -O - | mplayer -cache 8192 -`

# 4. FAQ Sektion

# 5. CD/DVD Sektion

# 6. Verschiedene OS's

## 6.1 Debian Paketierung

Um das Paket zu machen, besorge dir die CVS-Version oder .tgz, entpacke sie und wechsle in das Programm-Verzeichnis:

        cd main
        fakeroot debian/rules binary

(... MPlayer stellt die Hard-/Software fest, kompiliert sich und.. ) dpkg-deb: building package `mplayer' in `../mplayer_0.90-1_i386.deb'.

Und nun einfach root werden und:

    	dpkg -i ../mplayer_0.90-1_i386.deb als root.

So sieht es dann aus:

        eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.90-1_i386.deb
        Password:
        (Reading database ... 26946 files and directories currently installed.)
        Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.50-1_i386.deb)
        Unpacking replacement mplayer ...
        Setting up mplayer (0.90-1) ...

## 6.2. FreeBSD

Um das Paket zu kompilieren brauchst du GNU make (gmake, /usr/ports/devel/gmake), das originale BSD make wird nicht funktionieren.

Um MPlayer zu starten musst den Kernel neu kompilieren, mit "options USER_LDT" (wenn du -CURRENT verwendest, wo dies normal ist). Wenn du eine CPU mit SSE hast, verwende auch "options CPU_ENABLE_SSE" um es zu verwenden (FreeBSD-STABLE erforderlich, oder verwende Kernel-Patches).

Wenn MPlayer meldet "CD-ROM Device '/dev/cdrom' not found!" musst du einen symbolischen Link setzen: `ln -s /dev/(dein CD-ROM Device) /dev/cdrom`

Es gibt bis jetzt keine DVD-Unterstützung unter FreeBSD.

## 6.3. Solaris

MPlayer sollte auf Solaris 2.6 oder neuer funktionieren.

AVI-Dateiwiedergabe funktioniert bestens unter Solaris x86, denn du hast die Möglichkeit, die Win32-Codecs auf der x86 Plattform zu verwenden oder du kannst auch die MMX/MMX2/3DNow/usw Befehlssätze für MP3/DivX/DVD/was-auch-immer verwenden. Unter Solaris SPARC wirst du bestimmt noch einige AVI-Dateien mit nicht funktionierendem Video und/oder Audiowiedergabe finden, denn die Video/Audio Codec, die die Win32 DLLs verwenden sind nicht verfügbar. Aber DivX/OpenDivX-Filme sollten funktionieren, unter Verwendung von libavcodec.

Bei UltraSPARCs kann MPlayer die Vorteile der VIS-Erweiterungen (vergleichbar mit MMX) verwenden, zur Zeit jedoch erst in `libmpeg2`, `libvo` und `libavcodec`, jedoch nicht in mp3lib. Du kannst eine VOB-Datei auf einer 400MHz CPU ansehen. Du musst dazu mLib installiert haben.

Um dieses Paket zu kompilieren brauchst du GNU Make (gmake, /opt/sfw/gmake), das originale Solaris Make wird nicht funktionieren. Dies ist ein typischer Fehler, denn du bekommen wirst, wenn du Solaris' Make anstatt von GNU Make verwendest:

        % /usr/ccs/bin/make
        make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Unter Solaris SPARC brauchst du den GNU C/C++ Compiler; es spielt keine Rolle ob der GNU C/C++ Compiler mit oder ohne GNU Assembler konfiguriert ist.

Unter Solaris x86 brauchst du den GNU C/C++ Compiler, welcher konfiguriert sein muss, um den GNU Assembler zu verwenden! Der MPlayer Code erzeugt auf x86 Plattformen eine Binary mit Verwendungen von MMX, SSE und 3DNOW Befehlen, dies kann mit dem Sun Assembler `/usr/ccs/bin/as` nicht assembliert werden.

Das `configure` Skript versucht herauszufinden, welches Assemblerprogramm von deinem "gcc" Befehl ausgeführt wird (für den Fall das es fehlschlägt, verwende die "--as=/woimmer/du/es/installiert/hast/gnu-as" Option und sage damit dem Skript, wo es den GNU "as" auf deinem System finden kann).

Fehlermeldungen von `configure` auf einem Solaris x86 System bei Verwendung von GCC ohne GNU Assembler:

        % configure
        ...
        Checking assembler (/usr/ccs/bin/as) ... , failed
        Please upgrade(downgrade) binutils to 2.10.1...

(Lösung: Installiere und verwende einen gcc, der mit "--with-as=gas" konfiguriert ist)

Ein typischer Fehler beim Kompilieren mit einem GNU C Compiler, der nicht den GNU as verwendet:

        % gmake
        ...
        gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
    	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
        Assembler: mplayer.c
        "(stdin)", line 3567 : Illegal mnemonic
        "(stdin)", line 3567 : Syntax error
        ... more "Illegal mnemonic" and "Syntax error" errors ...

Für DVD-Unterstützung musst du die gepatchte Libcss installieren. Patch: http://www.tools.de/solaris/mplayer/.

Aufgrund dieser zwei Fehler in Solaris 8 x86 ist es nicht möglich, DVDs mit einer Speicherkapazität von mehr als 4GB zu verwenden:

- Der sd(7D) Treiber von Solaris 8 x86 hat eine Fehler beim Zugriff auf einen Dateiblock >4GB auf einem Gerät, dass eine logische Blockgröße != DEV_BSIZE (z.B. CD-ROM und DVD Medien) aufweist. Beim Zugriff auf eine Adresse >4 GB gibt es also einen 32Bit Int Overflow. (http://groups.yahoo.com/group/solarisonintel/message/22516)
- Ein ähnlicher Fehler existiert im hsfs(7FS) Dateisystem-Code (ISO9660), hsfs unterstützt zur Zeit keine Partitions/Disks >4GB. (http://groups.yahoo.com/group/solarisonintel/message/22592)

Bei Solaris mit einer UltraSPARC CPU kannst du zusätzliche Geschwindigkeit gewinnen, indem du die VIS-Befehle für rechenintensive Operationen verwendest. VIS-Beschleunigungen können von MPlayer verwendet werden durch das Aufrufen von Funktionen in Suns mediaLib.

VIS-Beschleunigungen von mediaLib werden für MPEG2 Video-Decodierung und für Color Space Konversationen im Videoausgabetreiber verwendet.

## 6.4. StrongARM

Es wurde berichtet, dass man MPlayer auf einem StrongARM kompilieren kann. Verwende die folgende Kommandozeile:

        ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
    	--with-x11incdir=/usr/arm/lib --disable-gcc-checking

## 6.5. Silicon Graphics / IRIX

Funktion wurde berichtet... Du musst möglicherweise den SGI ao-Treiber verwenden. Hat jemand genauere Infos ?

## 6.6. QNX

Funktioniert. Du musst SDL für QNX herunterladen, installieren und dann MPlayer mit den Optionen `-vo sdl:photon` und `-ao sdl:nto` starten. Es sollte schnell sein.

Die `-vo x11` Ausgabe ist sogar noch langsamer als unter Linux, da QNX nur eine sehr langsame X Emulation hat. Benutze SDL.

## 6.7. OpenBSD

Um das Paket zu erstellen benötigt man GNU make (gmake, /usr/ports/devel/gmake, mit dem standard BSD make wird es nicht funktionieren) und die aktuellen binutils (inklusive objcopy).

Auf Grund von Einschränkungen in unterschiedlichen Versionen von gas (relocation vs mmx), muss die Kompilierung in zwei Schritten vorgenommen werden: Erst sollte sichergestellt werden, dass das sich nicht-standard `as` im `PATH` befindet und `gmake -k` ausgeführt werden, dann sollte man sich vergewissere, dass die standard Version verwendet wird und `gmake` ausführen.

Um die Win32 DLLs mit MPlayer benutzen zu können, muss der Kernel mit "`option USER_LDT`" neu kompiliert werden.

Wenn sich MPlayer darüber beklagt, `/dev/cdrom` oder `/dev/dvd` nicht zu finden, dann erstelle einen symbolischen Link (`ln -s /dev/rcd0c /dev/cdrom`)

## 6.8. Cygwin

Dazu muss vom MPlayer Verzeichnis aus eine Kopie oder ein symbolischer Link von `etc/cygwin_inttypes.h` nach `/usr/include/inttypes.h` angelegt werden, um MPlayer zu kompilieren. Ansonsten wird er sich über die fehlende `intypes.h` beklagen.

# Anhang A - Autoren (Englisch)

## Anhang A2 - Beteiligte (Englisch)

# Anhang B - Mailing-Listen

Es gibt einige öffentliche Mailinglisten für MPlayer. Anmelden kann man sich unter den folgenden Adressen:

- MPlayer Entwickler Liste: http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng

  Diese Liste ist über MPlayer Entwicklung. Es wird über Interface/API Änderungen, neue Librarys, Code-Optimierungencode und `./configure` Änderungen diskuttiert. Du kannst auch deine Patches hier herschicken. Sende keine Fehlerberichte, Anwenderfragen, Featurewünsche oder Beschwerden hierher! Diese Liste sollte wenig verwendet werden.

- MPlayer Anwender (Users) Liste: http://mplayerhq.hu/mailman/listinfo/mplayer-users
  - Sende hier Fehlerberichte (nach lesen von DOCS/BUGS, Anhang C).
  - Sende hier Featurewünsche (nach lesen von DOCS/TODO).
  - Sende hier Anwenderfragen (nach lesen von DOCS/TODO).
- MPlayer Anwender (Users) Liste (ungarisch): http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok
  - Liste mit ungarischer Sprache
  - Inhalt? Wir werden sehen... hauptsächlich Beschwerden und RTFM-Fragen :(
- MPlayer & Matrox G200/G400/G450/G550 Anwender: http://mplayerhq.hu/mailman/listinfo/mplayer-matrox

  Sende hierher Matrox-betreffende Fragen

  - Sachen über mga_vid
  - Matroxs offizielle Beta Treiber (für X 4.x.x)
  - und über matroxfb-TVout.
- MPlayer & DVB-Karten Anwender: http://mplayerhq.hu/mailman/listinfo/mplayer-dvb

  Dinge im Bezug auf DVB-Hardwaredecoder Karten. (nicht DXR3!)

- MPlayer CVS-log: http://mp.dev.hu/mailman/listinfo/mplayer-cvslog

  Sende hier nur Fragen über CVS-Änderungen (wenn du nicht verstehst, warum eine Änderung erforderlich ist, du eine bessere Lösung hast oder einen möblichen Fehler/Problem im Patch gefunden hast). Sei dir aber sicher, dass der Ziel-Entwickler diese Liste liest!

Hinweis: Sprache der oberen Listen ist Englisch, ausser wenn es extra anders angeben ist. Bitte sende keine Nachrichten in einer anderen Sprache!

Hinweis: Du kannst das durchsuchbare Mailinglisten-Archiv an folgender Stelle durchsuchen: http://www.mplayerhq.hu/cgi-bin/htsearch

# Anhang C - Fehlerberichte

## Anhang C2 - Patches (Englisch)

# Anhang D - Bekannte Probleme

Spezielle System-/CPU-spezifische Fehler/Probleme:

- SIGILL (signal 4) auf einem P3 mit 2.2.x Kernel:
  Problem: Kernel 2.2.x hat keinen richtige SSE Unterstützung
  Endlösung: update den Kernel auf 2.4.x
  Abhilfe: `./configure --disable-sse`
- Allgemein SIGILL (signal 4):
  Problem: du hast MPlayer auf einem anderem Computer kompiliert, als auf dem du abspielst (z.B. kompiliert auf einem P3 und wiedergabe auf eine Celeron)
  Endlösung: kompiliere MPlayer auf dem Rechner, wie du abspielst
  Abhilfe: `./configure --disable-sse` usw.
- "Internal buffer inconsistency" wird während der Verwendung von MEncoder:
  Problem: bekanntes Problem, wenn lame < 3.90 mit gcc 2.96 oder 3.x.x kompiliert wurde.
  Endlösung: es sollte lame >=3.90 verwendet werden.
  Abhilfe: kompiliere lame mit gcc 2.95.x und deinstalliere alle installierten lame Pakete, welche mit gcc 2.96 kompiliert worden sein könnten.
- Hässlicher MP2/MP3-Ton auf PPC:
  Problem: bekannter gcc Fehlcompilierungsfehler auf PPC Platformen, es ist noch keine Fehlerbehebung vorhanden.
  Abhilfe: benutze FFmpeg's (langsamen) MP1/MP2/MP3 Decoder (`-ac ffmpeg`)
- sig11 in libmpeg2, beim Skalieren und Encodieren:
  Problem: bekannter gcc 2.95.2 MMX Fehler, aktualisiere auf 2.95.3.

Verschiedene A-V Sync- und andere Audio-Probleme

Allgemein Audio-Abbruch und ruckartiger Sound (existiert mit allen oder einigen Dateien):

- am häufigsten: fehlerhafte Audio-Treiber! - es sollten unterschiedliche Treiber getestet werden, so ALSA 0.9 OSS Emulation mit `-ao oss` und auch `-ao sdl` hilft teilweise. Wenn die Datei mit `-nosound` ohne Probleme wiedergegeben wird, ist das höchstwahrscheinlich ein Soundkarten Treiber-Problem.
- Audio Pufferprobleme (Puffergröße schlecht erkannt)
  Abhilfe: `mplayer -abs`
- Samplerate Probleme - vielleicht wird die Samplerate in den benutzten Dateien von der Karte nicht unterstützt - dazu sollte das Resampling Plugin (`-aop`) getestet werden
- Langsamer Rechner (CPU oder Grafik)
  versuche es mit `-vo null`, wenn es gut funktioniert hast du eine langsame VGA-Karte oder einen langsamen Treiber.
  Abhilfe: kaufe eine schneller Karte oder lese die Dokumentationen, wie man die Geschwingkeiten erhöht.
  Versuche auch `-framedrop`

Audio (verschiebt sich / verliert die Synchronisation / bricht nach einer gewissen Zeit ab) bei einer oder mehreren Dateien:

- defekte Datei
  Abhilfe:
  - `-ni` oder `-nobps` Option (für nicht-interlaced oder defekte Dateien)
    und/oder
  - `-mc 0` (erforderlich bei Dateien mit schlechtem Interleave und VBR-Audio)
    und/oder
  - `-delay` Option oder +/- Tasten bei Abspielen
  Wenn keine dieser Optionen hilft, kann die Datei auf den Server geladen werden. Wir werden sie untersuchen (und das Problem lösen).
- deine Soundkarte unterstützt keine 48KHz Wiedergabe
  Abhilfe: kaufe eine bessere Soundkarte... versuche die Bilder/Sekunde um 10% zu vermindern (verwende `-fps 27` bei 30fps-Filmen) oder verwende das Resampler-Plugin
- langsamer Rechner
  (wenn A-V nicht etwa 0 ist und die letzte Nummer in der Status-Leiste steigt)
  Abhilfe: `-framedrop`

Überhaupt kein Ton:

- deine Datei verwendet eine nicht unterstützten Audio-Codec
  Abhilfe: lese die Dokumentationen und hilf uns, dass wir ihn in Zukunft unterstützen

Überhaupt kein Bild (nur ein graues/grünes Fenster):

- deine Datei verwendet einen nicht unterstützten Videocodec
  Abhilfe: lies die Dokumentation und hilf uns den Codec zu unterstützen
- der automatisch gewählte Codec kann die Datei nicht decodieren, versuche einen anderen mit den `-vc` oder `-vfm` Optionen zu wählen.
- es wird versuchst eine DivX 3.x Datei mit dem opendivx oder XviD Decoder (`-vc odivx`) abzuspielen - installiere Divx4Linux kompiliere MPlayer neu

Videoausgabe-Probleme:

Erster Hinweis: Die Optionen `-fs, -vm und -zoom` sind nur Empfehlungen, sie werden (noch) nicht von allen Treiber unterstützt. Also ist dies kein Fehler (Bug), wenn es nicht funktioniert. Nur einige Treiber unterstützten Scaling/Zooming, erwarte das nicht von x11 oder dga.

Zucken des OSD/Untertiteln:

- x11 Treiber: Sorry, es kann zur Zeit nicht gelöst werden (gelöst)
- xv Treiber: verwende die `-double` Option (gelöst)

Grünes Bild bei der Verwendung von mga_vid (`-vo mga / -vo xmga`):

- `mga_vid` hat die Grösse des RAMs falsch erkannt, lade das Modul neu mit der Option `mga_ram_size`