MPlayer - Movie Player für LINUX (C) 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)

http://www.mplayerhq.hu

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


Inhaltsverzeichnis



Entwicklerschreie (Englisch)


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

1.1. Übersicht

MPlayer ist einen 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, VIVO, ASF/WMF, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM und RoQ Dateien ab, unterstützt von einigen eingebauten, Xanim und Win32 DLL Codecs. Du kannst VideoCD, SVCD, DVD, 3ivx und auch DivX Filme sehen (und du brauchst die avifile-Bibliotek nicht einmal!). 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 GGI und SDL (und dadurch alle derren Treiber) verwenden und auch einigen Low-Level grafikkartenabhängige Treiber (für Matrox, 3Dfx und Radeon). 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 der OSD?

MPlayer ist grundsätzlich GNU GPL, enthält jedoch auch einige Nicht-GPL-Teile die das Verbeiten in binärer Form nicht erlauben. Es enthält ausserdem die OpenDivX-Bibliotek, die eine spezielle Lizenz besitzt. Wir entwickeln aber immer noch in Richung der GPL.

Die Verteilung von MPlayer in der form eines Binarys und/oder Binary-Packetes ist momentan unmöglich, sowohl aus technischen als auch aus rechtlichen Gründen. Detailierte Informationen können im zweiten Teil von dieser Datei gefunden werden. Es wird empfohlen diese zu lesen.

Ich habe keine Codecs geschrieben, nur einen Player. Stattdessen verbringe ich eine Menge Zeit mit dem Finden des besten Weges um zerstörte Input-Files (MPEG und AVI) zu spielen und um perfekte A-V Sync mit Suchfunktion zu erreichen. Mein Player spielt felsenfest zerstörte MPEG Dateien (nützlich für einige VCDs) und spielt schlechte AVI-Dateien, welche auch mit dem bekannten Windows Media Player nicht mehr spielbar sind. Auch AVI-Dateien ohne Index-Chuck sind spielbar und du kannst ihr Index entweder kurzfristig mit der -idx Option wiederherstellen, oder permanent mit dem 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.2. Geschichte

Es begann vor einem Jahr... Ich 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...

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

CODECS

VIDEOKARTEN

