# Installation

Eine Anleitung für eine schnelle Installation steht in der Datei `README`. Bitte lies diese zuerst und komm erst dann für den Rest der mörderischen Details zurück.

In diesem Abschnitt werde ich versuchen, dich durch den Vorgang des Compilierens und Konfigurierens von MPlayer zu leiten. Es ist nicht leicht, muss aber nicht unbedingt schwierig sein. Wenn du andere Erfahrungen machst als das, was ich erkläre, durchsuche bitte die Dokumentation und du wirst deine Antworten finden. Wenn du Links siehst, folge ihnen und lies ihren Inhalt sorgfältig. Das wird etwas Zeit in Anspruch nehmen, aber das IST es wert.

Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der Version 2.4.x empfohlen.

## Softwareanforderungen

- binutils - empfohlene Version ist 2.11.x. Dieses Programm ist verantwortlich für die Generierung von Instruktionen für MMX/3DNow!/usw. und daher sehr wichtig.

- gcc - empfohlene Versionen sind: 2.95.3 (vielleicht 2.95.4) und 3.2+. Benutze niemals 2.96 oder 3.0.x! Diese generieren im Falle von MPlayer fehlerhaften Code. Solltest du dich dafür entscheiden, die von gcc-Version 2.96 zu wechseln, dann entscheide dich nicht zu Gunsten von 3.x, nur weil es neuer ist. Frühe Veröffentlichungen von 3.x waren fehlerhafter als 2.96. Downgrade also zu 2.95.x (downgrade auch libstdc++, andere Programme könnten dies benötigen) oder wechsle die Version überhaupt nicht (in diesem Falle sei jedoch gewarnt, dass es zur Laufzeit Probleme geben kann). Solltest du dich für 3.x entscheiden, versuche die neueste Version zu bekommen, frühe Versionen hatten verschiedenartige Fehler, benutze also mindestens Version 3.1, diese ist getestet und funktioniert. Für detaillierte Informationen über die Fehler in gcc 2.96 (die immernoch NICHT korrigiert sind, die in MPlayer UMGANGEN wurden!), siehe Abschnitt gcc 2.96 und die .

- XFree86 - empfohlene Version ist immer die neueste (4.3). Normalerweise möchte das jeder. Mit XFree86 4.0.2 beginnend enthält es die XVideo-Erweiterung (irgendwo als Xv bezeichnet), die bei Karten, die dies unterstützen, für die YUV-Hardwarebeschleunigung (schnelle Bilddarstellung) benötigt wird. Stelle auch sicher, dass das Entwicklerpaket installiert ist, sonst wird es nicht funktionieren. Bei manchen Grafikkarten benötigst du kein XFree86. Siehe Liste unten.

- make - empfohlene Version ist immer die neueste (mindestens 3.79.x). Dies ist normalerweise nicht so wichtig.

- SDL - ist nicht zwingend notwendig, kann in manchen Fällen aber helfen (schlechter Klang, Grafikkarten, die zusammen mit dem xv-Treiber komischerweise hinterherhingen). Benutze immer die neueste Version (beginnend bei 1.2.x).

- libjpeg - optionaler JPEG-Decoder, der von der Option `-mf` und für mache QT MOV-Dateien verwendet wird. Nützlich sowohl für MPlayer als auch MEncoder, wenn du vorhast, mit JPEG-Dateien zu arbeiten.

- libpng - empfohlen und Standard-(M)PNG-Decoder. Wird für die GUI benötigt. Nützlich sowohl für MPlayer als auch MEncoder.

- lame - empfohlen, benötigt für Audioencodierung in das MP3-Format mit MEncoder, empfohlene Version ist immer die neueste (mindestens 3.90).

- zlib - empfohlen, benötigt für die Unterstützung von komprimierten MOV-Headern und PNG.

- libogg - optional, benötigt für die Wiedergabe von Dateien im OGG-Format.

- libvorbis - optional, benötigt für die Audiowiedergabe von OGG Vorbis.

