# Gebrauch

## Kommandozeile

MPlayer verwendet einen komplexen Wiedergabebaum. Er besteht aus globalen Optionen, die zuerst geschrieben werden, zum Beispiel

    mplayer -vfm 5

und Optionen, die hinter den Dateinamen geschrieben werden und die sich nur auf die angegebene Datei/URL/sonstwas beziehen, zum Beispiel:

    mplayer -vfm 5 movie1.avi movie2.avi -vfm 4

Du kannst Dateinamen/URLs mit `{` und `}` gruppieren. Dies ist nützlich mit der Option `-loop`:

    mplayer { 1.avi -loop 2 2.avi } -loop 3

Der obige Befehl wird die Dateien in folgender Reihenfolge abspielen: 1, 1, 2, 1, 1, 2, 1, 1, 2.

Datei abspielen:

     mplayer [Optionen] [Pfad/]dateiname

Eine andere Möglichkeit, eine Datei abzuspielen:

     mplayer [Optionen] file:///uri-escaped-Pfad

Mehrere Dateien abspielen:

     mplayer [Standardoptionen] [Pfad/]dateiname1 [Optionen für dateiname1] dateiname2 [Optionen für dateiname2] ...

VCD abspielen:

     mplayer [Optionen] vcd://tracknr [-cdrom-device /dev/cdrom]

DVD abspielen:

     mplayer [Optionen] dvd://titlenr [-dvd-device /dev/dvd]

Vom WWW abspielen:

    mplayer [Optionen] http://site.com/datei.asf

(es können auch Playlists benutzt werden)

Von RTSP abspielen:

     mplayer [Optionen] rtsp://server.example.com/streamName

Beispiele:

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

## Untertitel und OSD

MPlayer kann Untertitel bei Filmen darstellen. Momentan werden die folgenden Formate unterstützt:

- VOBsub

- OGM

- CC (closed caption)

- MicroDVD

- SubRip

- SubViewer

- Sami

- VPlayer

- RT

- SSA

- PJS (Phoenix Japanimation Society)

- MPsub

- AQTitle

- JACOsub

MPlayer kann (außer den ersten drei) die oben gelisteten Zielformate ausgeben (speichern), und zwar mit folgenden Optionen:

- MPsub: `-dumpmpsub`

- SubRip: `-dumpsrtsub`

- MicroDVD: `-dumpmicrodvdsub`

- JACOsub: `-dumpjacosub`

- Sami: `-dumpsami`

MEncoder kann DVD-Untertitel im VOBsub-Format ausgeben.

Die Kommandozeilenoptionen unterscheiden sich leicht von den anderen Formaten:

VOBsub-Untertitel

VOBsub-Untertitel bestehen aus einer (ein paar Megabyte) großen `.SUB` Datei, und optional `.IDX-` und/oder `.IFO`-Dateien. Wenn du Dateien hast wie `beispiel.sub`, `beispiel.ifo` (optional), oder `beispiel.idx`, musst du MPlayer die Optionen `-vobsub beispiel [-vobsubid id]` übergeben (vollständige Pfadangabe optional). Die Option `-vobsubid` verhält sich wie die Option `-sid` für DVDs, du kannst damit Tracks (Sprachen) wählen. Im Falle, dass `-vobsubid` nicht angegeben wird, wird MPlayer versuchen, auf die Sprachen zurückzugreifen, die mit der Option `-slang` angegeben werden, und sonst auf langidx zurückzugreifen, um die Untertitelsprache zu wählen. Schlägt dies fehl, wird es keine Untertitel geben.

Andere Untertitel

Die anderen Formate bestehen aus einer Textdatei, die Zeit-, Platzierungs- und Textinformationen enthält. Gebrauch: Wenn du eine Datei wie `beispiel.txt` hast, musst du die Option `-sub beispiel.txt` (vollständiger Pfad optional) angeben.

Untertitel-Timing und Platzierung angeben:

`-subdelay sek`

  Verzögert Untertitel um `sek` Sekunden. Kann negativ sein. Dieser Wert wird zum Zeitpositionszähler hinzuaddiert.

`-subfps RATE`

  Gibt die Frame/sek-Rate der Untertiteldatei (Fließkommazahl) an.

`-subpos 0-100`

  Gibt die Position der Untertitel an.

Wenn du bei Benutzung einer MicroDVD-Untertiteldatei eine zunehmende Verzögerung zwischen Film und Untertiteln feststellst, ist vermutlich die Framerate des Films und die der Untertiteldatei unterschiedlich. Beachte bitte, dass das MicroDVD-Untertitelformat absolute Framenummern nutzt. Daher sollte die Option `-subfps` bei diesem Format verwendet werden. Wenn du dieses Problem auf Dauer beheben willst, musst du die Framerate manuell konvertieren. MPlayer kann diese Konvertierung für dich übernehmen:

    mplayer -dumpmicrodvdsub -fps untertitel_fps -subfps avi_fps -sub untertitel_dateiname dummy.avi

Ausführungen über DVD-Untertitel findest du im Abschnitt DVD.

## Steuerung/Kontrolle

MPlayer hat einen vollständig konfigurierbaren, befehlgesteuerten Steuerungslayer, der dir ermöglicht, MPlayer mit der Tastatur, der Maus, einem Joystick oder einer Fernbedienung (durch Gebrauch von LIRC) zu kontrollieren. Siehe Manpage für die komplette Liste der Tastatursteuerungen.

### Steuerungskonfiguration

MPlayer erlaubt dir durch eine einfache Konfigurationsdatei, jede Taste an jeden beliebigen MPlayer-Befehl zu binden. Die Syntax besteht aus einem Tastennamen gefolgt von einem Befehl. Die Standardkonfigurationsdatei ist `$HOME/.mplayer/input.conf`, dies kann jedoch mit der Option`-input conf` überschrieben werden (relative Pfade sind relativ zu `$HOME/.mplayer`).

Du erhältst eine vollständige Liste der unterstützten Tastennamen, indem du den Befehl `mplayer -input keylist` ausführst, eine vollständige Liste der verfügbaren Befehle mit `mplayer -input cmdlist`.

Eine Beispiel-Input-Steuerungsdatei

    ##
    ## 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

### Steuerung mit LIRC

Linux Infrared Remote Control - benutze einen einfach zu erstellenden, selbstgemachten IR-Empfänger, eine (fast) veraltete Fernbedienung und steuere deine Linuxkiste damit! Mehr darüber auf der LIRC Homepage.

Wenn du das LIRC-Paket installiert hast, wird `configure` dies automatisch erkennen. Wenn alles gut lief, wird MPlayer beim Start "Initialisiere LIRC-Unterstützung..." ausgeben. Wenn ein Fehler auftritt, wird er dir das sagen. Wenn keine Mitteilung über LIRC erscheint, ist die entsprechende Unterstützung nicht eincompiliert. Das ist es schon :-)

