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

http://www.mplayerhq.hu

[ German ] [ Hungarian ] [ English ]


Inhaltsverzeichnis


1. Einleitung

1.1. Übersicht

MPlayer ist einen Video-Player für LINUX, welcher auch auf manchen anderen Unix-Systemen und nicht-x86 CPU läuft, siehe Sektion 6. Er spielt die meisten MPEG, AVI und ASF/WMF Dateien (auch einige QT/MOV-Dateien mit CVID, VP32 und Raw Audio-Format), unterstützt von einigen eingebauten und einigen Win32 DLL Codecs. Du kannst VideoCD, SVCD, DVD und auch DivX Filme sehen (und du brauchst die avifile-Bibliotek nicht!). Ein anderes großes Feature von MPlayer ist die große Weite von unterstützten Ausgabetreibern. Es funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, aber du kannst SDL verwenden (und dadurch alle SDL-Treiber) 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 von deinen Videos in Vollbild geniesen. Und was meinst du zu den großen, antialiase schattierten Untertiteln (8 unterstützte Typen!!!) mit europäischen/ISO 8859-1,2 (ungarische, englische, tschechische, usw.), kyrillischen und koreanischen Schriften und das 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.

Ich schreibe keine Codecs, 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 mit der -idx Option wiederherstellen, dies ermöglicht 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

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, meinst 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:
    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:
    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:
    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:
    Es war ein Paket aus 2 Programmen: mpg12playv0.95pre6 und mein neuer, einfacher AVI-Player 'avip' basierend auf Avifiles Win32 DLL Loader.
  • MPlayer v0.10:
    Der MPEG und AVI Player in einer einizigen Binary!
  • MPlayer v0.11:
    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"
    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, Bugs entfernt usw.
  • MPlayer 0.18 "The BugCounter"
    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"
    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!

1.3. Installation

Du wirdst die folgende Pakete und Versionen benötigen, wenn du keine Probleme erleben willst:

  • binutils - vorgeschlagene Version ist 2.11.x. Diese Programm ist verantworlich für das Erzeugen von MMX/3DNow!/usw Befehlen, deshalb sehr wichtig.
  • gcc - vorgeschlagene Version ist von 2.95.2 bis 2.95.4. Verwende NIEMALS 2.96 oder 3.x.x !!! Sie erzeugen fehlerhaften Code.
  • XFree86 - vorgeschlagene Version ist immer die neueste (4.1.0). Normalerweise will das jeder. Auch wenn du nicht weisst warum, du brauchst es.
  • make - vorgeschlagene Version ist immer die neueste (mindestens 3.79). Dies ist normalerweise nicht so wichtig.
  • SDL - es ist nicht vorgeschrieben, aber es ist hilfreich in vielen Fällen. Verwende immer das aktuelleste Version (beginnend bei 1.2.x).

Lese das Folgende, bevor du versuchst MPlayer zu kompilieren:

  • Wenn du planst, MPlayer auf einer x86 Architektur zu verwenden, willst du möglichweise die Win32 Codecs verwenden. Lade dir dazu die w32codecs.zip herrunter 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.
  • Wenn du eine Matrox G200/G400/G450/G550 Karte verwendest, bitte schau auf die Sektion 2.2.1.7 um einen großen Geschwindigkeitsvorteil zu erhalten. Es ist wichtig, dass du diese Schritte vor dem Kompilieren von MPlayer machst, ansonsten wird die Matrox-spezifische Unterstützung nicht eingebaut.
  • Wenn du eine 3Dfx Karte (welche Modelle?) verwendest, bitte schau auf die Sektion 2.2.1.9 um einen großen Geschwindigkeitsvorteil zu erhalten. Es ist wichtig, dass du diese Schritte vor dem Kompilieren von MPlayer machst, ansonsten wird die 3Dfx Unterstützung nicht eingebaut.
  • Wenn du den ProjectMayos DivX4 Codec verwenden willst, siehe Sektion 2.1.2.1 vor dem Kompilieren. Dieser Codec kann DivX Filme um einiges schneller als die Win32 DLLs und auch ffmpeg abspielen. Es ist Closed-Source und nur in einer x86 Version verfügbar.
  • Wenn du planst ffmpegs libavcodec zu verwenden, schaue vor dem Kompilieren auf die Sektion 2.1.2.2. Du wirdst dies brauchen um DivX Unterstützung auf einer nicht-x86 Maschine zu gewinnen oder um sich einen Vorteil im Vergleich gegenüber dem Win32 Codec in der Geschwingkeit zu schaffen.
  • Für DVD-Unterstützung musst libdvdread und libdvdcss kompilieren. Lese dazu die Sektion 4.2.
  • Entscheinde, ob du GUI brauchst. Wenn du es braucht schaue auf die Sektion 1.4 vor dem Kompilieren.

