Inhaltsverzeichnis
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 :)
MPlayer ist ein 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, OGG, VIVO, ASF/WMF, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM und RoQ Dateien ab, unterstützt von einigen eingebauten, Xanim, RealPlayer und Win32 DLL Codecs. Du kannst VideoCD, SVCD, DVD, 3ivx, RealMedia 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 auch GGI und SDL (und dadurch alle deren Treiber) und einigen Low-Level grafikkartenabhängige Treiber (für Matrox, 3Dfx und Radeon, Mach64, Permedia3) verwenden. 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 das onscreen display (OSD)?
MPlayer steht unter der GPL v2 Lizenz.
Der Player spielt felsenfest zerstörte MPEG Dateien (nützlich für einige VCDs) und schlechte AVI-Dateien, welche auch mit dem bekannten Windows Media Player nicht mehr abspielbar sind, ab. Auch AVI-Dateien ohne Index-Chuck sind spielbar und du kannst ihr Index entweder kurzfristig mit der -idx Option wiederherstellen oder permanent mit 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.
Es begann vor einem Jahr... Ich (A'rpi) 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...
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
libvorbis
benötigt. Es sollten, falls vorhanden, deb/rpm-Pakete verwendet werden
oder diese Sourcen
kompiliert werden (dies ist eine täglich erneuerter tarball des Vorbis CVS).VIDEOKARTEN
Es gibt allgemein gesprochen zwei Arten von Grafikkarten. Die eine Art (und die neueren Karten) besitzen Hardware Scaling und 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.
Nicht-YUV Karten
Vollbild kann durch Zoomen per Software (benutze die Option -zoom, aber sei gewarnt: Es ist laaaangsam!)
oder durch den Wechsel in einen kleineren Videomodus erreicht werden, z.B. zu 352x288. Wenn du keine YUV Beschleunigung
zur Verfügung hast, ist diese letztgenannte Methode zu empfehlen.
Bei MPlayer kann dieses Verhalten durch das Verwenden
der -vm
Option und mit den folgenden Treibern beeinflusst werden:
SOUNDKARTEN
FEATURES
usleep()
um die A/V Sync einzustellen, mit +/- 10ms Abweichung. Wie auch immer,
manchmal muss die Synchronisation einfach feiner eingestellt werden./proc
Filesystem
angepasst werden. Es kann folgender Befehl verwendet werden, um RTC für alle normalen Benutzer
zu aktivieren:
echo 1024 > /proc/sys/dev/rtc/max-user-freq
drivers/char/rtc.c
verändert und der Kernel neu kompiliert werden. Es muss dazu
folgender Abschnitt gesucht werden:
* 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)))Dann sollte 64 in 1024 geändert werden. Man sollte dabei allerdings wirklich wissen, was man tut.
-nortc
deaktiviert werden.
In einigen Hardwarekombinationen (bestätigt durch die Verwendung eines nicht-DMA DVD-Laufwerkes
auf einem ALi1541-Board) verursacht der RTC-Timer eine rucklige Wiedergabe.
Es wird empfohlen die folgende Methode in diesen Fällen zu verwenden.-softsleep
aktiviert. Er besitzt
dieselbe Effizienz wie die RTC, braucht jedoch kein RTC. Er braucht jedoch auch mehr CPU-Leistung.Hinweis: Es sollte NIE ein setuid root Binary von MPlayer auf einem Multiuser-System installiert werden!. Es wäre für jeden ein einfacher Weg Root zu werden.
Nun kompiliere MPlayer:
./configure make make install
Ab diesem Zeitpunkt ist MPlayer zur Benutzung bereit. Das Verzeichnis
$PREFIX/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!
Es sollte ausserdem überprüft werden, ob eine codecs.conf in dem Home-Verzeichnis
(~/.mplayer/codecs.conf) von einer alten MPlayer Version vorhanden ist. Diese sollte
gelöscht werden!
Debian Benutzer können ein .deb Paket 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 einige Bibliotheken installiert sind, jedoch nicht von ./configure erkannt werden, sollte
überprüft werden, ob auch die richtigen Header-Dateien installiert sind (normalerweise die -dev Pakete)
und ob deren Versionen stimmen. Das configure.log sagt die normalerweise, was fehlt.
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 ln -s ~/.mplayer/font/arial-24 font
Das GUI basiert auf GTK, es muss also auch gtk (und dessen devel-Pakete) installiert sein.
Du kannst es durch den Parameter --enable-gui
bei ./configure einbauen.
Um MPlayer im GUI-Modus zu betreiben kannst du entweder
-gui
Option verwendengui=yes
in deine Config-File eintragenln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer
ausführen
und gmplayer
aufrufen.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 ($PREFIX/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.
MPlayer kann Untertitel zu Filmen darstellen. Momentan sind folgende Formate unterstützt:
Die Kommandozeilen-Option unterscheidet sich leicht für die unterschiedlichen Formate:
VobSub subtitles
VobSub Untertitel bestehen aus einer grossen .SUB Datei und optional .IDX und/oder
.IFO Dateien.
Benutzung: wenn du Dateien wie beispiel.sub
,
beispiel.ifo
, beispiel.idx
hast - musst du die Option
-vobsub beispiel -vobsubid <id>
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.
Andere Untertitel
Die anderen Formate bestehen aus einer einzigen Textdatei, welche das Timing, die Plazierung und
die Textinformationen enthält.
Verwendung: Wenn man eine Datei wie beispiel.txt
hat, übergibt man einfach die
Option -sub beispiel.txt
(natürlich optional mit Pfadname).
Angleichung der Untertitel Timings und Plazierungen
-subdelay <sec>
: Verzögert die Untertitel um <sec> Sekunden. Kann negativ sein.
-subfps <rate>
: Gibt die Frame/sec Rate der Untertitel-Datei an (Fliesskommazahl)
-subpos <0 - 100>
: Gibts die Position der Untertitel an.
Wenn eine höherwerdende Verzögerung zwischen dem Film und den Untertiteln festgestellt wird bei
einer MicroDVD Untertitel-Datei, dann sind höchstwahrscheinlich die Frameraten des Filmes und der
Untertitel-Datei unterschiedlich.
Hinweis: Das MicroDVD Untertitel-Format verwendet eine absolute Framenummer für sein Timing, desshalb
kann die -subfps
Option nicht für dieses Format verwendet werden. Da MPlayer keine
Möglichkeit besitzt die Framerate einer Untertitel-Datei zu erraten, muss die Framerate manuell konvertiert
werden. Im contrib
Verzeichnis der MPlayer FTP-Seite befindet sich ein kleines Perl-Script,
das diese Konvertierung für dich vornimmt.
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 der Taste "o" ausschalten).
Das OSD hat 3 Anzeigearten: (Wechsel mit 'o')
Du kannst das Standard-Verhalten mit der osdlevel=
Variable
in der Konfigurationsdatei einstellen.
2.3. Video & Audio Ausgabegeräte
2.4. MEncoder - Ein vielseitiger Encoder
Dieser Teil der Docs zeigt wie man das Sehen/Grabben über einen V4L-kompatiblen TV-Tuner ermöglicht.
DER CODE WIRD MOMENTAN NICHT WEITERENTWICKELT! Es ist kein reibungsloser Ablauf ohne Bearbeiten/Experimentieren zu erwarten!
./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 !).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.
on | verwenden des TV-Inputs | ||
noaudio | kein Ton | ||
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 |
h oder l | wählt vorherigen/nächsten Kanal | ||
n | ändern der Norm | ||
b | ändern der Kanalliste |
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
Beide, MPlayer und MEncoder, unterstützen die Benutzung einer universalen Video-Filterschicht (video filter layer), welche eine grosse Anzahl Plugins enthält, die unten aufgelistet und beschrieben werden. Diese Plugins können verschiedene Aktionen auf die Bilder ausführen, wie Neuskalierungen (rescale), Abschneiden (crop) schwarzer Ränder (nicht nur für eine Konvertierung nützlich, sondern auch für die Wiedergabe, da die schwarzen Ränder den Bus-Gebrauch eröhen: Das Abschneiden von jenen kann die Wiedergabegeschwindigkeit auf langsamen Boards erhöhen), Erweitern (expand) von Bildern (für SVCDs).
Mit dieser Filterschicht ist es möglich schnelle Bildformat-Konvertierungen
zwischen verschiedenen RGB und YUV durchzuführen falls nötig. Dies erlaubt zum
Beispiel die Wiedergabe von RGB Daten auf den xv
und xmga
Ausgaben, neben anderen. (siehe Skalieren (Scale))
Die Schicht erlaubt auch Direct Rendering zwischen den Plugins, um die Geschwindigkeit zu maximieren.
Hinweis: Der Nachbearbeitung (postprocessing) Code ist nun auch Teil dieser Schicht. Dies wird später erklärt.
mplayer/mencoder -vop filter1,filter2,filter3,...
Dies erzeugt eine Filter-Pipeline (man kann eine beliebige Anzahl Filter verwenden). Deren Parameter sind optional und einige haben, wenn ausgelassen, Standard-Werte, so wie z.B. x und y beide auf die Mitte des Bildschirms gesetzt sind und höhe und breite werden auf die Höhe und Breite des Films gesetzt.
Die Filter werden von libvo eingereiht, so dass filter1
der zuletzt
ausgeführte Filter sein wird (danach kommt libvo oder, wenn MEncoder verwendet
wird, encoding).
Um eine Liste aller verfügbaren Videofilter zu erhalten, kann folgender Befehl
verwendet werden:
mplayer -vop help
Beschreibung:
Schneidet einen vorgegebenen Teil aus dem Bild aus und verwirft den Rest. Nützlich, um die schwarzen Ränder auf Breitbild-Filmen zu löschen.
Verwendung:
-vop crop[=höhe:breite:x:y]
Beschreibung:
Erweitert (NICHT skaliert) die Filmauflösung um den gegebenen Wert, plaziert das unskalierte Original auf x y. Für Filme, die keine schwarzen Ränder besitzen, kann dies verwendet werden, um diese hinzuzufügen. Dies ist gut bei der Erstellung von SVCDs oder bei der Benutzung des SDL Videoausgabe, welche Untertitel in diesen Rändern unterbringen können.
Verwendung:
-vop expand[=höhe:breite:x:y]
2.6.5. Fame/Lavc
Beschreibung:
Echtzeit MPEG1-Konvertierer (unter Verwendung von libfame oder libavcodec) (um mit DVB/DXR3 benutzt zu werden).
Verwendung:
-vop fame
-vop lavc
Beschreibung:
Spiegelt einfach das Bild. Nützlich für einige alte Codecs, welche nur gespiegelte bilder wiedergeben können (diese werden automatisch erkannt).
Verwendung:
-vop flip
Beschreibung:
Dieser Filter ist KEIN Bildformat-Konvertierer. Es zwingt bloss den nächsten Filter (oder libvo), welches Bildformat verwendet werden soll. Nützlich für Karten mit langsamen YV12, wie tdfx und Savage4. Für eine echte Konvertierung sollte der Skalier (scale) Filter verwendet werden.
Verwendung:
-vop format[=format]
(wobei
format
z.B. dies sein kann: rgb32, yuy2, etc...)
2.6.8. Nachbearbeiten (postprocess)
Beschreibung:
Dies ist das gute alte postprocess, einfach in die Filterschicht verschoben.
Führt Bildqualitäts-Erweiterungen durch, deinterlacing, usw. Die
Option -npp help
zeigt alle verfügbaren Optionen.
Verwendung:
-vop pp[=postprocess Optionen/Schlüsselwörter]
Beschreibung:
Führt eine RGB 24/32 <-> BGR 24/32 colorspace Konvertierung durch (normales Verhalten)
oder RGB 24/32 <-> RGB 24/32 Konvertierung mit R<->B swapping (mit der swap
Option)
Verwendung:
-vop rgb2bgr[=swap]
Beschreibung:
Rotiert (spiegelt) das Bild. Der Parameter 'x' (Werte: 0-3) legt die horizontale und vertikale Spiegelung fest.
Verwendung:
-vop rotate[=x]
Beschreibung:
Skaliert das Bild mit dem Software-Skalierer (langsam). Man kann dabei die Qualität
des Skalierers mit der -sws
Option einstellen (siehe Manpage).
Gute Qualität führt zu Geschwindigkeitsverlusten.
HINWEIS: Der Aufruf dieses Filters ohne Optionen führt zu einer colorspace Konvertierung! Dies ist für einige Codecs nützlich, die nicht im benötigten Ausgabeformat für das angegebene Videoausgabe Device ausgeben können. Diese werden hoffentlich automatisch erkannt und der Skalierfilter zur Konvertierung aufgerufen. In anderen Fällen, kann man ihn manuell gebrauchen.
Verwendung:
-vop scale[=höhe:breite]
Beschreibung:
Erzwingt eine YV12/I420 zu YUY2 Konvertierung.
Verwendung:
-vop yuy2
Beschreibung:
Spiegelt das Bild der in Y-Achsenrichtung.
Verwendung:
-vop mirror
Beschreibung:
Berechnet die Y-Skalierung für DVB Karten.
Verwendung:
-vop dvbscale
Beschreibung:
Berechnet die benötigten Parameter zum Schneiden (crop). Die empfohlene -vop Option wird ausgegeben (stdout).
Verwendung:
-vop cropdetect
MPlayer benützt einen komplexen playtree. Er besteht aus globalen 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
).
Es können Dateinamen/URL Groupen mit { und } gebildet werden. Dies ist nützlich mit der Option
-loop: mplayer { 1.avi -loop 2 2.avi } -loop 3
spielt die Dateien in dieser Reihenfolge:
1 1 2 1 1 2 1 1 2
Datei | mplayer [Optionen] [Pfad/]Dateiname | ||
Datei | mplayer [standard Optionen] [Pfad/]Dateiname [Optionen für datei1] datei2 datei3 [Optionen für datei3] | ||
VCD | mplayer [Optionen] -vcd Tracknr [-cdrom-device /dev/cdrom] | ||
DVD | mplayer [Optionen] -dvd Titelnr [-dvd-device /dev/dvd] | ||
Netz | mplayer [Optionen] http://site.com/datei.asf (playlist kann auch benutzt werden) |
Die neusten Versionen von MPlayer akkzeptieren auch VCD und DVD Tracks im URL-Style, wie z.B. auch
Xine: mplayer dvd://1
oder mplayer vcd://1
mplayer -vo x11 /mnt/Filme/Contact/contact2.mpg mplayer -vcd 2 mplayer -afm 3 /mnt/DVDtrailers/alien4.vob mplayer -dvd 1 mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
MPlayer besitzt eine vollständig konfigurierbare, durch Befehle angesteuerte Steuerungsschicht (control layer), der es erlaubt MPlayer mit Tastatur, Maus, Joystick oder Fernbedienung (verwendet lirc) zu steuern.
Tastatur
<- oder -> | Suche zurück/vorwärts 10 Sekunden | ||
nach-oben und nach-unten | suche zurück/vorwärts 1 Minute | ||
Bild-nach-oben und Bild-nach-unten | suche zurück/vorwärts 10 Minute | ||
< oder > | suche rück-/vorwärts in der Playliste | ||
p oder Leertaste | Pause (drücke irgendeine Taste um weiterzumachen) | ||
q oder ESC | stoppe die Wiedergabe und beende Programm | ||
+ oder - | einstellen des Audio-Delays, +/- 0,1 Sekunden | ||
/ oder * | vermindere/erhöhe Lautstärke | ||
f | wechselt den Vollbildschirm-Modus | ||
o | wechselt OSD: kein / Suchleiste / Suchleiste und Zeit | ||
z oder x | einstellen des Untertitel-Delays, +/- 0,1 Sekunden | ||
r oder t | einstellen der Untertitel-Position | ||
> oder < | nächster/vorheriger playtree Eintrag | ||
HOME oder END | nächster/vorheriger playtree Eintrag in der übergeordneten Liste | ||
INSERT oder DELETE | nächste/vorherige alternative Quelle (nur verfügbar in der asx Wiedergabeliste) | ||
(die folgende Tasten sind nur gültig, wenn man | |||
1 oder 2 | Kontrast-Einstellung | ||
3 oder 4 | Helligkeits-Einstellung | ||
5 oder 6 | Farbton-Einstellung | ||
7 oder 8 | Sättigungs-Einstellung |
GUI
, und . | vorherige / nächste Datei | ||
graues - und + | verringere / erhöhe Lautstärke | ||
Enter | startet Wiedergabe | ||
Leertaste | Pause | ||
s | Stop | ||
a | über | ||
l | lädt Datei | ||
b | Skin-Browser | ||
e | zeigt Equalizer | ||
p | zeigt Playliste | ||
f | wechselt zu/von Vollbild | ||
m | aktiviert/deaktiviert Mute |
TV
h oder l | vorheriger/nächster Kanal | ||
n | ändern der Norm | ||
b | ändern der Kanalliste/TD> |
3.2.2. Steuerungskonfiguration
MPlayer erlaubt dir eine beliebige Taste auf ein Befehl von MPlayer festzulegen unter Verwendung
einer einfachen Konfigurationsdatei. Die Syntax besteht aus einem Tastennamen gefolgt von einem Befehl.
Die standard Konfigurationsdatei befindet sich in $HOME/.mplayer/input.conf
, kann jedoch
durch die -input conf
überschrieben werden (relative Pfade sind relativ zu $HOME/.mplayer
).
Beispiel:
## ## MPlayer Eingabe-Konfigurationsdatei ## RIGHT seek +10 LEFT seek -10 - audio_delay 0.100 + audio_delay -0.100 q quit > pt_step 1 < pt_step -1 ENTER pt_step 1 1
Mit folgendem Befehl erhält man eine vollständige Liste: mplayer -input keylist
Tastatur
Maus
Hinweis: Die Maus ist nur unter X unterstützt
Joystick
Hinweis: Joystick-Unterstützung muss bei der Kompilierung aktiviert sein
Mit folgendem Befehl erhält man eine vollständige Liste: mplayer -input cmdlist
Sucht bis zu einer gewissen Stelle im Film.
Type 0 ist eine relative Suche von +/- Wert Sekunden.
Type 1 sucht bis Wert % im Film.
Korrigiert die Audioverzögerung um Wert Sekunden
Beendet MPlayer
Wechselt zwischen Pause und Weiterspielen
Weiss das jemand?
Springt zum nächsten/vorherigen Eintrag im playtree. Das Vorzeichen von Wert bestimmt die Richtung.
Wenn kein neuer Eintrag mehr vorhanden ist, geschieht gar nichts, es sei denn, force ist nicht 0.
Wie pt_step, springt jedoch zum nächsten/vorherigen Eintrag in der übergeordneten Liste. Dies ist nützlich, um eine innere Schleife im playtree zu unterbrechen.
Wenn mehr als eine Quelle vorhanden ist, wählt dies die nächste/vorherige (nur unterstützt für asx Wiedergabelisten).
Korrigiert die Untertitel-Verzögerung um +/- Wert Sekunden oder setzt sie auf Wert Sekunden, wenn abs nicht null ist.
Wechselt den OSD-Modus oder setzt in auf level, wenn level > 0.
Erhöht/erniedrigt die Lautstärke
Setzt/korrigiert die Video-Parameter. Die Wert Reichweite von -100 bis 100.
Wechselt den Framedrop-Modus.
Korrigiert die Untertitel-Position.
Wechselt den Vollbildschirm-Modus.
Wählt nächsten/vorherigen Tv-Kanal.
Ändert TV norm.
Ändert Kanalliste.
GUI Aktionen
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, erkennt es configure automatisch. Wenn alles gut geht, gibt MPlayer während des Starts eine Nachricht wie etwa "Setting up lirc support...". Wenn ein Fehler auftritt, wird dies auch gemeldet. Wenn gar nichts gesagt wird, ist auch keine LIRC-Unterstützung einkompiliert. Das ist alles :-)
, 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. Man kann irgendein mplayer Befehl verwenden, sogar mehr als ein Befehl kann mit \n dazwischen übergeben werden. Dabei sollte das repeat Flag in .lircrc nicht vergessen werden, wenn es Sinn macht (seek, volume, usw.). Hier ist ein Auszug aus .lircrc:
begin button = VOLUME_PLUS prog = mplayer config = volume 1 repeat = 1 end begin button = VOLUME_MINUS prog = mplayer config = volume -1 repeat = 1 end begin button = CD_PLAY prog = mplayer config = pause end begin button = CD_STOP prog = mplayer config = seek 0 1\npause end
Wenn du die Standard-Position der LIRC-Konfigurationsdatei (~/.lircrc) nicht magst, verwende den -lircconf <Dateiname> Parameter um eine andere Datei anzugeben.
Der Slave-Modues erlaubt es einem, ein einfaches Frontend für MPlayer zu erstellen. Wenn aktiviert
(mit der -slave
Option) liest MPlayer durch neue Zeilen unterbrochene Befehle (\n)
vom stdin.
3.3. Streaming von Netzwerk oder Pipes
MPlayer kann Videos über Netzwerke, unter Verwendung des HTTP oder MMS Protokoll.
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/etwas.avi -O - | mplayer -
Hinweis: Bei der Wiedergabe übers Netzwerk empfiehlt sich, den CACHE zu aktivieren:
wget ftp://micorsops.com/etwas.avi -O - | mplayer -cache 8192 -
4. FAQ Sektion
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.90-1_i386.deb'.
Und nun einfach root werden und:
dpkg -i ../mplayer_0.90-1_i386.deb als root.
So sieht es dann aus:
eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.90-1_i386.deb Password: (Reading database ... 26946 files and directories currently installed.) Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.50-1_i386.deb) Unpacking replacement mplayer ... Setting up mplayer (0.90-1) ...
Um das Paket 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.
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.
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 ?
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.
Um das Paket zu erstellen benötigt man GNU make (gmake, /usr/ports/devel/gmake, mit dem standard BSD make wird es nicht funktionieren) und die aktuellen binutils (inklusive objcopy).
Auf Grund von Einschränkungen in unterschiedlichen Versionen von
gas (relocation vs mmx), muss die Kompilierung in zwei Schritten vorgenommen
werden: Erst sollte sichergestellt werden, dass das sich nicht-standard as
im PATH
befindet and gmake -k
ausgeführt werden, dann
sollte man sich vergewissere, dass die standard Version verwendet wird und gmake
ausführen.
Um die Win32 DLLs mit MPlayer benutzen zu können, muss der
Kernel mit "option USER_LDT
" neu kompiliert werden.
Wenn sich MPlayer darüber beklagt, /dev/cdrom
oder
/dev/dvd
nicht zu finden, dann erstelle einen symbolischen Link
(ln -s /dev/rcd0c /dev/cdrom
)
Dazu muss vom MPlayer Verzeichnis aus eine Kopie oder ein symbolischer Link
von etc/cygwin_inttypes.h
nach /usr/include/inttypes.h
angelegt werden, um MPlayer zu kompilieren. Ansonsten wird er sich über die
fehlende intypes.h
beklagen.
Es gibt einige öffentliche Mailinglisten für MPlayer. Anmelden kann man sich unter den folgenden Adressen:
Diese Liste ist über MPlayer Entwicklung! Es wird über Interface/API Änderungen, neue Librarys, Code-Optimierungencode und ./configure Änderungen diskuttiert. Du kannst auch deine Patches hier herschicken. Sende KEINE Fehlerberichte, Anwenderfragen, Featurewünsche oder Beschwerden hierher! Diese Liste sollte wenig verwendet werden.
Sende hierher Matrox-betreffende Fragen
Dinge im Bezug auf DVB-Hardwaredecoder Karten. (NICHT dxr3!)
Sende hier nur Fragen über CVS-Änderungen. (wenn du nicht verstehst, warum eine Änderung erforderlich ist, du eine bessere Lösung hast oder einen möblichen Fehler/Problem im Patch gefunden hast) Sei dir aber sicher, 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 Mailinglisten-Archiv hier erreichen
Anhang C - Wie man einen Fehler berichtet
Spezielle System-/CPU-spezifische Bugs/Probleme:
-ac ffmpeg
)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:
Überhaupt kein Bild (nur ein graues/grünes Fenster):
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:
Grünes Bild bei der Verwendung von mga_vid (-vo mga / -vo xmga):