Der Anwendungsname für MPlayer ist - Überraschung - `mplayer`. Du kannst jeden MPlayer-Befehl verwenden und sogar mehrere Befehle übergeben, indem du sie mit `\n` trennst. Vergiss nicht, das repeat-Flag in `.lircrc` zu setzen, wenn es Sinn macht (spulen, Lautstärke, etc). Hier ist ein Auszug einer Beispieldatei `.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 Standardposition für die LIRC-Konfigurationsdatei (`~/.lircrc`) nicht magst, benutze die Option `-lircconf Dateiname`, um eine andere Datei anzugeben.

### Slave-Modus

Der Slave-Modus erlaubt dir, einfache Frontends für MPlayer zu erstellen. Wenn dieser mit der Option `-slave` gestartet wird, wird MPlayer durch Zeilenumsprünge (\n) getrennte Befehle von der Standardeingabe lesen. Die Befehle sind in der Datei slave.txt dokumentiert.

## Streaming vom Netzwerk oder Pipes

MPlayer kann Dateien aus dem Netzwerk abspielen, mit Gebrauch der Protokolle HTTP, FTP, MMS oder RTSP/RTP.

Die Wiedergabe funktioniert durch einfache Übergabe der URL auf der Kommandozeile. MPlayer berücksichtigt die `http_proxy`-Umgebungsvariable und benutzt einen Proxy, wenn verfügbar. Proxies können auch erzwungen werden:

    mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer kann von der Standardeingabe lesen (keine named Pipes). Dies kann beispielsweise benutzt werden, um direkt von FTP abzuspielen:

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

Es wird auch empfohlen, bei der Wiedergabe vom Netzwerk `-cache` zu aktivieren:

    wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -

### Gestreamte Inhalte speichern

Wenn du MPlayer ersteinmal erfolgreich dazu gebracht hast, deinen Lieblingsinternetstream abzuspielen, kannst du die Option `-dumpstream` verwenden, um den Stream in eine Datei zu speichern. Zum Beispiel wird

    mplayer http://217.71.208.37:8006 -dumpstream -dumpfile stream.asf

den von http://217.71.208.37:8006 gestreamten Inhalt nach stream.asf speichern. Dies funktioniert mit allen Protokollen, die von MPlayer unterstützt werden, wie MMS, RSTP und so weiter.

## CD/DVD-Laufwerke

Moderne CD-ROM-Laufwerke können sehr hohe Geschwindigkeiten erreichen. Jedoch sind einige CD-ROM-Laufwerke in der Lage, mit gedrosselter Geschwindigkeit zu laufen. Es gibt verschiedene Gründe, in Erwägung zu ziehen, die Geschwindig eines CD-ROM-Laufwerks zu ändern:

- Es gibt Berichte über Lesefehler bei hohen Geschwindigkeiten, besonders bei schlecht gepressten CD-ROMs. Reduzierung der Geschwindigkeit kann unter diesen Umständen Datenverlust verhindern.

- Viele CD-ROM-Laufwerke sind nervend laut. Eine geringere Geschwindigkeit kann die Geräusche reduzieren.

### Linux

Du kannst die Geschwindigkeit von IDE CD-ROM-Laufwerken mit `hdparm`, `setcd` oder `cdctl` reduzieren. Dies funktioniert wie folgt:

    hdparm -E [Geschwindigkeit] [CD-ROM-Gerät]

    setcd -x [Geschwindigkeit] [CD-ROM-Gerät]

    cdctl -bS [Geschwindigkeit]

Wenn du SCSI-Emulation benuzt, musst du die Einstellungen unter Umständen am echten IDE-Gerät vornehmen und nicht am emuliertem SCSI-Gerät.

Wenn du über root-Rechte verfügst, kann das folgende Kommando ebenso helfen:

    echo file_readahead:2000000 > /proc/ide/[CD-ROM-Gerät]/settings

Dies setzt die Menge der vorausgehend gelesenen Daten auf 2MB, was bei verkratzten CD-ROMs hilft. Wenn du dies zu hoch setzt, wird das Laufwerk dauernd anlaufen und wieder langsamer werden; dies wird die Leistung dramtisch verschlechtern. Es wird ebenso empfohlen, dass du dein CD-ROM-Laufwerk mit `hdparm` konfigurierst:

    hdparm -d1 -a8 -u1 [CD-ROM-Gerät]

Dies aktiviert DMA-Zugriff, Read-ahead (vorausgehendes Lesen) und IRQ-Unmasking (lies die `hdparm` Manpage für eine ausführliche Erklärung).

Wir verweisen hier auf "`/proc/ide/[CD-ROM-Gerät]/settings`" für Feineinstellungen an deinem CD-ROM.

SCSI-Laufwerke haben kein einheitliches Verfahren, diese Parameter zu setzen. (Kennst du einen? Berichte ihn uns!) Es gibt ein Tool, welches mit Plextor SCSI-Laufwerken funktioniert.

### FreeBSD

Geschwindigkeit:

    cdcontrol [-f Gerät] speed [Geschwindigkeit]

DMA:

    sysctl hw.ata.atapi_dma=1

## DVD-Wiedergabe

Für eine komplette Liste der verfügbaren Optionen lies bitte die Manpage. Die Syntax für das Abspielen einer Standard-DVD lautet wie folgt:

    mplayer dvd://<Track> [-dvd-device <Gerät>]

Beispiel:

    mplayer dvd://1 -dvd-device /dev/hdc

Das Standard-DVD-Laufwerk ist `/dev/dvd`. Wenn deine Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf der Kommandozeile an mit der Option `-dvd-device`.

MPlayer verwendet libdvdread und libdvdcss zur DVD-Wiedergabe und -Entschlüsselung. Diese beiden Bibliotheken sind im Unterverzeichnis MPlayer-Quelltextbaum, du brauchst sie nicht separat zu installieren. Du kannst auch systemweite Versionen der beiden Bibliotheken verwenden, diese wird jedoch nicht empfohlen, da dies zu Bugs, Bibliotheksinkompatibilitäten und geringerer Geschwindigkeit führen kann.

In Fällen von DVD-Dekodierungs-Problemen versuche Supermount oder solche Hilfen zu deaktivieren. Einige RPC-2 Laufwerke können verlangen, dass ein Regionalcode gesetzt ist.

DVD-Struktur

DVDs haben 2048 Bytes pro Sektor mit ECC/CRC. Sie haben üblicherweise ein UDF-Dateisystem auf einem einzigem Track, welcher verschiedene Dateien (kleine .IFO und .BUK Dateien und große .VOB Dateien) enthält. Sie sind echte Dateien und können von einem gemounteten Dateisystem einer unentschlüsselten DVD kopiert/abgespielt werden.

Die .IFO-Dateien enthalten die Informationen zur Filmnavigation (Kapitel/Titel/Blickwinkel, Sprachtabellen etc.) und werden benötigt, um den .VOB Inhalt (den Film) zu lesen und zu interpretieren. Die .BUK-Dateien sind Backups davon. Sie nutzen überall Sektoren, so dass du Direktaddressierung von Sektoren auf dem Datenträger benötigst, um DVD-Navigation zu implementieren oder den Inhalt zu entschlüsseln.

DVD-Unterstützung benötigt rohen Sektor-basierten Zugriff auf das Laufwerk. Leider musst du (unter Linux) root sein, um die Sektoraddresse einer Datei zu erhalten. Das ist der Grund, warum wir nicht den Dateisystemtreiber des Kernels nutzen sondern es im Userspace reimplementiert haben. libdvdread 0.9.x tut dies. Der UDF-Dateisystemtreiber des Kernels wird nicht benötigt, da sie bereits einen eigenen eingebauten UDF-Dateisystem-Treiber haben. Ebenso muss die DVD nicht gemountet werden, da der direkte Sektor-basierte Zugriff genutzt wird.

Manchmal kann `/dev/dvd` nicht von Benutzern gelesen werden, deshalb implementierten die Autoren von libdvdread einen Emulations-Layer, welcher die Sektorenadressen in Dateinamen+Offsets überträgt und Raw-Zugriff auf dem gemounteten Dateisystem oder auch auf Festplatten emuliert.

libdvdread akzeptiert sogar Mountpoints an Stelle von Gerätenamen für Raw-Zugriff und überprüft `/proc/mounts`, um den Gerätenamen herauszufinden. Es wurde für Solaris entwickelt, wo Gerätenamen dynamisch zugewiesen werden.

Wenn du MPlayer mit dvdnav-Unterstützung compiliert hast, bleibt die Syntax derselbe, ausgenommen die Verwendung von dvdnav:// an Stelle von dvd://.

DVD-Entschlüsselung

DVD-Entschlüsselung geschieht durch libdvdcss. Die dafür verwendete Methode kann durch Umgebungsvariable `DVDCSS_METHOD` festgelegt werden, siehe Manpage für Details.

RPC-1 DVD-Laufwerke schützen Regionseinstellunge nur durch Software. RPC-2-Laufwerke haben einen Hardwareschutz, welcher nur 5 Änderungen erlaubt. Es kann notwendig/empfehlenswert sein, die Firmware auf RPC-1 zu aktualisieren, wenn du ein RPC-2 DVD-Laufwerk hast. Du kannst versuchen ein Firmwareupgrade für dein Laufwerk im Internet zu finden, dieses Firmware-Forum kann ein guter Ausgangspunkt für deine Suche sein. Wenn es kein Firmwareupgrade für dein Laufwerk gibt, benutze das regionset-Tool, um den Regionscode deines DVD-Laufwerks (unter Linux) zu setzen. Warnung: Du kannst nur 5 mal den Regioncode ändern.

## VCD-Wiedergabe

Für eine komplette Liste an verfügbaren Optionen lies bitte die Manpage. Die Syntax für eine Standard Video CD (VCS) lautet wie folgt:

    mplayer vcd://<Track> [-cdrom-device <Gerät>]

Beispiel:

    mplayer vcd://2 -cdrom-device /dev/hdc

Das Standard-VCD-Gerät ist `/dev/cdrom`. Wenn deine Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf der Kommandozeile an mit der Option `-cdrom-device`.

Mindenstens Plextor und einige SCSI-CD-ROM-Laufwerke von Toshiba haben eine schreckliche VCD-Leseleistung. Das liegt daran, daß der ioctl CDROMREADRAW für diese Laufwerke nicht vollstaendig implementiert ist. Wenn du ein bisschen Fachwissen über SCSI- Programmierung hast, hilf uns bitte, allgemeine SCSI-Unterstützggung für VCDs zu implementieren.

Inzwischen kannst du die Daten von VCDs mit readvcd extrahieren und die ausgegebene Datei mit MPlayer abspielen.

VCD-Struktur

Eine Video CD (VCD) besteht aus CD-ROM XA Sektoren, z.B. CD-ROM Mode 2 Form 1 und 2 Tracks:

- Der erste Track ist im Format Mode 2 Form 2, was bedeutet, dass es L2-Fehlerkorrektur benutzt. Der Track enthält ein ISO-9660 Dateisystem mit 2048 Bytes/Sektor. Das Dateisystem enthält VCD Metadata-Informationen ebenso wie Standbilder, welche oft in Menüs benutzt werden. MPEG-Segmente für Menüs können auch im ersten Track gespeichert werden, die MPEGs müssen aber in eine Serie von 150-Sektoren-Einheiten gestückelt werden. Das ISO-9660 Dateisystem kann auch noch andere Dateien oder Programme enthalten, welche nicht für VCD-Betrieb erforderlich sind.

- Der zweite und die restlichen Tracks sind generelle rohe 2324 Bytes/Sektor MPEG (Film) Tracks, welche ein MPEG-PS-Datenpaket pro Sektor enthalten. Diese sind im Format Mode 2 Form 1, so dass sie mehr Daten pro Sektor speichern können unter dem Verlust einiger Fehlerkorrektur. Es ist ebenso gültig, CD-DA Tracks in einer VCD nach dem ersten Track zu haben. Auf manchen Betriebssystemen gibt es ein paar Tricks, diese nicht-ISO-9660-Tracks im Dateisystem erscheinen zu lassen. Auf anderen Systemen wie GNU/Linux ist dies (noch) nicht der Fall. Hier können die MPEG-Daten nicht gemountet werden. Da sich die meisten Filme in einer solchen Art von Track befinden, solltest du zuerst `vcd://2` versuchen.