Nun kompiliere MPlayer:

    ./configure
    make
    make install

Es ist wichtig sich die Ausgabe von ./configure anzusehen, 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 Schiften 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-*.zip

Jetzt bleibt nur mehr eins übrig: kopiere die codecs.conf-Datei vom etc Verzeichnis (im MPlayer-Hauptstamm) nach $HOME/.mplayer/codecs.conf.

1.4. Was ist mit dem GUI?

Das GUI basiert auf GTK, also muss gtk (und die devel-Sachen) 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 /usr/local/bin/mplayer /usr/local/bin/gmplayer und gmplayer aufrufen.

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 neuerskin oder dem Eintrag skin=neuerskin in der Konfigurationsdatei den Skin */Skin/neuerskin auswählen.

1.5. Untertitel und OSD

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

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

# first number : wait this much after previous subtitle disappeared
# second number : display the current subtitle for this many seconds

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/Joining/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 source.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 Schiften sind beschränkt auf ISO 8859-1/2-Unterstützung, und es gibt noch einige spezielle Versionen für koreanische, russische und andere Codepages. Die Schiften sollte eine passende font.desc-Datei haben, welche die Unicode-Schrift an die aktuelle Codepage und den Untertitel-Text anzupasst. Eine andere Lösung ist, dass man die Untertitel im UTF8 Format enkodiert und die -utf8 Option verwendet oder die Untertitel-Datei in .utf benennen. Das Neu-Kodieren von verschiedenen Codepages zu UTF8 kann mit dem konwert (debian) oder iconv (RedHat) Programm gemacht werden.
    Einige URLs:
  • verwende das Schrift-Erzeugungs-Tool, du kann es finden unter TOOLS/subfont-c . Es ist ein komplettes Tool um TTF/Type1/usw. Schrifen 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/font/ . Nun musst du die Zeit im oberen, linken Eck des Films sehen (kann man mit '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.

2. Features

2.1. Video Formate, Audio & Video Codecs

2.2. Video & Audio Ausgabe-Geräte

3. Verwendung

    

  mplayer -vo x11 /mnt/Filme/Contact/contact2.mpg
  mplayer -vcd 2 /dev/cdrom
  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
  mplayer -dvd /dev/dvd /mnt/dvd/matrix.vob
  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
p oder LeertastePause (drücke irgendeine Taste um weiterzumachen)
q oder STRG-Cstoppe die Wiedergabe und beende Programm
+ oder -einstellen des Audio-Delays, +/- 0,1 Sekunden
/ und *vermindere/erhöhe Lautstärke
owechselt OSD: kein / Suchleiste / Suchleiste und Zeit
mwechselt zwischen Master/PCM-Channel für Lautstärkenregelung
fwechselt zwischen Vollbild-Modus (nur mit -vo sdl)
z oder xeinstellen des Untertitel-Delays, +/- 0,1 Sekunden

(die folgende Tasten sind nur gültig, wenn man DirectShow DivX Codecs verwendet)

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

GUI Keyboard-Tasten

, und .verherige / 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

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

MPlayer kann KEINE ASF-Dateien vom Netzwerk spielen, weder mit HTTP, noch mit MMS.

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

    wget ftp://micorsops.com/something.avi -O - | m

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 kompiliern brauchst du GNU make (gmake, /usr/ports/devel/gmake), orginal 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/ /dev/cdrom

Es gibt bis jetzte 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 Platform zu verwenden oder du kannst auch die MMX/MMX2/3DNow/usw Befehlssätzte für MP3/DivX/DVD/was-auch-immer verwenden. Unter Solaris SPARC wirst du bestimmt noch einige AVI-Dateien mit nicht funktionierenen Video und/oder Audiowiedergabe, 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), orginal 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 x86 brauchst du den GNU C/C++ Compiler, welcher konfiguriert sein muss, um den GNU Assembler zu verwenden! Der MPlayer Code erzeugt auf x86 Platformen eine Binäry mit Verwendungen von MMX, SSE und 3DNOW Befehlen, dies kann mit dem Sun Assembler /usr/ccs/bin/as nicht assembliert werden.

Der configure Script 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 an, und sage damit dem Script, 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 gepatchten 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 kannt du zusätzliche Geschwindigkeit gewinnen, indem du die VIS-Befehle für zeitintensive 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-Dekodierung 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 Commandline:

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

