# 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 wirst du durch den Vorgang des Compilierens und Konfigurierens von MPlayer geleitet. Es ist nicht leicht, muss aber nicht unbedingt schwierig sein. Wenn du Erfahrungen machst anders als das hier beschriebene, durchsuche bitte die Dokumentation, und du wirst deine Antworten finden.

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.

- gcc - empfohlene Versionen sind 2.95 und 3.4+. 2.96 und 3.0.x generieren bekannterweise fehlerhaften Code, 3.1 und 3.2 hatten auch Probleme, 3.3 ein paar kleinere. Benutze auf PowerPC-Architektur 4.x+.

- Xorg/XFree86 - empfohlene Version ist 4.3 oder neuer. Stelle auch sicher, dass die Entwicklerpakete installiert ist, sonst wird es nicht funktionieren. Du brauchst X nicht zwangsläufig, manche Videoausgabetreiber funktionieren auch ohne.

- make - empfohlene Version ist 3.79.x oder neuer. Um die XML-Dokumentation zu erstellen, benötigst du 3.80.

- FreeType - Version 2.0.9 oder neuer wird benötigt, um Schriften für OSD und Untertitel zu erhalten.

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

- libjpeg - benötigt für den optionalen JPEG-Videoausgabetreiber

- libpng benötigt für den optionalen PNG-Videoausgabetreiber

- directfb - optional, verwende 0.9.13 oder neuer, benötigt für den directfb-Videoausgabetreiber

- lame - 3.90 oder neuer wird empfohlen, erforderlich für die Audioencodierung mit MEncoder.

- zlib - empfohlen, benötigt für die Unterstützung komprimierter MOV-Header und PNG.

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

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

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

- libsmb - optional, für SMB-Netzwerkunterstützung

## Features

- Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in 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.

- Wenn du eine V4L-kompatible Radioempfängerkarte hast und mit MPlayer Radio hören oder aufnehmen möchtest, lies den Abschnitt radio.

- 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. Überprüfe, ob du eine Datei namens `codecs.conf` in deinem Benutzerverzeichnis unter (`~/.mplayer/codecs.conf`) von alten MPlayer-Versionen hast. Wenn du einer findest, entferne sie.

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-Nutzer 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 `config.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 `config.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.

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.

## Schriften und OSD

Du musst MPlayer mitteilen, welche Schriftart verwendet werden soll, um in den Genuß von OSD und Untertiteln zu kommen. Jede TrueType-Schriftart oder spezielle Bitmap-Schriftarten werden funktionieren. TrueType-Schriftarten werden jedoch empfohlen, da sie weit besser aussehen, entsprechend der Filmgröße skaliert werden können und mit verschiedenen Zeichensätzen besser umgehen.

### TrueType-Schriften

Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen. Die erste besteht darin, die Option `-font` auf der Kommandozeile anzugeben. Diese Option ist vermutlich ein guter Kandidat für die Aufnahme in deine Konfigurationsdatei (siehe Manpage für Details). Die zweite besteht darin, einen `subfont.ttf` genannten Symlink zu der Schriftart deiner Wahl zu erstellen. Führe entweder

    ln -s /Pfad/zur/Schrift.ttf ~/.mplayer/subfont.ttf

für jeden User durch, oder erstelle einen systemweiten Symlink:

    ln -s /Pfad/zur/Schrift.ttf $PREFIX/share/mplayer/subfont.ttf

Wenn MPlayer mit fontconfig-Unterstützung compiliert wurde, werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet `-font` einen fontconfig-Schriftnamen, der Standard ist die Schriftart Sans-serif. Beispiel:

    mplayer -font 'Bitstream Vera Sans' anime.mkv

Um eine Liste der fontconfig bekannten Dateien zu erhalten, benutze `fc-list`.

### Bitmap-Schriften

Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz von unserer Homepage herunter. Du kannst zwischen verschiedenen ISO-Schriftarten und ein paar Sätzen von Schriftarten, die von Benutzern beigetragen wurden, in verschiedenen Zeichensätzen wählen.

Entpacke die Datei, die du heruntergeladen hast nach `~/.mplayer` oder `$PREFIX/share/mplayer`. Benenne dann eins der extrahierten Verzeichnisse um zu `font`, oder erstelle einen Symlink dorthin, zum Beispiel:

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

    ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font

Schriftarten sollten eine entsprechende `font.desc`-Datei haben, die Positionen von Unicode-Schriften auf die aktuelle Codeseite des Untertiteltexts abbildet. Eine andere Möglichkeit besteht darin, in UTF-8 codierte Untertitel zu verwenden und die Option `-utf8` zu verwenden. Noch eine Möglichkeit besteht darin, der Untertiteldatei den gleichen Namen zu geben wie die Videodatei mit der Dateiendung `<video_name>.utf` und sie im selben Verzeichnis wie die Videodatei abzulegen.