- Es existieren ebenso VCDs ohne einen ersten Track (einzelner Track und überhaupt kein Dateisystem). Diese sind trotzudem abspielbar, können aber nicht gemountet werden.

- Die Definition des Video-CD-Standards wird Philips "White Book" genannt und ist im Allgemeinen nicht online verfügbar, da es von Philips käuflich erworben werden muss. Detailliertere Informationen über Video-CDs befindet sich in der vcdimager- Documentation.

.DAT Dateien

Die ~600 MB Datei, die auf dem ersten Track einer gemounteten VCD sichtbar ist, ist keine richtige Datei! Es ist ein sogenanntes ISO-Gateway, geschaffen, um Windows den Zugriff auf solche Tracks zu geben (Windows erlaubt überhaupt keine direkten Zugriffe auf das Laufwerk). Unter Linux kannst du solche Dateien weder kopieren noch abspielen (sie enthalten Müll). Unter Windows ist dies möglich, da Windows ISO9660-Treiber das direkte Lesen der Tracks in diesen Dateien emuliert. Um eine .DAT Datei wiederzugeben, benötigst du einen Kernel-Treiber, welcher in der Linux-Version von PowerDVD zu finden ist. Es hat einen modifizierten ISO9660 Dateisystem-Treiber (`vcdfs/isofs-2.4.X.o`), welcher in der Lage ist, die rohen Tracks durch diese Schatten-.DAT-Dateien zu emulieren. Wenn du den Datenträger mit deren Treiber mountest, kannst du die .DAT Dateien kopieren und sogar mit MPlayer abspielen. Dies wird jedoch nicht mit dem Standard-ISO9660-Treiber des Linux-Kernels funktionieren! Benutze statt dessen `vcd://`. Alternativen für das Kopieren von VCDs sind der neue Kernel-Treiber cdfs (nicht Bestandteil des offiziellen Kernels), welcher CD-Sessions als Imagedateien darstellt, und cdrdao, ein Bit-für-Bit CD-Grabbing/Kopier-Programm.

## Edit Decision Lists (EDL)

Das System der "edit decision list" (EDL) erlaubt dir, Abschnitte von Videos während der Wiedergabe automatisch zu überspringen oder stummzuschalten, basierend auf einer filmspezifischen EDL-Konfigurationsdatei.

Dies ist nützlich für diejenigen, die einen Film im "familienfreundlichen" Modus anschauen möchten. Du kannst jegliche Gewalt oder Obszönität nach persönlichen Vorgaben aus einem Film herausschneiden. Daneben gibt es noch weitere Nutzungsmöglichkeiten wie dem automatischen Überspringen von Werbung in den Videos, die du dir anschaust.