Es gibt allgemein gesprochen zwei Arten von Grafikkarten. Die eine Art (und die neueren Karten) besitzen hardwaremäßige 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.

  • S3 Karten : Die Savage Chips besitzen Hardwarebeschleunigung. Verwende die neueste XFree86 Version die möglich ist, ältere Treiber sind fehlerhaft. Savage Chips machen Problem mit YV12 Anzeige, siehe S3 Xv Sektion für Details. Ältere, nicht-Savage Karten haben keine oder langsamen Hardwaresupport.
  • Nvidia Karte : sehr schlecht 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. Für Details siehe Nvidia Xv Treiber Sektion.
  • andere Karten : keine oben genannte?
  • Nicht-YUV Karten

    Vollbild kann durch Zoomen (per Software, dies ist langsam) erreicht werden oder durch das Wechseln in ein kleineres Videomodus, wie zum Beispiel. Wenn du keine YUV Beschleunigung hast ist das Letztgenannte zu empfehlen. Bei MPlayer kann dieses Verhalten durch das Verwenden der -vm Option und mit den folgenden Treibern beeinflusst werden:

    SOUNDKARTEN

  • C-Media mit SP/DIF Ausgang : Hardware AC3 Durchgabe ist möglich mit diesen Karten, siehe Hardware AC3 Decodierung Sektion.
  • Die Features von anderen Karten werden von MPlayer nicht unterstützt. Es ist sehr zu empfehlen die Soundkarten Sektion zu lesen !

    FEATURES

    Nun kompiliere MPlayer:

        ./configure
        make
        make install

    Ab diesem Zeitpunkt ist MPlayer zur Benutzung bereit. Das Verzeichnis /usr/local/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!

    Debian Benutzer können ein .deb Packet 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 hier 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 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 Sektion 1.5 für Details zu lesen.

        mkdir ~/.mplayer/font
        cd ~/.mplayer/font
        unzip mp_arial-iso-8859-1.zip

    1.4. Was ist mit dem GUI?

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

    HINWEIS: benütze die mittlere Maustaste (auf 2 Tastenmäusen drücke 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 (/usr/local/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.5. Untertitel und OSD

    MPlayer unterstützt mehrere Arten von Untertiteln. Zur Zeit können vom Subreader-Code 10 Arten von Untertitel verarbeitet werden. Um zu sehen welche diese Untertitelformate sind, lies in der subreader.c (etwa Zeile 30).

    MPlayer unterstützt VobSub Untertitel. VobSub Untertitel bestehen aus einer grossen .SUB Datei, einer .IDX Datei und/oder einer .IFO Datei. Benutzung : wenn du Dateien wie beispiel.sub, beispiel.ifo, beispiel.idx hast - musst du die Option -vobsub beispiel -vobsubid 0 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.

    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 DOCS/tech/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, long time ago...

    0 3
    in a galaxy far away...

    0 3
    Naboo was under an 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:

    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 'o' ausschalten).

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

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

    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

    2.5.1. Übersicht

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

    2.5.2. 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 (verwende die auch die -vc rawi420 Option!), YUY2, UYVY oder RGB32 (mit -vo sdl) Colorspaces. Du kannst diese Eigenschaft mit der outfmt=YV12 Option (siehe unten) einstellen.

    2.5.3. Verfügbare Optionen
       on    verwenden des TV-Inputs
       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    welcher Eingang des TV-Tuners verwendet werden soll (z.B. television, s-video, composite, ...)
    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.4. Tastatursteuerung

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

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

    3. Verwendung

    3.1. Kommandozeile

    MPlayer benützt einen komplexen playtree. Er besteht aus "standard" 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).

      Datei  mplayer [Optionen] [Pfad/]Dateiname
    Dateimplayer [standard Optionen] [Pfad/]Dateiname [Optionen für datei1] datei2 datei3 [Optionen für datei3]
    VCDmplayer [Optionen] -vcd Tracknr -cdrom-device /dev/cdrom
    DVDmplayer [Optionen] -dvd Titelnr [-dvd-device /dev/dvd]
    Netzmplayer [Optionen] http://site.com/datei.[mpg|avi]

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

    3.1. Steuerung mit der Tastatur

      <- oder ->  Suche zurück/vorwärts 10 Sekunden
    nach-oben und nach-untensuche zurück/vorwärts 1 Minute
    Bild-nach-oben und Bild-nach-untensuche zurück/vorwärts 10 Minute
    < oder >suche rück-/vorwärts in der Playliste
    p oder LeertastePause (drücke irgendeine Taste um weiterzumachen)
    q oder ESCstoppe die Wiedergabe und beende Programm
    + oder -einstellen des Audio-Delays, +/- 0,1 Sekunden
    / oder *vermindere/erhöhe Lautstärke
    fwechselt den Vollbildschirm-Modus
    owechselt OSD: kein / Suchleiste / Suchleiste und Zeit
    mwechselt zwischen Master/PCM-Channel für Lautstärkenregelung
    z oder xeinstellen des Untertitel-Delays, +/- 0,1 Sekunden

    (die folgende Tasten sind nur gültig, wenn man -vo xv verwendet)

    1 oder 2Kontrast-Einstellung
    3 oder 4Helligkeits-Einstellung
    5 oder 6Farbton-Einstellung
    7 oder 8Sättigungs-Einstellung

    GUI Keyboard-Tasten

      , und .  vorherige / nächste Datei
    graues - und +verringere / erhöhe Lautstärke
    Enterstartet Wiedergabe
    LeertastePause
    sStop
    aüber
    llädt Datei
    bSkin-Browser
    ezeigt Equalizer
    pzeigt Playliste
    fwechselt zu/von Vollbild
    maktiviert/deaktiviert Mute

    TV Input Kontrolle

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

    3.2. Steuerung mit LIRC (Linux Infrared Remote Control)

    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, 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_lirc. Es versteht die folgenden Befehle:

      PAUSEPause für die Wiedergabe. Irgendein Tastendruck zum Weiterspielen.
    QUITBeenden von MPlayer
    RWND10 Sekunden zurück
    FRWND60 Sekunden zurück
    FWDÜberspringt 10 Sekunden
    FFWDÜberspringt 60 Sekunden
    INCVOLVerhöht die Lautstärke um 1 Prozent
    DECVOLVerringert die Lautstärke um 1 Prozent
    MASTERVerwendung des Haupt-Mixer Kanals
    PCMVerwendung des PCM-Mixer Kanals

    Vergiss nicht den Wiederholungsparameter [repeat] zu setzten für RWND/FWD in .lircrc . Hier ist ein Auszug aus meiner .lircrc:

      begin
       remote = CU-SX070
       prog = mplayer_lirc
       button = Tape_Play
       repeat = 1
       config = FFWD
      end
    
      begin
       remote = CU-SX070
       prog = mplayer_lirc
       button = Tape_Stop
       config = QUIT
      end

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

    3.3. Streaming von Netzwerk oder Pipes

    MPlayer kann Videos über Netzwerke, unter Verwendung des HTTP Protokoll. Die Konfigurierung ist einfach, kompiliere MPlayer neu mit

        ./configure --enable-streaming

    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/something.avi -O - | mplayer -

    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.18-1_i386.deb'.

    Und nun einfach root werden und:

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

    So sieht es dann aus:

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

    6.2. FreeBSD

    Um das Packet 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 Bugs in Solaris 8 x86 ist es nicht möglich, DVDs mit einer Speicherkapazität von mehr als 4GB zu verwenden:

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

    Anhang B - Mailing-Listen

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

    HINWEIS: Sprache der oberen Listen ist ENGLISCH, ausser wenn es extra anders angeben ist. Bitte sende keine Nachrichten in andere Sprache!

    HINWEIS: Du kannst das durchsuchbare Mailinglisten-Archiv hier erreichen

    Anhang C - Wie man einen Fehler berichtet

    Anhang D - Bekannte Probleme

    Spezielle System-/CPU-spezifische Bugs/Probleme:

  • Hässlicher MP2/MP3-Ton auf PPC:
    Problem: bekannter gcc Fehlcompilierungs-Bug 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 Bug, 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)

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

    Überhaupt kein Ton:

    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 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 (GEFIXT)
    - xv Treiber: verwende die -double Option (GEFIXT)