- LIVE555 Streaming Media - optional, benötigt für die Wiedergabe von RTSP/RTP-Streams.

- directfb - optional, von . Version 0.9.13 ist mindestens erforderlich.

- cdparanoia - optional, für CDDA-Unterstützung

- libfreetype - optional, für Unterstützung von TTF-Schriftarten. Version 2.0.9 ist mindestens erforderlich.

- libxmms - optional, für Unterstützung des XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.

- libsmb - optional, für Samba-Unterstützung.

- ALSA - optional, für Unterstützung der Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.

- bio2jack - optional, für Unterstützung der Audioausgabe mit JACK, wird nur zur Compilezeit benötigt. Du kannst es von http://bio2jack.sf.net beziehen. Da es keine Installationsoptionen hat, musst du die Datei `libbio2jack.a` manuell in deinen Bibliothekspfad kopieren, oder benutze die Option `--with-bio2jack=DIR`, damit `./configure` weiß, wo sich die Datei befindet.

## Codecs

- libavcodec: Dies ist ein Codec, der in der Lage ist, H.263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/SVQ1/SVQ3-encodierte Videostreams und WMA (Windows Media Audio) v1/v2-Streams auf mehreren Plattformen zu decodieren. Er ist außerdem dafür bekannt, der schnellste dafür zu sein. Siehe FFmpeg für Details. Features:

  - ermöglicht Decodierung von oben genannten Videos auf nicht-x86-Maschinen

  - Encodierung mit den meisten der genannten Codecs

  - Dieser Codec ist der schnellste verfügbare Codec für DivX/3/4/5 und andere MPEG-4-Typen. Empfohlen!

- Win32-Codecs: Wenn du vorhast, MPlayer auf der x86-Architektur zu benutzen, wirst du sie vermutlich brauchen. Lade ein Codecpaket von unserer Codec-Seite herunter und packe es in `/usr/local/lib/codecs`, bevor du MPlayer compilierst, sonst wird keine Unterstützung für Win32 mitcompiliert!

  Das avifile-Projekt hat ein ähnliches Codecs-Paket, das sich je jedoch von unserem unterscheidet. Wenn du also alle unterstützten Codecs benutzen möchtest, benutze unser Paket (und mach dir keine Sorgen, avifile funktioniert ohne Probleme damit).

  Features:

  - du brauchst dies, wenn du z.B. Filme abspielen oder encodieren möchtest, die mit verschiedenartigen Kompressoren, wie Tuner-Karten oder Digitalkameras aufgenommen wurden (Beispiel: DV, ATI VCR, MJPEG)

  - benötigt, wenn du WMV9/WMA9-Filme abspielen möchtest.

  - Nicht nötig für alte ASFs mit MP41- oder MP42-Video (obwohl VoxWare-Audio bei diesen Dateien recht häufig vorkommt - wird erledigt vom Win32-Codec), oder WMV7. Wird für WMA (Windows Media Audio) also nicht benötigt, libavcodec hat einen Open-Source-Decoder dafür.

- QuickTime-Codecs: Auf der x86-Plattform können diese Codecs benutzt werden, um RPZA und anderes QuickTime-Video sowie QDesign-Audiostreams zu decodieren. Installationsanleitungen können in der Sektion Sorenson Video-Codec gefunden werden.

- DivX4/DivX5: Informationen über diesen Codecs sind verfügbar im Absatz DivX4/DivX5. Du möchtest diesen Codec aber vermutlich nicht, da libavcodec (siehe oben) wesentlich schneller ist und bessere Qualität bietet als jener, sowohl bei Decodierung als auch Encodierung. Features:

  - Encodierung in ein oder zwei Durchläufen mit MEncoder

  - kann alte DivX3-Filme viel schneller als die WIN32-DLL abspielen, ist aber langsamer als libavcodec!

  - ist Closed-Source, und es gibt nur eine x86-Version.