Das EDL-Dateiformat ist ziemlich simpel. Es gibt einen Befehl pro Zeile, der angibt, was zu tun ist (überspringen/stumm schalten) und wann es zu tun ist (benutzt pts in Sekunden).

### Benutzung einer EDL-Datei

Füge die Option `-edl <dateiname>` mit der EDL-Datei, die auf das Video angewendet werden soll, hinzu, wenn du MPlayer aufrufst.

### Erstellung einer EDL-Datei

Das aktuelle EDL-Dateiformat ist das folgende:

    [Anfangssekunde] [Endsekunde] [Aktion]

Wobei die Sekunden Fließkommazahlen sind und die Aktion entweder `0` zum Überspringen oder `1` für Stummschaltung. Beispiel:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Dies wird den Bereich von Sekunde 5.3 bis Sekunde 7.1 des Videos überspringen und dann bei 15 Sekunden stummschalten, bei 16.7 Sekunden den Ton wieder anschalten. Der Bereich zwischen den Sekunden 420 bis 422 wird übersprungen. Diese Aktionen werden ausgeführt, wenn der Wiedergabetimer die in der Datei angegebenen Zeiten erreicht.

Um eine EDL-Datei zu erstellen, die als Arbeitsvorlage benutzt werden kann, benutze die Option `-edlout <dateiname>`. Drücke dann während der Wiedergabe i, um den Anfang und as Ende eines zu überspringenden Blocks zu markieren. Ein entsprechender Eintrag wird für diese Zeit in die Datei geschrieben. Danach kannst du Feineinstellungen an der generierten EDL-Datei vornehmen und zusätzlich die Standardeinstellung ändern, welche darin besteht, den Block, der in einer Zeile beschrieben ist, zu überspringen.

## Audio für Fortgeschrittene

### Surround/Multichannel-Wiedergabe

#### DVDs

Die meisten DVDs und viele andere Dateien enthalten Surround-Sound. MPlayer unterstützt Surround-Wiedergabe, aktiviert diese jedoch nicht in der Voreinstellung, da Stereo-Ausrüstung weit gebräuchlicher ist. Um eine Datei abzuspielen, die mehr als zwei Audiokanäle hat, benutze die Option `-channels`. Um eine DVD mit 5.1-Ton abzuspielen, benutze beispielsweise:

    mplayer dvd://1 -channels 6

Beachte, dass es sich trotz des Namens "5.1" um sechs diskrete Kanäle handelt. Wenn du eine entsprechende Ausrüstung für Surround-Sound hast, ist es sicher, die Option `channels` in die MPlayer-Konfigurationsdatei `~/.mplayer/config` zu schreiben. Um zum Beispiel Quadrophonie-Wiedergabe als Voreinstellung zu verwenden, füge folgende Zeile hinzu:

    channels=4

MPlayer wird dann den Ton in vier Kanäle ausgeben, falls alle vier Kanäle zur Verfügung stehen.

#### Stereo-Dateien auf vier Lautsprechern wiedergeben

MPlayer dupliziert per Voreinstellung keine Kanäle, genausowenig wie die meisten Audiotreiber. Wenn du dies manuell tun möchtest:

    mplayer dateiname -af channels=2:2:0:1:0:0

Siehe den Abschnitt über das Kopieren von Kanälen für eine Erklärung.

#### AC3/DTS-Passthrough

DVDs enthalten Surround-Ton normalerweise encodiert im Format AC3 (Dolby Digital) oder DTS (Digital Theater System). Manche moderne Audioausrüstung ist dazu in der Lage, diese Formate intern zu decodieren. MPlayer kann angewiesen werden, die Audiodaten weiterzuleiten, ohne diese zu decodieren. Dies wird jedoch nur funktionieren, wenn du einen S/PDIF- (Sony/Philips Digital Interface) Anschluß an deiner Soundkarte hast.

Wenn deine Audioausrüstung sowohl AC3 als auch DTS decodieren kann, ist es sicher, Passthrough für beide Formate zu aktivieren. Sonst solltest du Passthrough nur für das Format aktivieren, das deine Ausrüstung unterstützt.

Passthrough auf der Kommandozeile aktivieren:

- Für nur AC3, benutze `-ac hwac3`

- Für nur DTS, benutze `-ac hwdts`

- Für AC3 und DTS, benutze `-afm hwac3`

Passthrough in der MPlayer-Konfigurationsdatei aktivieren:

- Für nur AC3, benutze `ac=hwac3,`

- Für nur DTS, benutze `ac=hwdts,`

- Für AC3 und DTS, benutze `afm=hwac3`

Beachte, dass am Ende von `ac=hwac3,` und `ac=hwdts,` ein Komma (",")steht. Dies wird dafür sorgen, dass MPlayer auf andere Codecs zurückgreift, die er normalerweise benutzt, wenn eine Datei keinen AC3- oder DTS-Ton besitzt. `afm=hwac3` benötigt kein Komma; MPlayer wird sowieso auf andere zurückgreigen, wenn eine Audiofamilie angegeben wurde.

#### MPEG-Audio-Passthrough

Digitale TV-Übertragungen (wie DVB und ATSC) und manche DVDs haben normalerweise MPEG-Audiostreams (vornehmlich MP2). Manche MPEG-Hardwaredecoder wie vollausgestattete DVB-Karten und DXR2-Adapter können dieses Format nativ decodieren. MPlayer kann angewiesen werden, die Audiodaten weiterzuleiten, ohne sie zu decodieren.

Um diesen Codec zu verwenden:

     mplayer -ac hwmpa

#### Matrix-encodierter Ton

***TODO***

Dieser Abschnitt muss noch geschrieben werden und kann nicht vervollständigt werden, bis uns jemand mit Beispieldateien zum Testen versorgt. Wenn du irgendwelche Matrix-encodierten Audiodateien hast, weißt, wo man welche finden kann oder andere hilfreiche Informationen hast, schicke bitte eine Nachricht auf die MPlayer-DOCS-Mailing-Liste. Benutzt "[matrix-encoded audio]" in der Betreffzeile.

Wenn keine Dateien oder weitere Informationen hervorkommen, wird dieser Abschnitt entfernt.

Gute Links:

- http://electronics.howstuffworks.com/surround-sound5.htm

- http://www.extremetech.com/article2/0,1697,1016875,00.asp

#### Surround-Emulation bei Kopfhörern

MPlayer besitzt einen HRTF- (Head Related Transfer Function) Filter basierend auf einem MIT-Projekt, bei dem Messungen von an einem Puppenkopf befestigten Mikrofonen vorgenommen wurden.

Obwohl es unmöglich ist, ein Surroundsystem exakt zu imitieren, liefert MPlayers HRTF-Filter in 2-Kanal-Kopfhörern einen räumlich eindringlicheren Ton. Reguläres Heruntermixen kombiniert einfach alle Kanäle zu zweien; neben der Kombinierung der Kanäle generiert `hrtf` feine Echos, erhöht die Stereoseparation leicht und verändert die Lautstärke mancher Frequenzen. Ob HRTF-Klänge besser klingen, kann vom Quellmaterial und persönlichem Geschmack abhängen, den Filter auszuprobieren ist aber definitiv einen Versuch wert.

Eine DVD mit HRTF abspielen:

    mplayer dvd://1 -channels 6 -af hrtf

