Mplayer

Aus Sebastians Homepage

Wechseln zu: Navigation, Suche

mplayer ist ein Medianplayer, der sowohl mit grafischer Oberfläche als auch von der Kommandozeile aus genutzt werden kann.

Durch die Möglichkeiten meiner Matrox G400 kann ich mit DirectFB die Videoausgabe auf den zweiten VGA-Ausgang leiten - und das wahlweise als Monitor- oder als TV-Signal.

Inhaltsverzeichnis

[bearbeiten] Installation

Die Installation hat sich ein bisschen geziert, darum will ich es hier nochmal kurz beschreiben. Die grundsätzlichen Anleitungen finden sich in den READMEs bzw. INSTALLs der einzelnen Softwarepakete sowie bei Ville Syrjälä, der auch das HOWTO für DirectFB mit Matrox DualHead-Grafikkarten geschrieben hat.

Auch die hier wiedergegebenen Anweisungen basieren auf seinem HOWTO; allerdings habe ich nur die veränderten sowie wesentliche Punkte aufgeführt. Die komplette Anleitung lest bitte bei ihm selber nach.

[bearbeiten] Kernel 2.6.x

Ich habe auf narya ein Debian 3.1r2 sarge-System mit einem Vanilla-Kernel 2.6.19 von kernel.org.

Die Konfiguration des Kernels ist im o.g. HOWTO allerdings nur für den Kernel 2.4 beschrieben. Für einen Kernel 2.6 braucht man die folgenden Optionen:

Processor type and features  --->
	[*] MTRR (Memory Type Range Register) support (CONFIG_MTRR)
	
Code maturity level options  --->
	Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL=y)
		
Device Drivers  --->
	Graphics support  --->
		Frame-buffer support  --->
			Support for frame buffer devices (CONFIG_FB)
			Matrox acceleration (CONFIG_FB_MATROX)
			G100/G200/G400/G450/G550 support (CONFIG_FB_MATROX_G)

File systems  --->
	Pseudo filesystems  --->
		Virtual memory file system support (former shm fs) (CONFIG_TMPFS)

Nur für Besitzer einer Matrox G400 sind noch die folgenden Optionen wichtig:

			
Device Drivers  --->
	I2C support  --->
		I2C support (CONFIG_I2C)
		I2C device interface (CONFIG_I2C_CHARDEV)
		I2C algorithms  --->
			I2C bit-banging interfaces (CONFIG_I2C_ALGOBIT)
Graphics support  --->
	Matrox I2C support (CONFIG_FB_MATROX_I2C)

Außerdem darf bei einer G400 die Option G400 second head support (CONFIG_FB_MATROX_MAVEN) nicht fest einkompiliert werden, da ansonsten DirectFB den TV-Out nicht ansteuern kann. Bei Bedarf kann aber das Modul erzeugt werden.

Für die detaillierte Beschreibung der Kernelinstallation verweise ich auf das HOWTO. Dort stehen auch noch ein paar weitere allgemeine Hinweise und Vorbereitungen.

[bearbeiten] sysfs-utils

Da unter Linux 2.6 die Schnittstelle /proc/bus/i2c nicht mehr unterstützt wird, müssen die sysfsutils installiert werden.

Debian bietet die Pakete sysfsutils und libsysfs-dev fertig an.

[bearbeiten] DirectFB

Das Kompilieren einer aktuellen Version von DirectFB (momentan 1.0.0rc2) funktioniert nicht mehr. Die i2c-Headerdateien sind aus Copyrightgründen nicht mehr in den DFB-Sourcen enthalten, und die im Kernel mitgelieferten sind zu DFB inkompatibel.

Eine Möglichkeit ist es, die Datei i2c-dev.h aus älteren DirectFB-Quellen oder von dieser Seite im Verzeichnis gfxdrivers/matrox abzulegen und die Datei matrox-maven.c so zu patchen, dass die beiden Zeilen

#include <linux/i2c.h>
#include <linux/i2c-dev.h>

durch die Zeile

#include "i2c-dev.h"

zu ersetzen.

Danach sollte DirectFB sich problemlos kompilieren und installieren lassen.

Die Konfiguration ist wieder im HOWTO beschrieben.

fbset -i und dfbinfo geben Informationen darüber, ob die Framebuffer-Unterstützung im Kernel aktiviert und von DirectFB angesprochen wird.

[bearbeiten] mplayer

Man kann mplayer als fertiges Binärpaket (z.B. von [1]) oder als Quellcode von MPlayerHQ herunterladen. Die aktuelle Version gibt es über Subversion.

Nach dem Aufruf von ./configure gibt es eine Ausgabe ähnlich der folgenden:

   Enabled optional drivers:
     Input: ftp network tv-v4l2 tv-v4l tv libdvdcss dvdread vcd dvb
     Codecs: qtx libavcodec real xanim win32 faad2 libmpeg2 liba52 mp3lib tremor(internal)
     Audio output: oss mpegpes(dvb)
     Video output: cvidix md5sum pnm jpeg png mpegpes(dvb) fbdev mga dfbmga directfb tga

Für uns als Matrox-Nutzer ist hier die Ausgabe dfbmga in der Überschrift Video output wichtig - wenn die nicht auftaucht, ist entweder der Kernel oder DirectFB nicht richtig installiert oder konfiguriert.

Wenn das geklappt hat, dann installieren und mit

mplayer -vo dfbmga <Videodatei>

ein Video abspielen und freuen :)