- XviD: Open-Source-Encodierungsalternative zu DivX4Linux. Features:

  - Encodierung in ein oder zwei Durchläufen mit MEncoder

  - ist Open Source, daher multiplatform

  - ist ungefähr doppelt so schnell wie DivX4 bei der Encodierung - bei ungefähr gleicher Qualität

- Die XAnim-Codecs sind die besten (Vollbild, Hardware YUV-Zoom) für die Decodierung von 3ivx und Indeo 3/4/5-Filmen und manchen alten Formaten. Und sie laufen auf mehreren Plattformen, sind daher die einzige Möglichkeit, Indeo auf nicht-x86-Plattformen anzuschauen (naja, außer XAnim:). Cinepak-Filme sind aber zum Beispiel am besten mit MPlayers eigenem Cinepak-Decoder anzuschauen!

- Für Ogg Vorbis-Audiodecodierung musst du libvorbis richtig installieren. Binärpakete und Sourcecode können von der Ogg Vorbis Seite heruntergeladen werden.

- MPlayer kann die Bibliotheken von RealPlayer 8 und RealONE verwenden, um Dateien mit RealVideo 3.0 und 4.0-Video und Sipro/Cook-Audio abzuspielen. Siehe im Abschnitt RealMedia Dateiformat für Installationsanweisungen und weitere Informationen.

## Grafikkarten

Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten) haben Unterstützung für Hardware-Skalierung und YUV-Beschleunigung, die anderen nicht.

### YUV-Karten

Diese können das Bild in jeder Größe darstellen und auf jede Größe skalieren (zoomen), die in ihren Speicher passt, und das mit geringer CPU-Last (sogar beim Zoom), daher ist die Vollbildwiedergabe nett und sehr schnell.

- Matrox G200/G400/G450/G550-Karten: Obwohl ein Vidix-Treiber zur Verfügung steht, wird empfohlen, statt dessen das mga_vid-Modul zu verwenden, da es wesentlich besser funktioniert. Siehe bitte den Abschnitt mga_vid für dessen Installation und Umgang. Es ist wichtig, diese Schritte vor der Compilierung von MPlayer durchzuführen, da sonst keine Unterstützung für mga_vid gebaut wird. Schaue dir auch den Abschnitt Matrox TV-out an. Wenn du nicht Linux benutzt, ist deine einzige Möglichkeit der VIDIX-Treiber: Lies den Abschnitt VIDIX.

- 3Dfx Voodoo3/Banshee-Karten: Bitte siehe den Abschnitt tdfxfb, um große Geschwindigkeitsvorteile zu nutzen. Es ist wichtig, diese Schritte vor der Compilierung von MPlayer durchzuführen, da sonst keine Unterstützung für 3Dfx gebaut wird. Schaue dir auch den Abschnitt 3dfx TV-out an. Wenn du X benutzt, benutze mindestens 4.2.0, da der 3dfx Xv-Treiber in der Version 4.1.0 und davor nicht funktioniert.

- ATI-Karten: Der VIDIX-Treiber wird für folgende Karten bereitgestellt: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Siehe auch den Abschnitt ATI-Karten für die Dokumentation des TV-out, damit du weißt, ob das TV-out deiner Karte unter Linux/mit MPlayer unterstützt wird.

- S3-Karten: Die Savage- und Virge/DX-Chips verfügen über Hardwarebeschleunigung. Benutze eine XFree86-Version, die so neu wir möglich ist, ältere Treiber sind buggy. Savage-Chips haben Probleme mit YV12-Darstellung, siehe Abschnitt S3 Xv für Details. Ältere Trio-Karten haben keine oder nur langsame Hardwareunterstützung.

- nVidia-Karten: Können oder können keine gute Wahl sein für die Videowiedergabe. Wenn du eine GeForce2-Karte hast (oder neuer), ist es nicht wahrscheinlich, dass sie ohne Fehler funktioniert. Der in XFree86 eingebaute nVidia-Treiber unterstützt nicht auf allen Karten YUV-Hardwarebeschleunigung. Du musst die Closed-Source-Treiber von nVidia.com herunterladen. Siehe Abschnitt nVidia Xv-Treiber für Details. Bitte siehe auch Abschnitt nVidia TV-out, wenn du einen Fernseher verwenden möchtest.