`hrtf` funktioniert nur gut bei 5 oder 6 Kanälen und benötigt außerdem 48 kHz Ton. DVD-Ton ist schon 48 kHz, wenn du aber eine Datei mit einer anderen Samplerate hast, die du mit `hrtf` abspielen willst, musst du sie resamplen:

    mplayer filename -channels 6 -af resample=48000,hrtf

#### Troubleshooting/Problemlösung

Wenn du keinen Ton aus deinen Surround-Kanälen hören kannst, überprüfe deine Mixereinstellungen mit Mixerprogrammen wie alsamixer; Audioausgaben sind oft stummgeschaltet und per Voreinstellung auf Lautstärke 0 gesetzt.

### Kanalmanipulationen

#### Allgemeine Informationen

Leider gibt es keinen Standard, der vorgibt, wie Kanäle angeordnet sind. Die unten gelisteten Reihenfolgen sind die von AC3 und halbwegs typisch; versuche diese und schaue, ob sie zu deiner Quelle passen. Kanäle sind durchnummeriert, beginnend bei 0.

Mono

1. mittig

Stereo

1. links

2. rechts

Quadraphonisch

1. links vorne

2. rechts vorne

3. links hinten

4. rechts hinten

Surround 4.0

1. links vorne

2. rechts vorne

3. mittig hinten

4. mittig vorne

Surround 5.0

1. links vorne

2. rechts vorne

3. links hinten

4. rechts hinten

5. mittig vorne

Surround 5.1

1. links vorne

2. rechts vorne

3. links hinten

4. rechts hinten

5. mittig vorne

6. Subwoofer

Die Option `-channels` wird benutzt, um vom Audiodecoder eine Anzahl Kanäle zu fordern. Manche Audiocodecs benutzen die angegebenen Kanäle, um zu entscheiden, ob Heruntermixen der Quelle nötig ist. Beachte, dass dies nicht immer die Anzahl der Ausgabekanäle beeinflusst. Zum Beispiel wird die Angabe der Option `-channels 4` bei der Wiedergabe einer Stereo-MP3-Datei zur Ausgabe in 2 Kanälen führen, da der MP3-Codec keine zusätzlichen Kanäle produziert.

Der Audiofilter `channels` kann genutzt werden, um Kanäle zu erstellen oder zu entfernen. Er ist nützlich für die Kontrolle der Anzahl der Kanäle, die an die Soundkarte geschickt werden. Siehe folgenden Abschnitt für weitergehende Informationen zur Kanalmanipulation.

#### Mono-Wiedergabe mit zwei Lautsprechern

Mono klingt viel besser, wenn es von zwei Lautsprechern wiedergegeben wird - besonders bei Kopfhörern. Audiodateien, die wirklich nur einen Kanal haben, werden automatisch von zwei Lautsprechern wiedergeben; leider sind jedoch die meisten Dateien in mono tatsächlich als stereo encodiert, bei dem ein Kanal stumm ist. Der einfachste und sicherste Weg, zwei Lautsprecher dasselbe ausgeben zu lassen ist der Filter `extrastereo`:

    mplayer dateiname -af extrastereo=0

Dieser mittelt über beide Kanäle, was darin resultiert, dass beide Kanäle jeweils halb so laut sind wie das Original. Die nächsten Abschnitte enthalten Beispiele für andere Möglichkeiten, dies ohne Minderung der Lautstärke zu erreichen, sie sind aber komplexer und erfordern verschiedene Optionen, je nach dem, welche Kanäle beibehalten werden sollen. Wenn du wirklich die Lautstärke beibehalten musst, ist es möglicherweise leichter, mit dem Filter `volume` zu experimentieren und den dafür richtigen Wert zu finden. Zum Beispiel:

    mplayer dateiname -af extrastereo=0,volume=5

#### Kopieren/Verschieben von Kanälen

Der Filter `channels` kann einen beliebigen oder alle Kanäle verschieben. All die Suboptionen für den `channels`-Filter einzustellen kann kompliziert sein und erfordert ein wenig Sorgfalt.

1. Entscheide, wieviele Ausgabekanäle du benötigst. Dies ist die erste Suboption.

2. Zähle, wieviele Kanäle du umordnen möchtest. Dies ist die zweite Suboption. Jeder Kanal kann gleichzeitig zu mehreren verschiedenen Kanälen verschoben werden. Behalte jedoch im Gedächtnis, dass ein Kanal leer ist, wenn er (auch wenn er nur an ein Ziel) verschoben wird, es sei denn, ein anderer Kanal ersetzt ihn. Um einen Kanal zu kopieren, wobei die Quelle gleich bleibt, verschiebe den Kanal ins Ziel und in die Quelle, zum Beispiel:

       channel 2 --> channel 3
       channel 2 --> channel 2

3. Schreibe die Kanalkopien als Suboptionspaare aus. Beachte, dass der erste Kanal 0 ist, der zweite 1 usw. Die Reihenfolge dieser Suboptionen spielt keine Rolle, solang sie entsprechend in Paare der Form Quelle:Ziel gruppiert sind.

#### Beispiel: ein Kanal auf zwei Lautsprecher

Hier ist ein Beispiel einer weiteren Möglichkeit, einen Kanal auf zwei Lautsprechern wiederzugeben. Für dieses Beispiel sei angenommen, dass der linke Kanal abgespielt und der rechte verworfen werden soll. Befolge die oben angegebenen Schritte:

1. Um einen Ausgabekanal für jeden der beiden Lautsprecher bereitzustellen, muss die erste Suboption "2" sein.

2. Der linke Kanal muss zum rechten verschoben werden, und auch zu sich selbst, damit er nicht leer ist. Dies sind insgesamt also zwei Bewegungen, was die zweite Suboption auch "2" macht.

3. Den linken Kanal (Kanal 0) zum rechten (Kanal 1) zu verschieben, entspricht dem Suboptionspaar "0:1", "0:0" bewegt den linken Kanal auf sich selbst.

All dies zusammengesetzt ergibt:

    mplayer dateiname -af channels=2:2:0:1:0:0

Der Vorteil, den diese Methode gegenüber `extrastereo` hat, ist, dass die Lautstärke auf jedem Ausgabekanal die gleiche ist wie die des Eingabekanals. Der Nachteil ist, dass die Suboptionen zu "2:2:1:0:1:1" geändert werden müssen, wenn der gewünschte Ton im rechten Kanal ist. Außerdem ist es schwerer zu merken und einzutippen.

#### Beispiel: ein Kanal auf zwei Lautsprecher, Abkürzung

Tatsächlich gibt es einen viel einfacheren Weg, um mit dem `channels`-Filter den linken Kanal auf beiden Lautsprechern wiederzugeben:

    mplayer dateiname -af channels=1

Der zweite Kanal wird verworfen und ohne weitere Suboptionen bleibt der übrige Kanal allein. Soundkartentreiber spielen einkanaliges Audio automatisch auf beiden Lautsprechern ab. Dies funktioniert nur, wenn der gewünschte Kanal der linke ist.

#### Beispiel: Dupliziere die vorderen Kanäle hinten

Eine weitere übliche Aktion ist die Duplizierung der vorderen Kanäle, um sie auf den hinteren Lautsprechern einer quadraphonischen Installation abzuspielen.

1. Es sollte vier Ausgabekanäle geben. Die erste Suboption ist "4".