Anhang A - Autoren [Englisch]

HINWEIS: Sende *KEINE* Fehlerberichte, Hilfe- & Feature-Wünsche direkt an die Autoren!

Lese Anhang C und trette oder MPlayer-users-Mailing-Liste bei.

The MPlayer project:

  • Árpád Gereöffy (A'rpi/ESP-team): <arpi@thot.banki.hu>
    • player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...)
    • mp3lib, based on mpglib sources [MP3 audio decoder]
    • getch2 [keyboard handler]
    • some changes in libmpeg2 code (progressive frames, bitrate & fps support)
    • libvo improvements: adding OpenGL support, bugfix in mga driver...
    • triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver
    • scripts in the TVout directory (TVout on Matrox G400DH, read documentation)
    • hacking DivX/Mpeg4 VfW codecs to get YUV output
    • opendivx decoder speed optimizations (see opendivx/ChangeLog)
    • OSD & SUB display code
    • ffmpeg/libavcodec integration
    • DivX4Linux (ProjectMayo) support (see documentation)
    • New DVD-Support using libdvdread
  • Zoltán Ponekker (Pontscho/Fresh!): <pontscho@makacs.poliod.hu>
    • configure script and Makefiles for easy compile
    • GUI system
    • 3DNow! support into mp3lib
    • 3DNow! support into fastmemcpy.h
    • various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc)
    • libvo: adding xmga driver, and fullscreen support to xv
    • audio mixer (volume) support
  • Gábor Lénárt (LGB): <lgb@lgb.hu>
    • ./configure script improvements
    • Makefile improvements
    • prelimenary DVD support
    • various X11 cleanups and fixes
    • HTMLization of documentation
  • Gábor Bérczi (Gabucino): <gabucino@k2.jozsef.kando.hu>
    • documentation maintainer
    • hungarian translation of documentation and homepage
    • second webpage design&gfx
    • webpage maintainer
    • testing, codecs quality & speed comparsions
    • IRC channels operator (#MPlayer is user channel)
    • experimental MINIX port :)
    • MPsub subtitle format design
  • Szabolcs Berecz (Szabi): <szabi@inf.elte.hu>
    • codecs.conf file parser
    • config file and command line parser
    • mga_vid fixes, module option etc.
    • fbdev support in libvo
    • type #7 subtitle support
  • László Megyer (Lez, Laaz): <lez@sch.bme.hu>
    • SUB reader
    • screensaver+DPMS disable for libvo
  • Gyula László (Chass, Tégla): <chass-@freemail.hu>
    • first fonts (mp_font1.zip)
    • third (current) homepage design&gfx
  • Zoltán Márk Vicián (Se7en): <se7en@sch.bme.hu>
    • SVGAlib support in libvo
  • Alex Beregszaszi (Al3x): <alex@naxine.org>
    • ALSA output driver in libao2
    • vo_ggi output driver in libvo (www.ggi-project.org)
  • Andreas Ackermann (Acki): <asackerm@stud.informatik.uni-erlangen.de>
    • LIRC support (see documentation)
    • DGA support in libvo
  • Felix Bünemann (Atmos): <atmosfear@users.sourceforge.net>
    • SDL driver maintainer
    • Additional YUV formats fixes
    • New font (mp_font2.zip)
    • PNG file output support in libvo
    • flipping support (for Indeo 3/4, etc)
    • SDL audio driver in libao2
    • RAW PCM/WAVE file writer for libao2
    • OggVorbis audio support
    • Various aspect code
    • Win32 port
  • TeLeNiEkO: <telenieko@telenieko.com>
    • spanish translation of documentation
  • Michael Graffam: <mgraffam@idsi.net>
    • XF86VidMode support to vo_x11 and vo_dga
    • Video mode switching code to vo_dga
  • Jens Hoffmann: <hoffmajs@gmx.de>
    • Additional YUV formats support
    • found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization
  • Nick Kurshev: <nickols_k@mail.ru>
    • memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h)
    • CDROM tune info
    • further 3DNow! optimizations into mp3lib and libac3 and ffmpeg
    • russian translation of documentation
  • German Gomez Garcia: <german@piraos.com>
    • SPDIF AC3 output for SBLive!
  • Dariush Pietrzak (Eyck): <eyck@incubus.ar.lublin.pl>
    • debian packaging support (see debian/* and this documentation)
    • support for vplayer subtitle format
    • prelimenary support for .RT subtitle format
  • Marcus Comstedt: <marcus@idonex.se>
    • initial solaris8-x86 support
  • Jürgen Keil and Marcus Comstedt: <jk@tools.de>
    • patched MPlayer to work on Solaris 8 x86
    • configure fixes
    • various fixes (win32, configure, etc)
    • SUN audio driver in libao2
    • mediaLib support in libavcodec
  • Vladimir Kushnir: <vkushnir@Alfacom.net>
    • patched MPlayer to work on FreeBSD x86
  • Bertrand BAUDET: <bertrand_baudet@yahoo.com>
    • network streaming support
  • Artur Zaprzala:
    • Complete font generator prog + OSD font (TOOLS/subfont-c)
  • lanzz@lanzz.org:
    • GIMP font generator plugin (TOOLS/subfont-gimp)
  • Adam Tla/lka: <atlka@pg.gda.pl>
    • osd/sub review, fixes, optimization, utf8 support
    • various fixes
  • Folke Ashberg: <folke@ashberg.de>
    • native AAlib driver (-vo aa)
  • Kamil Toman <ktoman@email.cz>
    • czech fonts
  • Ivan Kalvatchev <iive@yahoo.com>
    • interlaced MPEG2 support
  • pl (?) <p_l@gmx.fr>
    • ./configure fixes
  • Michael Niedermayer <michaelni@gmx.at>
    • postprocessing support

Main testers:

  • Tibor Balázs (Tibcu)
  • Péter Sasi (SaPe)
  • Christoph H. Lampert
  • Attila Kinali
  • Dirk Vornheder

The codecs, libs:

  • Aaron Holtzman: <aholtzma@engr.uvic.ca>
    • ac3dec (and libac3) author [AC3 audio decoder]
    • mga_vid driver [Matrox G200/G400 YUV Back-end Scaler]
    • mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player]
  • Michel Lespinasse: <walken@zoy.org>
    • did large libmpeg2 changes for better speed and mpeg conformance
  • Eugene Kuznetsov: <divx@euro.ru>
    • avifile author [AVI player library for linux, using Win32 VfW/ACM codecs]
    • technical help about AVI and ASF formats, and how to get YUV using VfW...
    • divx4linux techical support
  • Zdenek Kabelac: <kabi@informatics.muni.cz>
    • current avifile maintainer(?)
    • some technical help about the win32 stuff and timers
  • Gerard Lantau: <glantau@yahoo.fr>
    • ffmpeg/libavcodec author,maintainer (opensource mpeg, mjpeg, divx en/decoder)
  • Project Mayo: <http://www.projectmayo.com>
    • the OpenDivX codec authors
  • Michael Hipp:
    • mpglib author [isn't used directly but some parts in mp3lib]
  • Mark Podlipec:
    • xa_gsm.c author [MS-GSM audio codec] [from a GSM library by Jutta Degener and Carsten Bormann]

Their code is not used in current player version, but I've got some ideas or other technical help from:

  • John F. McGowan http://www.jmcgowan.com/
    • AVI FAQ author/collector. [site with many useful docs on codecs and avi fmt]
  • Dirk Farin: <farin@ti.uni-mannheim.de>
    • dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8]
  • Adam Williams: <broadcast@earthling.net>
    • libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4]

Anhang A/2. Beteiligte am MPlayer Code und an den DOCS

Homepage

  • Design: Chass
  • Inhalt: Gabucino

Englische Dokumentationen

  • tech-*.txt: A'rpi
  • alle anderen: Gabucino

Übersetzungen

  • Ungarisch: Gabucino
  • Deutsch: Johannes Feigl
  • Spanisch: TeLeNiEkO (veraltet)
  • Russisch: Nick Kurshev (veraltet)
  • Polnisch: Dariush Pietrzak (veraltet)

Platformen/Portierungen

  • DEBIAN Paketierung: Dariush Pietrzak
  • FreeBSD Support: Vladimir Kushnir
  • Solaris 8 Support: Jürgen Keil

MPlayer Code:

  • Dateiformat-Erkennung, Demuxer: A'rpi
  • DVD-Unterstützung: (Alpha Version: LGB) jetzt: ?
  • Netzwerk-Streaming: Bertrand BAUDET
  • A-V Sychronisations-Code: A'rpi
  • Untertitel Datei-Parser/Reader: Lez (die meinsten davon)
  • Konfigurationsdateien & Kommandozeilen-Parser: Szabi
  • fastmemcpy: Nick Kurshev
  • LIRC Support: Acki
  • SUB/OSD Renderer: Adam Tla/lka

libvo Treiber:

  • vo_3dfx.c - VERALTET, verwende xv
  • vo_tdfxfb.c - Zeljko Stevanovic
  • vo_aa.c - Folke Ashberg
  • vo_dga.c - Acki
  • vo_fbdev.c - Szabi
  • vo_fsdga.c - VERALTET, verwende dga
  • vo_ggi.c - al3x
  • vo_gl.c - A'rpi
  • vo_md5.c - A'rpi
  • vo_mga.c - A'rpi
  • vo_null.c - A'rpi
  • vo_odivx.c - A'rpi
  • vo_pgm.c - A'rpi
  • vo_png.c - Atmos
  • vo_sdl.c - Atmos
  • vo_svga.c - se7en
  • vo_syncfb.c - VERALTET, verwende mga
  • vo_x11.c - Pontscho
  • vo_xmga.c - Pontscho
  • vo_xv.c - Pontscho

libao2 Treiber:

  • ao_alsa5.c - al3x
  • ao_alsa9.c - al3x (gefixt von joy_ping)
  • ao_null.c - A'rpi
  • ao_oss.c - A'rpi
  • ao_pcm.c - Atmos
  • ao_sdl.c - Atmos
  • ao_sun.c - Jürgen Keil

TOOLS:

  • subfont-c - Artur Zaprzala:
  • subfont-GIMP - lanzz@lanzz.org
  • *.pl - Atmos
  • others - A'rpi

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 geprochen über Interface/API Änderungen, neue Librarys, Code-Optimierungencode, ./configure Änderungen und du kannst eine Patches hier herschicken. Sende KEINE Fehlerberichte, Anwenderfragen, Featurewünsche 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 der ganzen DOCs)

  • MPlayer & Matrox G200/G400/G450/G550 Anwender:
    http://lists.sourceforge.net/lists/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.

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

    Send hier nur Fragen über CVS-Änderungen. (wenn du nicht verstehst, warum eine Änderung erforderlich ist, oder du einen bessern Fix hast) Sei dir aber siche, 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 andere Sprache!

HINWEIS: Du kannst das durchsuchbare Maillinglisten-Archiv hier erreichen

Anhang C - Wie man einen Fehler berichtet

Anhang D - Bekannte Probleme

Spezielle System-/CPU-spezifische Bugs/Probleme:

  • SIGILL (signal 4) in draw_frame, auf einem P3 (meinst mit eine 2.2.x Kernel):
    Problem: movups stützt ab in in libvo/fastmemcpy.h
    Abhilfe: ./configure --disable-fastmemcpy
    Lösung: Ausschalten des SSE-Codes in fastmemcpy.h ;-(
  • Kein Bild (schwarzes Bild) beim Abspielen von MPEG oder OpenDivX-Dateien bei RGB 15/16bpp (x11, dga, fbdev, svga)
    Problem: gcc 2.96 Bug
    Abhilfe: ./configure --disable-mmx oder verwende gcc 2.95.x
    Lösung: Code korrigieren
  • SIGILL (signal 4) oder anderer Fehler beim Laden von l3codeca.acm:
    Problem: die Lib wurde nach 0x00xxxxxx anstatt von 0x40xxxxxx geladen
    Abhilfe: mplayer -afm 1 ...
    Lösung: du verwendest einen Kernel-Patch für die Sicherheit, wie z.B. OpenWall
  • 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.

Verschiedene A-V Sync- und andere Audio-Probleme

Allgemein Audio-Abbruch und ruckartiger Sound (existiert mit allen oder einigen Dateien)
  • Audio Pufferprobleme (Puffergröße schlecht erkannt)
    Abhilfe: mplayer -abs
  • 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.
    Lösung: versuche -framedrop

Audio verschiebt sich / verliert die Synchronisation bei einer oder mehreren Dateien
  • defekte Datei (bitten uploaden, das wir das prüfen und korrigieren können
    Abhilfe: -ni oder -nobps Option (für nicht-interlaced oder defekte Dateien)
    -mc 0 (erforderlich bei Dateien mit schlechtem Interleave und VBR-Audio)
    -Delay-Einstellung oder +/- Tasten bei Abspielen
  • deine Soundkarte unterstützt keine 48KHz Wiedergabe
    Abhilfe: kaufe eine bessere Soundkarte... oder versuche die Bilder/Sekunde um 10% zu vermindern (verwende -fps 27 bei 30fps-Filmen)
  • 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 Codec
    Abhilfe: lese die Dokumentationen und hilf uns, dass wir ihn in Zukunft unterstützen

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