- 3DLabs GLINT R3 und Permedia3: Ein VIDIX-Treiber wird bereitgestellt (pm3_vid). Bitte siehe Abschnitt VIDIX für Details.

- Andere Karten: keine der oben genannten?

  - Probiere, ob der XFree86-Treiber (und deine Karte) Hardwarebeschleunigung unterstützen. Siehe Abschnitt Xv für Details.

  - Sollten sie dies nicht, werden die Features unter deinem Betriebssystem nicht unterstützt :( Wenn Hardwarebeschleunigung unter Windows funktioniert, bedeutet das nicht, dass sie unter Linux oder anderen Betriebssystemen funktioniert, das hängt von den Treibern ab. Die meisten Hersteller stellen weder Linuxtreiber her, noch veröffentlichen sie die Spezifikationen ihrer Chips - daher hast du Pech, wenn du ihre Karten benutzt. Siehe .

### Nicht-YUV-Karten

Vollbildwiedergabe kann erreicht werden, indem entweder Softwareskalierung (benutze die Option `-zoom` oder `-vf`, aber ich warne dich, die ist langsam) aktiviert wird, oder durch Wechsel zu einem kleineren Videomodus, zum Beispiel 352x288. Wenn du keine YUV-Beschleunigung hast, wird letztere Methode empfohlen. Der Wechsel des Videomodus kann aktiviert werden durch die Option `-vm`, und sie funktioniert mit folgenden Treibern:

- Benutzung von XFree86: Siehe Details in den Abschnitten DGA-Treiber und X11-Treiber. DGA wird empfohlen! Probiere auch DGA via SDL, das funktioniert manchmal besser.

- Nicht-Benutzung von XFree86: Probiere die Treiber in folgender Reihenfolge: vesa, fbdev, svgalib, aalib.

### Cirrus-Logic-Karten

- GD 7548: verfügbar on-board und getestet in der Compaq Armada 41xx Notebook-Serie.

  - XFree86 3: Funktioniert in 8/16bpp-Modi. Trotzdem, der Treiber ist übel langsam in 800x600@16bpp. Empfohlen: 640x480@16bpp

  - XFree86 4: Der Xserver friert kurz nach dem Start ein, wenn Beschleunigung nicht aktiviert ist, dann jedoch laufen die Dinge noch langsamer als mit XFree86 3. Kein XVideo.

  - FBdev: Framebuffer kann mit dem clgenfb-Treiber im Kernel aktiviert werden, auch wenn er für mich nur mit 8bpp funktioniert hat, daher unbrauchbar. Die clgenfb-Source musste um die 7548-ID vor der Compilierung erweitert werden.

  - VESA: Die Karte ist nur VBE 1.2-fähig, daher kann VESA-Ausgabe nicht benutzt werden. Kann mit UniVBE nicht umgangen werden.

  - SVGAlib: erkennt einen älteren Cirrus-Chip. Langsam, aber nutzbar mit der Option `-bpp 8`.

## Soundkarten

- Soundblaster Live!: Mit dieser Karte kannst du AC3-Decodierung mit 4 oder 6 (5.1) anstatt 2 Kanälen verwenden. Lies den Abschnitt Software-AC3-Decodierung. Für Hardware-AC3-Passthrough musst du ALSA 0.9 mit OSS-Emulation verwenden!

- C-Media mit S/PDIF out: Hardware-AC3-Passthrough ist mit diesen Karten möglich, siehe Abschnitt Hardware-AC3-Decodierung.

- Features von anderen Karten werden von MPlayer nicht unterstützt. Es wird dringend empfohlen, die Sektion Soundkarte zu lesen!

## Features

- Entscheide, ob du eine GUI benötigst. Wenn dies der Fall ist, siehe Abschnitt GUI, bevor du compilierst.

- Wenn Du MEncoder (unseren super Allzweck-Encoder) installieren möchtest, siehe Abschnitt MEncoder.

- Wenn du eine V4L-kompatible TV-Tuner-Karte hast und Filme mit MPlayer anschauen/grabben und encodieren möchtest, lies den Abschnitt TV-Input.

- Es gibt Unterstützung für ein schickes OSD-Menü, das benutzt werden kann. Siehe Abschnitt OSD-Menü.

Baue dann MPlayer:

    ./configure
    make
    make install

Zu diesem Zeitpunkt ist MPlayer benutzbar. Das Verzeichnis `$PREFIX/share/mplayer` enthält die Datei `codecs.conf`, die dem Programm mitteilt, welche Codecs verfügbar sind und was diese können. Du brauchst die Datei nur, wenn du Eigenschaften ändern möchtest, da die ausführbare Datei intern eine eigene Kopie enthält. Überprüfe, ob du eine Kopie von `codecs.conf` einer älteren MPlayer-Version in deinem Home-Verzeichnis (`~/.mplayer/codecs.conf`) hast, und entferne diese.

Beachte, dass die eingebaute und vom System bereitgestellte `codecs.conf` ignoriert wird, wenn du eine `codecs.conf` im Verzeichnis `~/.mplayer/`, hast. Benutze diese nicht, wenn du nicht an den Interna von MPlayer herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge der Suche nach Codecs ändern möchtest, benutze die Optionen `-vc`, `-ac`, `-vfm`, oder `-afm` auf der Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).