2. Jeder der zwei Frontkanäle muss zum entsprechenden hinteren Kanal und zu sich selbst bewegt werden. Das sind vier Bewegungen, also ist die zweite Suboption "4".

3. Der vordere linke Kanal (0) muss zum hinteren linken (Kanal 2) bewegt werden: "0:2". Der vordere linke muss auch zu sich selbst bewegt werden: "0:0". Der vordere rechte (Kanal 1) wird zum hinteren rechten (Kanal 3) bewegt: "1:3", und zu sich selbst: "1:1".

Setze alle Suboptionen zusammen und du erhältst:

    mplayer dateiname -af channels=4:4:0:2:0:0:1:3:1:1

#### Kanäle mixen

Der Filter `pan` in Kanäle in vom Benutzer angegebenen Verhältnissen mixen. Dies ermöglicht alles, was der `channels`-Filter kann, und mehr. Leider sind die Suboptionen auch viel schwieriger.

1. Entscheide, mit wievielen Kanälen du arbeiten möchtest. Dies musst du mit der Option `-channels` und/oder `-af channels` angeben. Spätere Beispiele werden dir zeigen, wann welcher zu benutzen ist.

2. Entscheide, mit wievielen Kanälen du `pan` füttern möchtest (weitere decodierte Kanäle werden verworfen). Dies ist die erste Suboption, und diese kontrolliert auch, wieviele Kanäle für die Ausgabebereitgestellt werden.

3. Die übrigen Suboptionen geben an, wieviel von jedem Kanal in jeden anderen Kanal gemixt werden. Das ist der komplizierte Teil. Um die Arbeit übersichtlich zu machen, zerlege die Suboptionen in mehrere Teile, einen Teil für jeden Ausgabekanal. Jede Suboption innerhalb eines Teils entspricht einem Eingabekanal. Die Anzahl, die du angibst, ist die prozentuale Menge, die vom Eingabekanal in den Ausgabekanal gemixt wird.

   `pan` akzeptiert Werte von 0 bis 512, was Werte von 0% bis 512000% der ursprünglichen Lautstärke ergibt.. Sei vorsichtig bei Werten größer als 1. Dies liefert nicht nur eine sehr hohe Lautstärke, sondern sprengt auch den Samplebereich deiner Soundkarte, und du könntest schmerzvolle Pops und Klicken hören. Wenn du willst, kannst du auf `pan` `,volume` folgen lassen, um eine Abschneidung zu ermöglichen, es ist aber das beste, die Werte von `pan` niedrig genug zu halten, dass keine Abschneidung nötig ist.

#### Beispiel: Ein Kanal auf zwei Lautsprechern

Hier ist also noch ein Beispiel für die Wiedergabe des linken Kanals auf zwei Lautsprechern. Befolge die Schritte oben:

1. `pan` sollte zwei Kanäle ausgeben, also ist die erste Suboption "2".

2. Da wir zwei Eingabekanäle haben, gibt es die Suboptionen in zwei Teilen. Da es auch zwei Ausgabekanäle gibt, wird es pro Teil zwei Suboptionen geben. Der linke Kanal der Datei sollte in voller Lautstärke auf den neuen linken Kanal und den rechten gehen, daher ist der erste Teil der Suboptionen "1:1". Der rechte Kanal sollte weggelassen werden, daher ist der zweite "0:0". Alle 0-Werte am Ende können weggelassen werden, aber um das Verstehen leichter zu machen, behalten wir sie.

Diese Optionen ergeben zusammen:

    mplayer dateiname -af pan=2:1:1:0:0

Wenn der rechte Kanal anstelle des linken gewünscht ist, sind die Suboptionen für `pan` "2:0:0:1:1".

#### Beispiel: Ein Kanal auf zwei Lautsprechern, Abkürzung

Wie bei der Option `channels` gibt es eine Abkürzung, die nur mit dem linken Kanal funktioniert:

    mplayer dateiname -af pan=1:1

Da `pan` nur einen Eingabekanal hat (der andere wird verworfen), gibt es nur einen Teil mit einer Suboption, die angibt, dass der einzige Kanal 100% von sich selbst bekommt.

#### Beispiel: 6-kanaliges PCM heruntermixen

MPlayers Decoder für 6-kanaliges PCM ist nicht in der Lage, herunterzumixen. Hier ist eine Möglichkeit, PCM unter Verwendung von `pan` herunterzumixen:

1. Die Anzahl der Ausgabekanäle ist zwei, daher ist die erste Suboption "2".

2. Bei sechs Eingabekanälen gibt es sechs Teile Optionen. Glücklicherweise müssen wir nur zwei Teile machen, da wir uns nur für die Ausgabe der ersten beiden Kanäle interessieren. Die übrigen vier Teile können weggelassen werden. Sei dir im klaren darüber, dass nicht alle Audiodateien mit mehreren Kanälen die gleiche Kanalabfolge haben! Dieses Beispiel demonstriert das Heruntermixen einer Datei mit den gleichen Kanälen wie MAC3 5.1:

       0 - vorne links
       1 - vorne rechts
       2 - hinten links
       3 - hinten rechts
       4 - mittig vorne
       5 - Subwoofer

   Der erste Teil der Suboptionen listet die Prozente der ursprünglichen Lautstärke, und zwar in der Reihenfolge, die jeder Ausgabekanal vom vorderen linken Kanal erhalten soll: "1:0". Der vordere rechte Kanal sollte zur rechten Ausgabe gehen: "0:1". Das gleiche gilt für die hinteren Kanäle: "1:0" und "0:1". Der mittlere Kanal geht mit jeweils halber Lautstärke in beide Ausgabekanäle: "0.5:0.5", und der Subwoofer geht mit voller Lautstärke in beide: "1:1".

All dies zusammen ergibt:

    mplayer 6-kanal.wav -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1

Die oben gelisteten Prozente sind nur ein einfaches Beispiel. Fühle dich nicht eingeschränkt, mit ihnen zu experimentieren.

#### Beispiel: Wiedergabe von 5.1-Audio auf großen Lautsprechern ohne Subwoofer

Wenn du ein riesiges Paar Front-Lautsprecher hast und kein Geld darauf verschwenden möchtest, einen Subwoofer für ein komplettes 5.1-Soundsystem zu erhalten. Wenn du die Option `-channels 5` benutzt, damit liba52 5.1-Ton in 5.0 decodiert, wird der Subwoofer-Kanal einfach weggelassen. Wenn du den Subwoofer-Kanal selbst verteilen möchtest, musst du manuell mit `pan` heruntermixen:

1. Da `pan` alle sechs Kanäle untersuchen muss, gib `-channels 6` an, so dass liba52 sie alle decodiert.

2. `pan` gibt nur fünf Kanäle aus, die erste Suboption ist 5.

3. Sechs Eingabekanäle und fünf Ausgabekanäle bedeuten sechs Teile von fünf Suboptionen.

   - Der linke vordere Kanal wird nur auf sich selbst repliziert: "1:0:0:0:0"

   - Das gleiche gilt für den rechten vorderen Kanal: "0:1:0:0:0"

   - Das gleiche gilt für den linken hinteren Kanal:"0:0:1:0:0"

   - Und das gleiche auch für den rechten hinteren Kanal: "0:0:0:1:0"

   - Vordere Mitte auch: "0:0:0:0:1"

   - Jetzt müssen wir entscheiden, was mit dem Subwoofer geschieht, zum Beispiel eine Hälfte jeweils nach vorne rechts und vorne links: "0.5:0.5:0:0:0"

