[ Deutsch ] [ Englisch ] [ Ungarisch ] [ Französisch ] [ Polnisch ] [ Italienisch ] [ Chinesisch ]
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. Wenn du gut kombinieren kannst, dann ist das hier wirklich gut für dich. Viel Glück. Du wirst es brauchen :) Ein weiterer guter Ratschlag ist folgendes Zitat von Chris Phillips, der auf der mplayer-users Mail-Liste folgendes schrieb:
Vor einiger Zeit habe ich gesagt, dass es einen Unterschied zwischen einem Neuling und einem Idioten gibt. Egal, wieviel du von einer Sache wirklich weißt (sei es Linux, Autos, Frauen :D), du solltest IMMER dazu fähig sein, einen Schritt zurück zu machen und objektiv die Lage zu betrachten. Andernfalls bist du meiner bescheidenen Meinung nach einfach nur dumm. Eine Frau, mit der ich zusammen wohne, nahm einmal an, dass der Staubsauger defekt war, nur weil er nichts mehr aufgesaugt hat. Sie hat nie daran gedacht, den Staubbeutel zu wechseln, weil sie das nie vorher gemacht hatte. Und das ist einfach nur doof und kein Fall von 'ich weiß nicht, was ich tun soll'. Mit etwas nicht vertraut zu sein ist absolut keine Entschuldigung für a) Faulheit und b) Unwissenheit. Es gibt so viele Menschen, die das Wort "Fehler" sehen und dann einfach aufhören zu denken. Tatsächlich scheinen nur wenige auch die Wörter hinter dem Punkt zu lesen.
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/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ und PVA-Dateien ab. Dabei kommen viele eingebaute Codecs, Xanim-, RealPlayer und Win32-DLL-Codecs zum Einsatz. Du kannst dir VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia- und auch DivX-Filme sehen (und dafür wird nicht einmal die avifile-Bibliotek benötigt). Ein weiteres großes Feature von MPlayer ist die große Bandbreite unterstützter Ausgabetreiber. MPlayer funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib und DirectFB. Du kannst aber auch GGI und SDL (und dadurch alle deren Treiber) und einige grafikkartenspezifische Low-Level-Treiber verwenden - z.B. für Matrox, 3Dfx und Radeon, Mach64 oder Permedia3. Die meinsten von ihnen unterstützen Software- oder Hardware-Skalierung, sodass du deine Videos im Vollbild genießen kannst. MPlayer unterstützt auch die Wiedergabe mit einigen Hardware-MPEG-Decoder-Karten wie der DVB und der DXR3/Hollywood+! Und was meinst du zu den schönen, großen, antialiasten und schattierten Untertiteln (10 unterstützte Typen) mit europäischen (ISO 8859-1,2, Ungarisch, Englisch, Tschechisch, usw.), kyrillischen und koreanischen Schriften? Und das onscreen display (OSD)?
Der Player spielt felsenfest beschädigte MPEG-Dateien (nützlich
für einige VCDs) und schlechte AVI-Dateien, welche auch mit dem bekannten
Windows Media Player nicht mehr abspielbar sind. Auch AVI-Dateien ohne Index
sind abspielbar, und du kannst den Index entweder temporär mit der
-idx
-Option oder permanent mit MEncoder wiederherstellen.
Beides ermöglicht wieder die Suchfunktion! Du siehst also, Stabilität
und Qualität sind die wichtigsten Dinge für mich, aber die
Geschwindigkeit ist genauso beeindruckend.
MEncoder (der Filme encodierende Partner von MPlayer) ist ein einfacher Filmencodierer, der dazu bestimmt ist, von MPlayer abspielbare Filme (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) in andere von MPlayer abspielbare Formate umzuwandeln (siehe unten). Er kann verschiedene Codecs zum Encodieren benutzen (DivX4 (mit 1 oder 2 Durchgängen), libavcodec, PCM/MP3/VBR MP3-Audio). Er verfügt weiterhin über ein mächtiges Pluginsystem für die Manipulation des Videos.
-mc 0
deaktiviert werden)-ofps
-Option (kann z.B. dazu
benutzt werden, 29.95fps-VOBs in 24fps-AVIs umzuwandeln)MPlayer und MEncoder können unter den Bedingungen der GNU General Public License Version 2 vertrieben werden.
Es begann vor einem Jahr... Ich (A'rpi) hatte eine eine Menge von Playern unter Linux ausprobiert (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, alle drei - MPEG1, MPEG2 und AVI (DivX) - abzuspielen. Einige Player hatten auch Probleme mit der Bildqualität und der Geschwindkeit. So beschloss ich, einen Player zu schreiben/zu modifizieren...
In diesem Kapitel versuche ich, dich auf dem Weg der Konfiguration und Compilierung von MPlayer zu begleiten. 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 siehst, folge ihnen bitte und lies, was sie enthalten. Es wird einige Zeit benötigen, aber es zahlt sich aus.
Du brauchst ein ziemlich aktuelles System. Unter Linux sind 2.4.x-Kernel empfohlen.
libvorbis
benötigt. Es sollten, falls
vorhanden, deb/rpm-Pakete werden oder diese
Sourcen kompiliert werden (dies ist eine täglich erneuerter
tarball des Vorbis CVS).Es gibt allgemein gesprochen zwei Arten von Grafikkarten. Die eine Art (die neueren Karten) besitzen Hardware-Skalierung und YUV-Beschleunigung, die anderen nicht.
YUV-Karten können das Bild anzeigen und auf jede beliebige Größe skalieren, die noch in ihren Speicher passt. Dabei kommt es zu sehr sehr geringer CPU-Beslastung (Zoomen erhöht sie nicht!), weswegen Abspielen im Vollbild gut aussieht und sehr schnell ist.
Vollbild kann durch Zoomen durch eine Softwareskalierung (benutze die
Option -zoom
oder -vop scale
) erreicht werden. Aber
sei gewarnt: Es ist langsam! Eventuell reicht es auch schon aus, in
einen kleineren Videomodus zu wechseln, z.B. zu 352x288. Wenn keine
YUV-Beschleunigung zur Verfügung steht, ist diese letztgenannte Methode zu
empfehlen. Bei MPlayer wird dieses mit der -vm
-Option
angeschaltet und funktioniert mit folgenden Karten:
Einige Karten:
clgenfb
-Kerneltreiber aktiviert werden, obwohl er bei
mir nur im 8bpp-Modus funktioniert hat und somit für
Videowiedergabe unbenutzbar ist. Ich musste vor der Compilierung
den Sourcen des clgenfb
die ID des 7548-Chips
hinzufügen.-bpp 8
, ist aber ziemlich langsam.Nun kompiliere MPlayer:
./configure make make install
Ab diesem Zeitpunkt ist MPlayer zur Benutzung bereit. Das Verzeichnis
$PREFIX/etc/mplayer
enthält die Datei
codecs.conf
, welche benutzt wird, um dem Programm alle Codecs und
deren unterstütze Features mitzuteilen. Diese Datei sollte zusammen mit
dem Hauptprogramm immer aktuell gehalten werden!
Du solltest
außerdem überprüfen, ob eine codecs.conf
deinem
Home-Verzeichnis (~/.mplayer/codecs.conf
) von einer alten
MPlayer-Version vorhanden ist. Diese solltest du unbedingt
löschen!
Debian-Benutzer können ein .deb
-Paket für sich
compilieren, was sehr einfach ist. Du musst bloß fakeroot
debian/rules binary
in MPlayer's Sourceverzeichnis
ausführen. Genauere Anleitungen können in der Debian-Sektion gefunden werden.
Schau dir immer die Ausgabe von ./configure
und die
configure.log
-Datei an. Beide enthalten Infos darüber, welche
Features eincompiliert werden, und welche nicht. Du kannst dir auch die
Dateien config.h
und config.mak
ansehen.
Wenn einige Bibliotheken installiert sind, diese aber nicht von
./configure
erkannt werden, dann solltest du überprüfen,
ob auch die dazugehärigen Header-Dateien installiert sind (welche sich
meist in -dev-Paketen befinden), und ob die Versionsnummern
übereinstimmen. Das configure.log
sagt dir normalerweise, was
fehlt.
Auch wenn sie nicht zwingend erforderlich sind, solltest du doch Schriften installieren, um das OSD und Untertitel benutzen zu können. Die empfohlene Methode ist, eine TrueType-Schrift zu installieren und MPlayer anzuweisen, diese zu benutzen. Wie das funktioniert, kannst du in der Sektion über Untertitel und das OSDnachlesen.
Das GUI basiert auf GTK 1.2.x (nicht das ganze GUI benutzt GTK, sondern nur
die Dialoge). Die Skins sind als PNG-Grafiken gespeichern, so dass du also auch
gtk und die libpng (und deren devel-Pakete) installieren musst. Du kannst das
GUI durch den Parameter --enable-gui
bei ./configure
anschalten. Um MPlayer im GUI-Modus zu betreiben, kannst du entweder
gui=yes
in deine Config-File eintragen oderln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer
ausführen und gmplayer
aufrufen.Im Moment kannst du die -gui
-Kommandozeilenoption nicht
verwenden.
Da MPlayer keine Skins enthält, musst du dir welche
herunterladen, 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 werden folgende Formate unterstützt:
MPlayer kann die oben aufgeführten Formate (bis auf die ersten drei) in die folgenden Formate konvertieren, wenn du die jeweils dahinter angegebene Option benutzt:
-dumpmpsub
-dumpsrtsub
-dumpmicrodvdsub
-dumpjacosub
-dumpsami
Die Kommandozeilenoptionen unterscheidet sich leicht für die unterschiedlichen Formate:
VobSub-Untertitel bestehen aus einer mehreren MB großen .SUB-Datei und
optionalen .IDX- und/oder .IFO-Dateien.
Benutzung: wenn du Dateien wie beispiel.sub
,
beispiel.ifo
(optional) und beispiel.idx
hast, dann
musst du die Optionen -vobsub beispiel [-vobsubid <id>]
angeben (optional mit Pfadangabe natürlich). Die
-vobsubid
-Option funktioniert wie -sid
bei DVDs. Du
kannst mit ihr zwischen Untertitel-Sprache wählen. Falls keine
-vobsubid
angegeben wird, versucht MPlayer, die mit
-slang
angegebene Sprache zu benutzen und zur Not die durch
langidx
in der .IDX-Datei angegebene Sprache wählen. Wenn das
ebenfalls fehlschlägt, werden keine Untertitel angezeigt.
beispiel.txt
hat, übergibt man einfach die
Option -sub beispiel.txt
(natürlich optional mit
Pfadname).
-subdelay <sec>
-subfps <rate>
-subpos <0 - 100>
Wenn du feststellst, dass bei Verwendung einer MicroDVD-Untertiteldatei die
Verzögerung im Laufe der Zeit immer größer wird, dann liegt das
wahrscheinlich daran, dass die Bildraten für den Film und die Untertitel
unterschiedlich sind.
Es sei gesagt, dass das MicroDVD-Format absolute Bildnummern verwendet, um
anzugeben, wann Text anzuzeigen ist. Deswegen funktioniert die
-subfps
-Option mit diesem Format nicht. Da MPlayer
natürlich nicht in der Lage ist, die richtige Bildrate zu erraten, musst
du die Bildrate manuell konvertieren. Auf dem MPlayer-FTP-Server liegt
im contrib
-Verzeichnis ein kleines Perl-Skript, das diese
Konvertierung für dich vornehmen kann.
MPlayer wird versuchen, die Untertiteldatei zu erraten, wenn er einen Film abspielt. Wenn, wie das meistens der Fall ist, der Film und die Untertiteldatei den gleichen Namen haben und am gleichen Ort liegen, dann musst du nicht die Untertiteloption benutzen. Spiel einfach den Film ab, und MPlayer wird automatisch die Untertitel finden.
Für DVD Untertitel lies die DVD-Sektion.
MPlayer hat ein neues Untertitelformat eingeführt, das MPsub genannt wird. Es wurde von Gabucino entwickelt. Das Haupt-Feature ist, dass es dynamische Zeitabhängigkeiten benutzt (obwohl es auch einen Frame-basierende Modus besitzt). Ein Beispiel (aus 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 time ago...
0 3
in a galaxy far, far away...
0 3
Naboo was under attack.
Wie man erkennen kann, ist das Hauptziel, das Bearbeiten/Timing/
Zusammenfügen/Schneiden von Untertiteln einfach zu machen. Und wenn
du mal angenommen einen SSA-Untertitel bekommst und er zeitlich schlecht
zu deinem Video abgestimmt ist, 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 etc. anzuzeigen.
Du brauchst ein MPlayer-Schriftenpaket, um das OSD oder Untertitel anzeigen zu können. Es gibt mehrere Möglichkeiten, eines zu bekommen:
-utf8
verwendet oder die Datei
in <video_name>.utf umgebennt und im gleichen Verzeichnis liegen hat.
Die Umwandlung zwischen verschiedenen Zeichnsätzen und UTF8 kann
mit den Programmen konwert (unter Debian) oder iconv (unter RedHat)
vorgenommen werden.--enable-freetype
mitgeben. Danach
hast du zwei Möglichkeiten:
-font
/pfad/zu/arial.ttf
eine TrueType-Schrift an.ln -s /pfad/zu/arial.ttf
~/.mplayer/subfont.ttf
Wenn du eine Nicht-TrueType-Schrift benutzt, dann entpacke die Dateien nach
den Download nach ~/.mplayer
oder
$PREFIX/share/mplayer
. Danach benennst du eine davon um oder
erstellst einen symbolischen Links zu font
(wie z.B.: ln -s
~/.mplayer/arial-24 ~/.mplayer/font
). Nun solltest du die Zeit in
oberen linken Ecke des Films sehen (kann man mit der Taste "o" ausschalten).
Das OSD hat 4 Anzeigearten, zwischen denen du mit 'o' umschalten kannst:
(Untertitel werden immer angezeigt. Wie du sie deaktivierst, findest du in der man-Page.)
Du kannst das Standard-Verhalten mit der osdlevel=
-Variable
in der Konfigurationsdatei oder der Kommandozeilenoption
-osdlevel
ändern.
MPlayer besitzt nun ein komplett vom Benutzer definierbares OSD-Menü.
ANMERKUNG: das Optionsmenü ist momentan NICHT IMPLEMENTIERT!
./configure
die Option
--enable-menu
mit.etc/menu.conf
in dein
~/.mplayer
-Verzeichnis.etc/input.conf
in dein
~/.mplayer
-Verzeichnis oder in MPlayers
systemweites Konfigurationsverzeichnis (standardmäßig
/usr/local/etc/mplayer
).input.conf
und
passe ihn nach deinen Wünschen an, um die Navigationstasten des
Menüs zu aktivieren. Wie das geht, steht unten.$ mplayer -menu file.avi
Es gibt drei Methoden der Zeitmessung in MPlayer.
usleep()
, um Audio und Video synchron
zu halten, und erreicht dabei eine Genauigkeit bis zu +/- 10ms. Manchmal
muss die Synchronisation aber einfach feiner eingestellt werden
können./proc
-Dateisystem anpassen. Du kannst folgenden Befehl
verwenden, um die RTC für alle normalen Benutzer zu aktivieren:
echo 1024 > /proc/sys/dev/rtc/max-user-freq
drivers/char/rtc.c
des Kernelquelltextes
verändern und den Kernel neu compilieren. Dazu musst du folgenden
Abschnitt finden:
* 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)))Hier änderst du die 64 in 1024. Du solltest dabei aber wirklich wissen, was du tust.
-nortc
deaktivieren. In einigen Hardwarekombinationen (bestätigt durch die
Verwendung eines nicht-DMA-DVD-Laufwerkes auf einem ALi1541-Board)
verursacht der RTC-Timer eine rucklige Wiedergabe. Du solltest in solchen
Fällen die folgende Methode verwenden.-softsleep
aktiviert. Er besitzt dieselbe Effizienz wie die RTC, braucht jedoch kein
RTC. Er braucht jedoch auch mehr CPU-Leistung.Dieser Teil der Docs zeigt, wie man mit einem V4L-kompatiblen Gerät (z.B. einer TV-Karte) fernsehen oder Sendungen aufnehmen kann. In der man-page findest du eine Beschreibung aller TV-Optionen sowie die Belegung der Tastatur für's Fernsehen.
./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
).channels
. Ein Beispiel:-tv on:channels=26-MTV1,23-TV2
-vop pp=DEINT_TYPE
anschalten.
Normalerweise funktioniert pp=lb
sehr gut, aber das hängt
auch vom persönlichen Geschmack ab. Schau in der man-page nach. Dort
findest du eine Beschreibung der einzelnen Deinterlacing-Algorithmen.
Probier sie einfach aus.crop
-Filters so anpassen, dass all der Müll an den
Rändern weggeschnitten wird. Vergiss aber wiederum nicht, die
Bildabmessungen sinnvoll zu wählen.outfmt
nicht, es sei denn, du weißt
wirklich, was du da tust, oder wenn deine Karte/dein Treiber wirklich das
Standardausgabeformat nicht beherrscht (YV12-Farbraum). In älteren
Versionen von MPlayer/MEncoder musste das outfmt
immer mit angegeben werden, aber heute nicht mehr, und die Standardwerte
passen eh in den meisten Fällen. Wenn du z.B. nach mit DivX aufnehmen
willst, dafür die libavcodec benutzt und outfmt=RGB24
angibst, um die Bildqualität zu verbessern, so wird das aufgenommene
Bild eh später wieder in den YV12-Farbraum zurückkonvertiert. Das
einzige, was du somit erreichst, ist die Verschwendung von CPU-Zeit.outfmt=i420
), dann musst du auch die Option -vc
rawi420
angeben, weil es ansonsten einen Konflikt mit der FourCC
des Intel Indeo-Videocodecs gibt.linux/Documentation/sound/btaudio
, die in den Kernelquellen
zu finden ist. Sie enthält Informationen darüber, wie du diesen
Treiber benutzt.Dummy-Ausgabe mittels AAlib ;)
mplayer -tv
on:driver=dummy:width=640:height=480 -vo aa
Standard-V4L-Gerät als Quelle
mplayer -tv
on:driver=v4l:width=640:height=480 -vo xv
Hier ein sinnvolleres und umfassenderes Beispiel. MEncoder wird
mit voller PAL-Größe aufnehmen, das Bild an den Rändern
beschneiden und mit einem linear-blend-Algorithmus ein Deinterlacing
vornehmen. Audio wird mit einer Bitrate von 64kbps mit dem LAME-Codec in
MP3 comprimiert. Diese Einstellungen sind dazu geeignet, um Filme
aufzunehmen.
mencoder -tv
on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=900 \
-oac
mp3lame -lameopts cbr:br=64 \
-vop
pp=lb,crop=720:544:24:18 -o output.avi
In diesem Beispiel wird das Bild noch auf 384x288 verkleinert und mit
einer Bitrate von nur 350kbps im Qualitätsmodus comprimiert. Die
vqmax
-Option lockert die Beschränkungen der Quantizer und
erlaubt es dem Codec erst, wirklich so eine niedrige Bitrate zu erreichen,
was natürlich auf Kosten der Bildqualität geschieht. Dieses
Beispiel kann verwendet werden, um z.B. lange TV-Serien aufzuzeichnen,
wobei es auf die Qualität nicht so sehr wie auf den Platzbedarf ankommt.
mencoder -tv on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
-oac mp3lame -lameopts cbr:br=48 \
-vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
Du könntest auch in der -tv
-Option eine kleinere
Bildgröße angeben und dafür auf die Softwareskalierung
verzichten. Aber der oben gewählte Ansatz gibt MEncoder die
maximal zur verfügung stehende Information zur Verarbeitung und ist
ein bischen resistenter gegen Bildrauschen. Dazu kommt, dass der bt8x8-Chip
wegen einer Hardwarebeschränkung nur in der Horizontale zwischen
Pixeln interpolieren kann.
Die Edit Decision Lists (EDL) erlauben es, bestimmte Stellen bei der Wiedergabe automatisch zu überspringen oder stummzuschalten. Dabei werden EDL-Konfigurationsdateien ausgewertet.
Das ist dann ganz nützlich, wenn du einen Film in einer "familienfreundlichen" Version sehen möchtest. Du kannst damit Gewalt, Obszönitäten oder Jar-Jar Binks rausschneiden, ganz so, wie du's willst. Davon abgesehen kannst du z.B. auch automatisch Werbung überspringen.
Das EDL-Dateiformat ist ziemlich simpel gestrickt. Wenn das EDL erst einmal einen gewissen Reifegrad erreicht hat, wird wahrscheinlich ein auf XML basierendes Dateiformat eingeführt (aber die Kompatibilität zu alten EDL-Formaten trotzdem gewahrt) werden.
Die maximale Anzahl von EDL-Einträgen beträgt momentan 1000.
Falls du mehr davon brauchst, dann ändern einfach
#define MAX_EDL_ENTRIES
in der Datei edl.h
.
Gib mit der Option -edl <Dateiname>
die EDL-Datei an,
die du auf dein Video angewandt haben möchtest.
Das aktuelle EDL-Dateiformat sieht so aus:
[Start in Sekunden] [Ende in Sekunden] [Aktion]
Die Sekundenangaben sind Fließkommazahlen, und die Aktion ist entweder
0
(überspringen) oder 1
(stummschalten).
Beispiel:
5.3 7.1 0 15 16.7 1 420 422 0
Hier wird von Sekunde 5.3 bis Sekunde 7.1 ausgelassen. Von Sekunde 15 bis Sekunde 16.7 wird stummgeschaltet, bei 16.7 wieder lautgestellt, und von Sekunde 420 bis Sekunde 422 wird das Video übersprungen. Diese Aktionen werden ausgeführt, sobald der Abspieltimer die angegebenen Werte erreicht.
Wenn du eine EDL-Datei erstellen möchtest, dann benutze
-edlout <filename>
. Während der Wiedergabe kannst du
i
drücken. Es wird dann ein Eintrag erstellt, der an dieser
Stelle 2 Sekunden überspringt. Du kannst dann mit einem Editor deiner
Wahl die generierte EDL-Datei verfeinern.
MPlayer benützt einen komplexen Abspielbaum. Er besteht aus
globalen Optionen am Anfang (z.B. mplayer -vfm 5
) und Optionen
nach dem Dateinamen, welche nur für die jeweilige Datei/URL/etc gelten
(z.B. mplayer -vfm 5 movie1.avi movie2.avi -vfm 4
).
Mit { und
} können Dateinamen/URL-Grupen gebildet werden. Dies ist mit der Option
-loop
nützlich: 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-Format, so 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 (unter Verwendung von LIRC) zu steuern. Schau in die man-page. Dort steht eine vollständige Liste aller Tastaturkommandos.
MPlayer ermöglicht es, dass du jede Taste/jeden Button mit
einem MPlayer-Befehl verbindest. Dieses wird in einer simplen
Konfigurationsdatei festgelegt. Die Syntax besteht einfach aus einem
Tastennamen gefolgt vom auszuführenden Befehl. Die
Standardkonfigurationsdatei ist $HOME/.mplayer/input.conf
, aber
diese Position kann auch mit der Option -input
geändert
werden. Pfadangaben beziehen sich hier relativ zu $HOME/.mplayer
).
Beispiel:
## ## MPlayer input control file ## 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älst du eine vollständige Liste:
mplayer -input keylist
Mit folgendem Befehl erhälst du 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
Weiß 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 Wertreichweite reicht von -100 bis 100.
Wechselt den Framedrop-Modus.
Korrigiert die Untertitel-Position.
Ändert die Sprache der VobSub-Untertitel.
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, (fast) jede beliebige 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..." aus. Wenn ein Fehler
auftritt, wird dies auch gemeldet. Wenn gar nichts gesagt wird, ist auch keine
LIRC-Unterstützung eincompiliert. Das ist alles :-)
Der Anwendungsname für MPlayer ist - oh, ein Wunder -
mplayer
. Du kannst jeden beliebigen MPlayer-Befehl benutzen
und sogar mehrere nacheinander ausführen lassen, indem du sie durch \n
voneinander trennst. Vergiss nicht, die repeat
-Option in der
.lircrc zu benutzen, wenn es Sinn macht (beim Suchen, bei der Lautstärke
etc.). Hier ist ein Auszug aus meiner .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 die Option -lircconf <Dateiname>
, um eine
andere Datei anzugeben.
Der Slave-Modus erlaubt es dir, ein einfaches Frontend für
MPlayer zu erstellen. Wenn er mit der Option -slave
aktiviert wurde, dann liest MPlayer durch neue Zeilen unterbrochene
Befehle (\n) von der Standardeingabe.
MPlayer kann Videos über Netzwerke unter Verwendung des HTTP- MMS- oder RTSP/RTP-Protokolls abspielen.
Abspielen geht einfach durch das Hinzufügung der URL zu der Kommandozeile. MPlayer berücksichtigt auch die http_proxy-Umgebungsvariable 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 von benannte Pipes). Dies ist ein Beispiel für die Verwendung, um von FTP abzuspielen:
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 -
Die hauptsächliche Entwicklungsplattform ist Linux auf x86, obwohl MPlayer auch auf anderen Linuxportierungen läuft.
Um selber ein Debianpaket zu erstellen, starte den folgenden Befehl im Source-Verzeichnis:
fakeroot debian/rules binary
Und nun einfach root werden und:
dpkg -i ../mplayer_0.90-1_i386.deb als root.
Christian Marillat hat seit einiger Zeit unoffizielle Debianpakete von MPlayer, MEncoder und den Schriften erstellt. Du kannst sie (per apt-get) von seiner Homepage herunterladen. Diese Pakete sind definitiv inoffiziell, da Christian bereits damals diese Pakete erstellt und verteilt hat, als MPlayer noch nicht komplett unter der GPL stand und Binärpakete nicht erlaubt waren. Christian ignorierte unsere Bitte, das zu unterlassen, was einiges an bösem Blut zwischen ihm und den MPlayer-Entwicklern hinterließ. Inzwischen sind Binärpakete kein Problem mehr. Trotzdem supporten wir diese Pakete nicht!
Dominik Mierzejewski erstellt und wartet die offiziellen RedHat RPM-Pakete für MPlayer. Diese können von seiner Homepage heruntergeladen werden. Bitte lies die Anweisungen auf seiner Seite, und schreib ihm wegen Problemen und nicht uns.
Inzwischen gibt es auch andere RPM-Versionen (SuSE liefert MPlayer mit ihrer offiziellen Distribution aus, Mandrake-Pakete gibt es von P.L.F) von MPlayer, aber keine dieser Versionen wird offiziell unterstützt.
MPlayer läuft auf Linux-PDAs mit einer ARM-CPU, z.B. dem Sharp Zaurus
oder dem Compaq Ipaq. Am einfachsten ist es, sich MPlayer von
Openzaurus runterzuladen.
Wenn du MPlayer selber compilieren möchtest, dann schau dir dir
Verzeichnisse für
mplayer und
libavcodec bei der OpenZaurus-Distribution an. Sie enthalten immer
die aktuellen Makefiles und Patches, die benutzt werden können,
um die CVS-Version von MPlayer mit libavcodec zu compilieren.
Wenn du das GUI brauchst, dann kannst du xmms-embedded
benutzen.
MPlayer läuft auf FreeBSD, OpenBSD, NetBSDO, BSD/OS und Darwin. Es sind ports/pkgsrc/fink/etc-Versionen verfügbar, die sich wahrscheinlich leichter als die normalen Quelltexte installieren lassen.
Um das Paket zu compilieren, brauchst du GNU make (gmake, /usr/ports/devel/gmake), das originale BSD make wird nicht funktionieren. Außerdem ist eine relativ neue Version der binutils nötig.
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
Wenn du die Win32-DLLs mit MPlayer benuzen willst, dann musst du
deinen Kernel mit "option USER_LDT
" neu compilieren (es sei denn,
bei dir läuft FreeBSD-CURRENT, in dem der Kernel bereits damit
compiliert wurde).
Falls deine CPU SSE unterstützt, musst du den Kernel mit
"options CPU_ENABLE_SSE
" übersetzen, um diese nutzen zu
können (FreeBSD-STABLE oder ein Kernel-Patch werden dafür
benötigt).
Aufgrund der Beschränkungen in verschiedenen Versionen von gas
(Relokation vs. MMX), musst du den Kernel in zwei Schritten neu compilieren.
Stell zuerst sicher, dass das nicht mitgelierferte "as" über deinen
$PATH
erreichbar ist. Danach rufe gmake -k
auf und
stell sicher, dass die mitgelieferte Version benutzt wird. Schließlich
wird mit gmake
der Kernel übersetzt.
MPlayer sollte auf Solaris 2.6 oder neuer funktionieren.
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 compilieren, brauchst du GNU Make (gmake, /opt/sfw/gmake). Das originale Solaris Make wird nicht funktionieren. Dies ist ein typischer Fehler, den 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, 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, dass es fehlschlägt, verwende die Option
"--as=/woimmer/du/es/installiert/hast/gnu-as" 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 ...
Aufgrund von Fehlern 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 durch das Aufrufen von Funktionen in Suns mediaLib verwendet werden.
VIS-Beschleunigungen von mediaLib werden für MPEG2 Video-Decodierung und für Farbraumkonvertierung im Videoausgabetreiber verwendet.
Du hast zwei Möglichkeiten. Die eine besteht darin, das GNU
install-Programm zu installieren und ./configure
mitzuteilen, wo
es liegt (sofern du es nicht in deinen $PATH
installiert
hast):
./configure --install-path=PATH
Die zweite Möglichkeit besteht darin, das bei IRIX 6.5 mitgelieferte "install" zu benutzen. Dazu musst du aber das Makefile ein wenig von Hand anpassen. Ändere die folgenden beiden Zeilen
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
in:
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/ $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
Führ danach noch die beiden Befehle aus dem MPlayer-Quellcodeverzeichnis heraus auf:
cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
Nun mache ganz normal mit dem Compilierungs- und Installationsprozess weiter.
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.
Die Portierung auf Cygwin, eine Unix-Tool-Umgebung unter Windows, steckt
noch in ihren Kinderschuhen. Momentan werden die folgenden Punkte nicht
unterstützt: Win32-DLLs oder OpenGL. Von SDL ist bekannt, dass sie
Audio- und Videoverzerrung hervorruft oder sogar das System zum Absturz bringt.
Patches sind natürlich jederzeit
willkommen. Die besten Resultate erhälst du mit der windowseigenen
DirectX-Videoausgabe (-vo directx
) und dem windowseigenenen
waveout-Audiotreiber (-ao win32
). Du solltest auf jeden Fall einen
Blick auf die
mplayer-cygwin Mailingliste werfen, um Hilfe zu bekommen und die neuesten
Informationen zu finden.
Du wirst die Datei etc/cygwin_inttypes.h
aus den
MPlayer-Quellen nach /usr/include/inttypes.h
kopieren
und erst danach MPlayer compilieren müssen, da der Compiler sich
sonst über eine fehlende intypes.h
beschwert..
Wenn du Unterstützung für DirectX-Videoausgabe (-vo
directx
) haben willst, dann installier die DirectX 7 Header Files
und compiliere MPlayer erneut. Du solltest mit -vo directx -ao
win32
die besten Ergebnisse erzielen. Falls das Bild gestört ist,
so versuche es ohne die Hardwarebeschleunigung erneut: -vo
directx:noaccel
.
Anweisungen, wie du SDL unter Cygwin zum Laufen bringst, findest du auf der libsdl-Seite.
Du kannst VCDs einfach abspielen, indem du die .DAT
-Datei
oder die .MPG
-Datei abspielst, die Windows auf einer VCD
anzeigt. So funktioniert es (pass bei Bedarf den Laufwerksbuchstaben an):
mplayer d:/mpegav/avseq01.dat
mplayer /cydrive/d/MPEG2/AVSEQ01.MPG
DVDs funktionieren ebenfalls. Setze dafür einfach dsa DVD-Gerät korrekt:
mplayer -dvd <Titel> -dvd-device '\\.\d:'
Die QuickTime-DLLs sollen angeblich ebenfalls funktionieren. Compiliere
MPlayer mit --enable-qtx-codecs
und kopiere die Codecs an den
Standardort für Windows-DLLs, C:\WINNT\system32
oder
C:\Windows\system
, abängig von deiner Windowsversion.
Es stehen einige öffentliche Mailinglisten für MPlayer zur Verfügung. Wenn nichts anderes angegeben wird, dann ist die auf der Liste zu verwendende Sprache Englisch. Bitte schreibe nicht in anderen Sprachen, und schick niemals HTML-Mails! Es gibt eine Größenbeschränkung auf 80k. Wenn du etwas größeres hast, dann lade es irgendwo hoch und gib in der Mail nur die URL an. Klick auf die Links, um dich bei den Listen anzumelden. Auf diesen Mailinglisten gelten die gleichen Regeln bezüglich Schreibstil und Antworten wie im Usenet. Bitte befolge diese Regeln, da es das Leben für diejenigen, die deine Mails lesen, deutlich vereinfacht. Wenn du diese Regeln nicht kennst, dann lies bitte die HOWTO über's Schreiben von Mails (Englisch) durch. Wenn du gerade keine Zeit hast, dann lies alternativ die Quoting-HOWTO (Englisch).
./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.
Hinweis: Du kannst das durchsuchbare Mailinglisten-Archiv an folgender Stelle finden: http://www.mplayerhq.hu/cgi-bin/htsearch
Spezielle System-/CPU-spezifische Fehler/Probleme:
./configure --disable-sse
./configure --disable-sse
usw.-ac ffmpeg
)Verschiedene A-V Sync- und andere Audio-Probleme
Allgemein Audio-Verzögerung und ruckartiger Sound (kommt bei allen oder einigen Dateien vor):
-ao oss
. Manchmal hilft auch -ao sdl
.
Wenn die Datei mit -nosound
ohne Probleme wiedergegeben wird,
dann liegt
höchstwahrscheinlich ein Soundkartentreiber-Problem vor.mplayer -abs
-aop
) getestet werden-vo null
. Wenn es gut funktioniert, hast du
eine langsame VGA-Karte oder einen langsamen Treiber.-framedrop
Audio (verschiebt sich / verliert die Synchronisation / bricht nach einer gewissen Zeit ab) bei einer oder nur einigen wenigen Dateien:
-ni
oder -nobps
(für nicht-interlaced
oder defekte Dateien)-mc 0
(erforderlich bei Dateien mit schlechtem
Interleave und VBR-Audio)-delay
Option oder +/- Tasten beim Abspielen-fps 27
bei 30fps-Filmen)
oder verwende das Resampler-Plugin.-framedrop
Überhaupt kein Ton:
Überhaupt kein Bild (nur ein graues/grünes Fenster):
-vc
oder -vfm
Optionen zu wählen.-vc odivx
) abzuspielen - installiere Divx4Linux und
compiliere MPlayer neu.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 Fehler (Bug), wenn es nicht funktioniert. Nur einige Treiber
unterstützten Scaling/Zooming, erwarte das nicht von x11 oder dga.
Zucken des OSD/Untertiteln:
-double
-OptionGrünes Bild bei der Verwendung von mga_vid (-vo mga /
-vo xmga
):
mga_vid
hat die Grösse des RAMs falsch erkannt. Lade
das Modul neu mit der Option mga_ram_size
.