Debian-Benutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht. Führe nur

    fakeroot debian/rules binary

in MPlayers Wurzelverzeichnis aus. Siehe Debian-Packaging für detaillierte Informationen.

Überprüfe immer die Ausgabe von `./configure` und die Datei `configure.log`, sie enthalten Informationen darüber, was eingebaut wird und was nicht. Du möchtest dir vielleicht auch die Dateien `config.h` und `config.mak` anschauen. Wenn du manche Bibliotheken installiert hast, die von `./configure` aber nicht erkannt werden, überprüfe auch die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren Versionen passen. Die Datei `configure.log` gibt normalerweise Auskunft darüber, was fehlt.

Obwohl sie nicht notwendig sind, sollten die Fonts installiert werden, um die Funktionalität von OSD- und Untertiteldarstellung nutzen zu können. Die empfohlene Methode dazu ist, eine TTF-Fontdatei zu installieren und MPlayer anzuweisen, diese zu benutzen. Siehe Abschnitt Untertitel und OSD für Details.

## Was ist mit der GUI?

Die GUI benötigt GTK 1.2.x oder GTK 2.0 (sie ist nicht vollständig GTK, aber die Panels). Die Skins werden im PNG-Format gespeichert, daher müssen GTK, libpng (und deren Entwicklungskram, normalerweise gtk-dev genannt), installiert sein. Du kannst die GUI durch Angabe von `--enable-gui` während `./configure` aktivieren. Dann musst du, um den GUI-Modus zu aktivieren, die Binärdatei `gmplayer` starten.

Aus technischen Gründen kannst du die Option `-gui` auf der Kommandozeile nicht verwenden.

Da MPlayer kein Skin enthält, musst du eins herunterladen, um die GUI benutzen zu können. Siehe Download-Seite. Sie sollten in das normale systemweite Verzeichnis (`$PREFIX/share/mplayer/skins`) oder nach `$HOME/.mplayer/skins` installiert werden. MPlayer schaut nach Voreinstellung in diesen Verzeichnissen nach einem Verzeichnis mit dem Namen `default`, du kannst aber die Option `-skin newskin` oder die Konfigurationsdateianweisung `skin=newskin` nutzen, um ein Skin im Verzeichnis `*/skins/newskin` zu benutzen.

## Untertitel und OSD

MPlayer kann Untertitel bei Filmen darstellen. Momentan werden die folgenden Formate unterstützt:

- VOBsub

- OGM

- CC (closed caption)

- MicroDVD

- SubRip

- SubViewer