Kombiniere all diese Optionen, um folgendes zu erhalten:

    mplayer dvd://1 -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0

### Anpassung der softwaregesteuerten Lautstärke

Manche Audiotracks sind zu leise, um sie bequem ohne Anpassung zu hören. Das kann zum Problem werden, wenn dein Audiosystem diese Anpassung nicht für dich vornehmen kann. Die Option `-softvol` weist MPlayer an, einen internen Mixer zu verwenden. Du kannst die Tasten zur Anpassung der Lautstärke (in der Voreinstellung 9 und 0) verwenden, um wesentlich höhere Lautstärkelevel zu erreichen. Beachte, dass dies nicht den Mixer deiner Soundkarte umgeht; MPlayer wird das Signal nur verändern, bevor es an die Soundkarte gesendet wird. Das folgende Beispiel ist ein guter Anfang:

    mplayer leise-datei -softvol -softvol-max 300

Die Option `-softvol-max` gibt die maximal erlaubte Ausgabelautstärke als prozentualen Wert hinsichtlich der Originallautstärke an. Beispielsweise würde `-softvol-max 200` erlauben, die Lautstärke doppelt so hoch wie das ursprüngliche Level zu setzen. Es ist sicher, einen größeren Wert mit `-softvol-max` zu setzen; die höhere Lautstärke wird nicht verwendet, solange du nicht die entsprechenden Tasten drückst. Der einzige Nachteil bei Verwendung von hohen Werten ist, dass du nicht ganz so genaue Kontrolle bei der Verwendung der Tasten hast, da MPlayer die Lautstärke in Prozenten der maximalen Lautstärke anpasst. Benutze einen niedrigeren Wert mit `-softvol-max` und/oder gib `-volstep 1` an, wenn du höhere Genauigkeit brauchst.

Die Option `-softvol` funktioniert durch Kontrolle des Audiofilters `volume`. Wenn du eine Datei von Anfang an mit einer gewissen Lautstärke abspielen möchtest, kannst du die `volume` manuell angeben:

    mplayer leise-datei -af volume=10

Dies wird die Datei mit einer Erhöhung um zehn Dezibel wiedergeben. Sei vorsichtig bei der Verwendung des `volume`-Filters - du kannst deinen Ohren leicht schaden, wenn du einen zu hohen Wert benutzt. Beginne niedrig und arbeite dich stufenweise hoch, bis du ein Gefühl dafür bekommst, wieviel Anpassung notwendig ist. Außerdem kann es passieren, wenn du einen übermäßig hohen Wert angibst, dass `volume` das Signal kappen muss, um keine Daten an die Soundkarte zu schicken, die außerhalb des gültigen Bereichs liegen; dies führt zu gestörtem Ton.

## TV-Input

Dieser Abschnitt behandelt das Anschauen/Grabben von einem V4L-kompatiblen TV-Empfänger. Siehe Manpage für eine Beschreibung der TV-Optionen und Tastensteuerungen.

### Compilierung

- Zuerst musst du neu compilieren. `./configure` wird die Kernelheader vom v4l-Kram und die Existenz der `/dev/video*`-Einträge automatisch erkennen und TV-Unterstützung wird eingebaut werden (siehe Ausgaben von `./configure`).

- Stelle sicher, dass dein Empfänger mit anderer TV-Software wie zum Beispiel XawTV unter Linux läuft.

### Tipps zum Gebrauch

Die vollständige Liste der Optionen ist in der Manpage verfügbar. Hier sind nur ein paar Tipps:

- Benutze die Option `channels`. Ein Beispiel:

      -tv channels=26-MTV1,23-TV2

  Erklärung: Durch Verwendung dieser Option sind nur die Kanäle 26 und 23 in Gebrauch, und es wird beim Kanalwechsel einen netten OSD-Text geben, der den Namen des Kanals anzeigt. Leerzeichen im Kanalnamen müssen durch das Zeichen "_" ersetzt werden.

- Wähle vernünftige Bildabmessungen. Die Abmessungen des resultierenden Bildes sollten durch 16 teilbar sein.

- Wenn du das Video bei einer vertikalen Auflösung höher als halb der vollen Auflösung einfängst (z.B. 288 für PAL oder 240 für NTSC), dann werden die 'Frames', die du erhältst, wirklich jeweils ausgelassene Paare von Feldern sein. Je nach dem, was du mit dem Video anfängst, kannst du es in dieser Form belassen, (zerstörend) deinterlacen oder die Paare zu einzelnen Feldern machen.

  Ansonsten wirst du einen Film erhalten, der während schnellbewegten Szenen gestört ist, und die Bitratenkontrolle wird vermutlich nicht in der Lage sein, die angegebene Bitrate einzuhalten, da die Interlacing-Artefakte hohe Details produzieren und daher eine Menge Bandbreite kosten. Du kannst Deinterlacing mit `-vf pp=DEINT_TYPE` aktivieren. Normalerweise leistet `pp=lb` gute Arbeit, aber das ist Geschmackssache. Schaue nach anderen Deinterlacing-Algorithmen im Handbuch und versuche es mit denen.

- Schneide tote Bereiche ab. Wenn du Video aufnimmst, sind die Bereiche an den Rändern normalerweise schwarz oder enthalten Rauschen. Diese wiederum verbrauchen unnötige Bandbreite. Genauer gesagt sind es nicht die schwarzen Bereiche selbst, sondern die scharfen Übergänge zwischen dem schwarzen und dem helleren Videobild, die das tun. Aber das ist für den Moment nicht so wichtig. Bevor du mit der Aufnahme beginnst, passe alle Argumente der Option `crop` so an, dass der ganze Müll an den Rändern abgeschnitten wird. Nochmal, vergiss nicht, die resultierenden Abmessungen vernünftig zu halten.

- Achte auf CPU-Load. Es sollte die 90%-Grenze die meiste Zeit über nicht überschreiten. Wenn du einen großen Aufnahmepuffer hast, kann MEncoder eine Überlastung für ein paar Sekunden überstehen, aber nicht mehr. Es ist besser, 3D-OpenGL-Bildschirmschoner und ähnlichen Kram abzustellen.

- Spiele nicht mit der Systemuhr herum. MEncoder benutzt sie für A/V-Synchronisation. Wenn du die Systemuhr anpasst (vor allem rückwärtig), verwirrt dies MEncoder, und du wirst Frames verlieren. Das ist ein wichtiger Sachverhalt, wenn du mit einem Netzwerk verbunden bist und Zeitsynchronisationssoftware wie NTP verwendest. Du musst NTP während des Aufnahmeprozesses ausschalten, wenn du zuverlässig aufnehmen möchtest.

- Ändere das `outfmt` nicht, es sei denn, du weißt, was du tust, oder deine Karte/Treiber den Standard (YV12-Farbraum) wirklich nicht unterstützt. In älteren Versionen von MPlayer/MEncoder war es notwendig, das Ausgabeformat anzugeben. Diese Sache sollte in aktuellen Releases behoben sein, und `outfmt` wird nicht weiter benötigt. Die Standardeinstellung genügt den meisten Zwecken. Zum Beispiel, wenn du mit libavcodec nach DivX aufnimmst und `outfmt=RGB24` angibst, um die Qualität der aufgenommenen Bilder zu erhöhen, so wird das aufgenommene Bild später tatsächlich zurück zu YV12 konvertiert. Die einzige Sache, die du erreichst, ist eine massive Verschwendung von CPU-Power.

