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.
Softwareanforderungenbinutils - 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
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+.
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.
FreeType in der Version 2.0.9 oder neuer wird
benötigt, um Schriften für OSD und Untertitel zu erhalten.
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 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, erforderlich 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 komprimierter MOV-Headern und PNG.
libogg - optional, erforderlich 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
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.
Grafikkarten
Es gibt allgemein zwei Arten Grafikkarten. Die eine (die neueren Karten)
unterstützen 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 den Umgang damit. Es ist wichtig, diese Schritte vor der Compilierung
von MPlayer durchzuführen, da sonst keine Unterstützung
für mga_vid eingebaut 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 eingebaut wird.
Wenn du X benutzt, verwende 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 die Dokumentation des TV-out im Abschnitt ATI-Karten,
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 tun, werden die Features unter deinem Betriebssystem nicht
unterstützt :( Wenn Hardwarebeschleunigung unter Windows funktioniert, bedeutet
dies 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 aktiviert wird
(benutz die Option oder , aber ich warne dich,
die ist langsam), oder durch den Wechsel zu einem kleineren Videomodus wie zum Beispiel
352x288. Hast du keine YUV-Beschleunigung, wird letztere Methode empfohlen.
Der Wechsel des Videomodus kann durch die Option aktiviert werden
und 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 bei mir 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
.
SoundkartenSoundblaster 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 anderer Karten werden von
MPlayer nicht unterstützt.
Es wird dringend empfohlen, die Sektion Soundkarte zu lesen!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. 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 ,
, , oder 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 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
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
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 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
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/fontln -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
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
compiliere MPlayer mit Übergabe von
an ./configure
stelle sicher, dass du ein OSD-Font installiert hast
kopiere etc/menu.conf in dein
.mplayer-Verzeichnis
kopiere etc/input.conf in dein
.mplayer-Verzeichnis oder in das systemweite
MPlayer-Konfigurationsverzeichnis (Standard:
/usr/local/etc/mplayer)
überprüfe und editiere input.conf, um Menüsteuerungstasten
zu aktivieren (das ist dort beschrieben).
starte MPlayer mit folgendem Beispiel:
$ mplayer -menu datei.avi
drücke irgendeine von dir definierte Menütaste
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 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-freqsysctl 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
aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
Auf der anderen Seite benötigt er mehr CPU.