- Sami

- VPlayer

- RT

- SSA

- PJS (Phoenix Japanimation Society)

- MPsub

- AQTitle

- JACOsub

MPlayer kann (außer den ersten drei) die oben gelisteten Zielformate ausgeben (speichern), und zwar mit folgenden Optionen:

- MPsub: `-dumpmpsub`

- SubRip: `-dumpsrtsub`

- MicroDVD: `-dumpmicrodvdsub`

- JACOsub: `-dumpjacosub`

- Sami: `-dumpsami`

MEncoder kann DVD-Untertitel im VOBsub-Format ausgeben.

Die Kommandozeilenoptionen unterscheiden sich leicht von den anderen Formaten:

VOBsub-Untertitel

VOBsub-Untertitel bestehen aus einer (ein paar Megabyte) großen `.SUB` Datei, und optional `.IDX-` und/oder `.IFO`-Dateien. Wenn du Dateien hast wie `beispiel.sub`, `beispiel.ifo` (optional), oder `beispiel.idx`, musst du MPlayer die Optionen `-vobsub beispiel [-vobsubid id]` übergeben (vollständige Pfadangabe optional). Die Option `-vobsubid` verhält sich wie die Option `-sid` für DVDs, du kannst damit Tracks (Sprachen) wählen. Im Falle, dass `-vobsubid` nicht angegeben wird, wird MPLayer versuchen, auf die Sprachen zurückzugreifen, die mit der Option `-slang` angegeben werden, und sonst auf langidx zurückzugreifen, um die Untertitelsprache zu wählen. Wenn dies fehlschlägt, wird es keine Untertitel geben.

Andere Untertitel

Die anderen Formate bestehen aus einer Textdatei, die Zeit-, Platzierungs- und Textinformationen enthält. Gebrauch: Wenn du eine Datei hast wie `beispiel.txt`, musst du die Option `-sub beispiel.txt` (vollständiger Pfad optional) angeben.

Untertitel-Timing und Platzierung angeben:

`-subdelay sek`

  Verzögert Untertitel um `sek` Sekunden. Kann negativ sein. Dieser Wert wird zum Zeitpositionszähler hinzuaddiert.

`-subfps RATE`

  Gibt die Frame/sek-Rate der Untertiteldatei (Fließkommazahl) an.

`-subpos 0-100`

  Gibt die Position der Untertitel an.

Wenn du bei Benutzung einer MicroDVD-Untertiteldatei eine zunehmende Verzögerung zwischen Film und Untertiteln feststellst, ist vermutlich die Framerate vom Film und der Untertiteldatei unterschiedlich. Beachte bitte, dass das MicroDVD-Untertitelformat absolute Framenummern benutzt, daher sollte die Option `-subfps` bei diesem Format benutzt werden. Wenn du dieses Problem auf Dauer beheben willst, musst du die Framerate manuell konvertieren. MPlayer kann diese Konvertierung für dich übernehmen:

    mplayer -dumpmicrodvdsub -fps untertitel_fps -subfps avi_fps -sub untertitel_dateiname dummy.avi

Für Ausführungen über DVD-Untertitel lies den Abschnitt DVD.

### MPlayers eigenes Untertitelformat (MPsub)

MPlayer führt ein eigenes Untertitelformat, genannt MPsub ein, welches von Gabucino entworfen wurde. Im Grunde ist dessen Hauptfeature, dass es dynamisch zeitbasiert funktioniert (obwohl es auch einenFrame-basiertenn Modus hat). Beispiel (von DOCS/tech/mpsub.sub):

    FORMAT=TIME
    # erste Zahl  : warte solang, bis der vorige Untertitel verschwunden ist
    # zweite Zahl : stelle den aktuellen Untertitel soundsolange dar

    15 3
    Es war einmal...

    0 3
    in einer weit entfernten Galaxie...

    0 3
    Naboo wurde angegriffen.