- Um den Farbraum I420 anzugeben (`outfmt=i420`), musst du die Option `-vc rawi420` hinzufügen. Das liegt an einem Konflikt mit einem Intel Indeo Videocodec.

- Es gibt viele Möglichkeiten, Audio aufzunehmen. Du kannst den Ton grabben entweder mit deiner Soundkarte über ein externes Kabel zwischen Videokarte und Line-In oder durch Benutzung des eingebauten ADC im bt878-Chip. In letzterem Falle musst den den Treiber btaudio laden. Lies die Datei `linux/Documentation/sound/btaudio` (im Kernel-Tree, nicht in dem von MPlayer) für ein paar Anweisungen, wie dieser Treiber verwendet wird.

- Wenn MEncoder das Audiogerät nicht öffnen kann, stelle sicher, dass es wirklich verfügbar ist. Es kann Ärger geben mit Soundservern wie aRts (KDE) oder ESD (GNOME). Wenn du eine Vollduplex-Soundkarte hast (fast jede vernünftige Karte unterstützt dies heutzutage) und du KDE laufen hast, probiere die Option "Vollduplex" im Eigenschaftenmenü des Soundservers.

### Beispiele

Dummy-Ausgabe zu AAlib :)

    mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://

Input von Standard-V4L:

    mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://

Ein gehobenes Beispiel. Dies sorgt dafür, dass MEncoder das volle PAL-Bild einfängt, die Ränder abschneidet und einen Deinterlacer mit einem linearen Blendalgorithmus auf das Bild anwendet. Der Ton wird mit dem LAME-Codec bei konstanter Bitrate von 64kbps komprimiert. Diese Einstellungen eigenen sich für das Einfangen von Filmen.

    mencoder -tv driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
    -oac mp3lame -lameopts cbr:br=64 \
    -vf crop=720:544:24:16,pp=lb -o output.avi tv://

Dies wird zusätzlich die Bildabmessungen auf 384x288 ändern und das Video mit einer Bitrate von 250kbps im hochqualitativen Modus encodieren. Die Option vqmax lockert den Quantisierungsparameter und erlaubt dem Videokompressor, eine sehr niedrige Bitrate zu erlangen, sogar auf Kosten der Qualität. Dies kann verwendet werden für das Einfangen von langen TV-Serien, wo die Videoqualität nicht so wichtig ist.

    mencoder -tv driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 \
    -vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o output.avi tv://

Es ist außerdem möglich, in der Option `-tv` kleinere Bildabmessungen anzugeben und die Softwareskalierung auszulassen, aber dieser Ansatz nutzt die maximal verfügbaren Informationen und ist ein wenig resistenter gegen Störungen. Die bt8x8-Chips können das Mitteln der Pixel auf Grund einer Hardwarebeschränkung nur in horizontaler Richtung durchführen.

## Videotext

Videotext ist momentan nur in MPlayer verfügbar, für die Treiber v4l und v4l2.

### Anmerkungen zur Implementierung

MPlayer unterstützt regulären Text, Grafiken und Navigationslinks. Leider werden farbige Seiten momentan nicht vollständig unterstützt - alle Seiten erscheinen in Graustufen. Untertitelseiten (auch bekannt als "Closed Captions") werden auch unterstützt.

MPlayer beginnt beim Beginn vom TV-Empfang damit, alle Videoseiten zwischenzuspeichern, damit du nicht warten musst, bis die gewünschte Seite geladen ist.

Anmerkung: Benutzung von Videotext mit `-vo xv` verursacht komische Farben.

### Videotext verwenden

Um Decodierung von Videotext zu aktivieren, musst du das VBI-Gerät angeben, von dem die Videotextdaten empfangen werden (üblicherweise `/dev/vbi0` unter Linux). Dies kann erreicht werden durch Angabe der Option `tdevice` in deiner Konfigurationsdatei, siehe unten:

    tv=tdevice=/dev/vbi0

Du musst möglicherweise den Videotextsprachcode für dein Land angeben. Um dir alle Sprachcodes anzeigen zu lassen, verwende

    tv=tdevice=/dev/vbi0:tlang=-1

Hier ist ein Beispiel für russisch:

    tv=tdevice=/dev/vbi0:tlang=33

## Radio

### Radio Input

Dieser Abschnitt behandelt das Hören von Radio mittels eines V4L-kompatiblen Radioempfängers. Siehe Manpage für eine Beschreibung der Radio-Optionen und Tastensteuerungen.

#### Kompilierung

- Zuerst muss MPlayer neu kompiliert werden mittels `./configure` mit `--enable-radio` und (falls Aufzeichnen untersttzt werden soll) `--enable-radio-capture`.

- Stelle sicher, dass dein Empfänger mit anderer Radio Software für Linux läuft, wie z.B. XawTV.

#### Tips zum Gebrauch

Eine vollständige Liste aller Optionen ist in der Manpage. Hier sind nur ein paar Tips:

- Benutze die Option `channels`. Ein Beispiel:

      -radio channels=104.4-Sibir,103.9-Maximum

  Erklärung: Mit dieser Option sind nur die Frequenzen 104.4 und 103.9 in Gebrauch. Ein netter OSD-Text wird beim Kanalwechsel den Namen des Kanals angeben. Leerzeichen im Kanalnamen müssen ersetzt werden durch das Zeichen "_".

- Es gibt mehrere Möglichkeiten, Radio aufzuzeichnen. Das Sound-Signal kann entweder mit der Soundkarte und einer externen Kabelverbindung zwischen dem Line-In der Soundkarte und der TV-Karte erfasst werden, oder mittels des eingebauten ADC im saa7134-Chip. In letzterem Falle ist es nötig, den Treiber saa7134-alsa oder saa7134-oss zu laden.

- MEncoder ist zum Aufzeichnen von Radio ungeeignet, da es einen Video Stream benötigt. Daher kannst du entweder arecord vom ALSA Projekt benutzen, oder die Option `-ao pcm:file=file.wav`. In letzterem Falle wirst du keinen Sound hören können (es sei denn, du hast ein Line-In Kabel und hast den Line-In Kanal nicht stumm geschaltet).

#### Beispiele

Input von Standard-V4L (mittels Line-In Kabel, keine Aufzeichnung):

    mplayer radio://104.4

Input von Standard-V4L (mittels Line-In Kabel, keine Aufzeichnung, V4Lv1 Interface):

    mplayer -radio driver=v4l radio://104.4

Abspielen des zweiten Kanals aus der Kanalliste:

    mplayer -radio channels=104.4=Sibir,103.9=Maximm  radio://2

Leiten des Sounds über den PCI-Bus vom internen ADC des Radio-Empfängers. In diesem Beispiel wird der Empfänger als zweite Soundkarte genutzt (ALSA device hw:1,0). Für saa7134-basierte Karten muss entweder das Modul saa7134-alsa oder saa7134-oss geladen werden.

Werden ALSA-Gerätenamen benutzt, so müssen Doppelpunkte durch Gleichheitszeichen und Kommata durch Punkte ersetzt werden.

    mplayer -rawaudio rate=32000 -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm  radio://2/capture