### OSD-Menü

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

Das Menü Einstellungen 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 von dir definierte Menütaste

## Codec Installation

### Xvid

Xvid ist ein freier MPEG-4 ASP konformer Videocodec. Beachte, dass Xvid nicht benötigt wird, um mit Xvid encodiertes Video zu decodieren. In der Standardkonfiguration wird dafür libavcodec benutzt, da er höhere Geschwindigkeit bietet.

#### Installation von Xvid

Wie die meiste Open-Source-Software gibt es zwei verfügbare Varianten: offizielle Releases und die CVS-Version. Die CVS-Version ist für die Benutzung normalerweise stabil genug, da es meistens Fehlerbehebungen für Bugs enthält, die im Release vorhanden sind. Hier also, was du zu tun hast, um Xvid vom CVS mit MEncoder ans Laufen zu bringen (du benötigst mindestens autoconf 2.50, automake und libtool):

1.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login

2.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore

3.     cd xvidcore/build/generic

4.     ./bootstrap.sh

5.     ./configure

   Du musst möglicherweise ein paar Optionen hinzuzufügen (schaue dir die Ausgabe von `./configure --help` an).

6.     make && make install

### x264

x264 ist eine Bibliothek für die Erstellung von H.264-Videostreams. MPlayer Sourcen werden auf den neuesten Stand gebracht wenn es an x264 API Veränderungen gibt. Deswegen wird empfohlen MPlayer aus dem Subversion zu benutzen.

Wenn du GIT installiert hast, können die aktuellen x264 Sourcen mit dem folgen Befehl besorgt werden:

    git clone git://git.videolan.org/x264.git

Bau und installier dann nach der Standardformel:

    ./configure && make && make install

Jetzt nochmal `./configure` ausführen, damit MPlayer die Unterstützung für x264 aktiviert.

### AAC Codec

AAC (Advanced Audio Coding) ist ein Audiocodec, der vorwiegend in MOV- und MP4-Dateien vorkommt. Ein Open-Source-Decoder namens FAAD ist auf verfügbar. MPlayer enthält eine CVS Version von libfaad 2.1 beta, so dass es nicht extra installiert werden muss.

Um die externe FAAD-Bibliothek verwenden zu können (z.B. um mit gcc 3.2 compilieren zu können, der die interne Version nicht übersetzt), muss die Bibliothek von der Download Seite heruntergeladen und installiert werden. Anschließend muss die Option `--enable-faad-external` an `./configure` übergeben werden, damit die externe Bibliothek erkannt wird. Es ist lediglich erforderlich, vorher libfaad zu installieren, und zwar so:

    cd faad2/
    sh bootstrap
    ./configure
    cd libfaad
    make
    make install

Binärpakete sind auf audiocoding.com nicht erhältlich, Debian-Pakete können aber mit (apt-)get von Christian Marillat's Homepage, Mandrake/Mandriva RPMs von P.L.F und RedHat RPMs von Grey Sector heruntergeladen werden.

### AMR Codecs

Adaptive Multi-Rate Sprachcodec, wird in 3G (UMTS) Mobiltelephonen verwendet. Die Referenzimplementierung ist auf The 3rd Generation Partnership Project erhältlich (frei - wie in Freibier - für private Benutzung). Um die Unterstützung zu aktiveren, lade die Bibliotheken für AMR-NB and AMR-WB runter und installiere sie, indem du die Anweisungen auf dieser Seite befolgst. Compiliere MPlayer danach erneut.

Für Unterstützung müssen die Codecs AMR-NB und AMR-WB heruntergeladen und in dasselbe Verzeichnis wie MPlayer verschoben werden. Anschließend folgende Befehle ausführen:

    unzip 26104-610.zip
    unzip 26104-610_ANSI_C_source_code.zip
    mv c-code libavcodec/amr_float
    unzip 26204-600.zip
    unzip 26204-600_ANSI-C_source_code.zip
    mv c-code libavcodec/amrwb_float

Befolge danach einfach das Standardvorgehen für die Compilierung von MPlayer.

## 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 muss manchmal 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. Die Option `-rtc` aktivert diesen, es ist jedoch ein hierfür speziell konfigurierter Kernel erforderlich. 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 einen der folgenden Befehle, um RTC für normale Benutzer zu aktivieren:

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

      sysctl dev/rtc/max-user-freq=1024

  Die kannst diese Einstellung permanent machen, indem du letzteren Befehl der Datei `/etc/sysctl.conf` hinzufügst.

  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. 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.