Du siehst, das Hauptziel war, die Bearbeitung/Timing/Zusammenfügen/Schneiden von Untertiteln leicht zu machen. Und angenommen, du bekommst einen SSA-Untertitel, der aber schlecht getimed/verzögert ist hinsichtlich deiner Version eines Films, dann machst du einfach

    mplayer dummy.avi -sub quelle.ssa -dumpmpsub

Eine `dump.mpsub`-Datei wird dann im aktuellen Verzeichnis erstellt, die den Text der Untertitelquelle enthält aber im MPsub-Format ist. Dann kannst du leicht Sekunden vom/zum Untertitel hinzufügen.

Untertitel werden mit einer Technik dargestellt namens 'OSD', On Screen Display. OSD wird benutzt, um die aktuelle Zeit, den Lautstärke- und Spulbalken darzustellen.

### OSD und Untertitel installieren

Du benötigst das MPlayer-Schriftenpaket, um das OSD/SUB-Feature nutzen zu können. Es gibt mehrere Möglichkeiten, dies zu erreichen:

- Benutze das Tool zur Font-Erstellung in `TOOLS/subfont-c`. Das ist ein vollständiges Tool, um von TTF/Type1/usw.-Font zu mplayer-font-pkg zu konvertierten (lies `TOOLS/subfont-c/README` für Details).

- Benutze das Font-erzeugende GIMP-Plugin in `TOOLS/subfont-GIMP` (Anmerkung: Du brauchst auch das HSI RAW-Plugin, siehe ).

- die Benutzung eines TrueType-Fonts (TTF), nach Maßstäben der freetype-Bibliothek. Version 2.0.9 oder höher ist unbedingt notwendig! Dann hast du zwei Möglichkeiten:

  - benutze die Option `-font /pfad/zu/beispiel_font.ttf`, um eine TrueType-Font-Datei bei jeder Gelegenheit anzugeben

  - erstelle einen Symlink:

        ln -s /pfad/zu/beispiel_font.ttf ~/.mplayer/subfont.ttf

  Wenn MPlayer mit fontconfig-Unterstützung compiliert wurde, werden die oben genannten Methoden nicht funktionieren, statt dessen erwartet die Option `-font` einen fontconfig-Fontnamen, und der Standard ist die Schriftart Sans-serif. Um eine Liste der fontconfig bekannten Dateien zu erhalten, benutze `fc-list`. Beispiel: `-font 'Bitstream Vera Sans'`

- Lade Schriftartenpakete von der MPlayer-Seite herunter, die fertig sind für die Benutzung. Beachte: Momentan sind die verfügbaren Schriftarten begrenzt auf ISO 8859-1/2-Unterstützung, es gibt jedoch andere, von Benutzern erstellte Schriftarten (inklusive Koreanisch, Russisch, ISO 8859-8 usw.) im FTP-Verzeichnis contrib/font.

  Du solltest eine passende `font.desc`-Datei haben, die Schriftpositionen eines Unicode-Fonts auf die aktuelle Codepage des Untertiteltexts abbildet. Eine andere Möglichkeit ist, die Untertitel in UTF-8 codiert zu haben und die Option `-utf8` zu verwenden oder die Untertiteldatei einfach `<video_name>.utf` zu nennen und sie in dasselbe Verzeichnis wie das Video zu legen. Recodierung von unterschiedlichen Codepages nach UTF-8 kann mit den Programmen `konwert` oder `iconv` gemacht werden.

  Ein paar URLs

  URL | Kommentar
  --- | ---
  | ISO-Fonts
  | verschiedene Fonts von Benutzern
  | Koreanische Fonts und RAW-Plugin

Solltest du nicht-TTF-Schriften gewählt haben, UNZIPpe die heruntergeladene Datei nach `~/.mplayer` oder `$PREFIX/share/mplayer`. Benenne dann eins der entpackten Verzeichnisse um, oder erstelle einen Symlink mit dem Namen `font`, zum Beispiel:

    ln -s ~/.mplayer/arial-24 ~/.mplayer/font

Du müsstest jetzt eine Zeitanzeige in der oberen linken Ecke des Films sehen (schalte sie mit der Taste o aus).

(Untertitel sind immer aktiviert, lies bitte die Manpage, wenn du wissen möchtest, wie man sie deaktiviert)

Das OSD hat 4 Zustände (wechsle mit o):

1. Lautstärkeleiste + Positionsanzeige (Standard)

2. Lautstärkeleiste + Positionsanzeige + Zeitangabe + prozentuale Dateiposition

3. Lautstärkeleiste + Positionsanzeige + Zeitangabe + prozentuale Dateiposition + Gesamtzeit des Mediums

4. nur Untertitel

Du kannst das Standardverhalten ändern, indem du die Variable `osdlevel` in der Konfigurationsdatei setzt oder die Kommandozeilenoption `-osdlevel` verwendest.

### OSD-Menü

MPlayer hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.

Das Einstellungen-Menü ist momentan NICHT IMPLEMENTIERT!

Installation

1. compiliere MPlayer mit Übergabe von `--enable-menu` an `./configure`

2. stelle sicher, dass du ein OSD-Font installiert hast

3. kopiere `etc/menu.conf` in dein `.mplayer`-Verzeichnis

4. kopiere `etc/input.conf` in dein `.mplayer`-Verzeichnis oder in das systemweite MPlayer-Konfigurationsverzeichnis (Standard: `/usr/local/etc/mplayer`)

5. überprüfe und editiere `input.conf`, um Menüsteuerungstasten zu aktivieren (das ist dort beschrieben).

6. starte MPlayer mit folgendem Beispiel:

       $ mplayer -menu datei.avi

7. drücke irgendeine Menütaste, die du definiert hast

## RTC

Es gibt drei Zeitgebermethoden in MPlayer.

- Um die alte Methode zu verwenden, musst du gar nichts machen. Diese benutzt usleep(), um A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem, manchmal muss die Synchronisation noch feiner abgestimmt werden.

- Der neue Zeitgeber-Code benutzt RTC (RealTime Clock, Echtzeituhr) für diese Aufgabe, da dieser präzise 1ms-Timer besitzt. Falls er verfügbar ist, wird er automagisch aktiviert, benötigt jedoch root-Rechte, eine setuid root MPlayer-Binärdatei oder einen korrekt aufgesetzten Kernel. Wenn du Kernel 2.4.19pre8 oder neuer laufen hast, kannst du die maximale RTC-Frequenz für normale Benutzer durch das /proc-Dateisystem festlegen. Benutze folgenden Befehl, um RTC für normale Benutzer zu aktivieren

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

  Wenn du keinen so neuen Kernel hast, kannst du auch eine Zeile in `drivers/char/rtc.c` ändern und deinen Kernel neu compilieren. Finde den Abschnitt, der folgendermaßen lautet:

             * 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)))

  und ändere die 64 auf 1024. Du solltest jedoch wirklich wissen, was du tust. Du kannst die Effizienz des neuen Zeitgebers in der Statuszeile sehen. Die Power Management-Funktionen der BIOSse mancher Notebooks mit speedstep-CPUs vertragen sich nicht gut mit RTC. Audio und Video könnten Synchronisation verlieren. Die externe Stromversorgung anzuschließen, bevor du dein Notebook einschaltest, scheint zu helfen. Du kannst RTC-Unterstützung jederzeit mit der Option `-nortc` abschalten. Bei manchen Hardwarekombinationen (bestätigt während des Gebrauchs eines nicht-DMA-DVD-Laufwerks auf einem ALi1541-Board) führt der Gebrauch des RTC-Zeitgebers zu sprunghafter Wiedergabe. Es wird empfohlen, in solchen Fällen die dritte Methode zu verwenden.

- Der Code des dritten Zeitgebers wird mit der Option `-softsleep` aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht. Auf der anderen Seite benötigt er mehr CPU.

Installiere NIEMALS eine setuid root MPlayer-Binärdatei auf einem Multiuser-System! Es ist eine Einladung für jeden, root zu werden.