Mplayer-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Das MPlayer Plugin ist eine Aufrufhülle für den VDR, mit dem er den MPlayer einbinden kann. Daher muss ausser diesem Plugin auch noch ein spezieller MPlayer installiert werden, der seine Ausgaben über den Videoausgang der Full-Featured DVB-Karte ausgeben kann.

Das MPlayer Plugin ruft das Skript mplayer.sh auf, welches hier beschrieben ist. So können Filme aller Formate von Festplatte, CD oder auch DVD gelesen werden und auf dem Fernseher dargestellt werden. Die MPlayer Wiedergabe wird mit der Fernbedienung des VDR gesteuert.

Hardwareanforderungen

Je nach abzuspielendem Format braucht man unterschiedliche Prozessorleistung (siehe Hardware=>Prozessor). Da i.d.R. der im VDR eingebundene MPlayer über ein Ausgabegerät (z.B. ff-DVB-Karte) die FIlme abspielt müssen diese ins MPEG1-Format codiert werden. Für flüssige DivX-Wiedergabe sind somit um die 1GHz nötig, andere Formate lassen sich jedoch auch schon mit weit langsameren Prozessoren abspielen (z.B. Celeron 433).

Softwareanforderungen

  • MPlayer
  • diverse codec
  • lame
  • ffmpeg
  • scripts

Installation

cd $SOURCEDIR
tar xvzf divx4linux-<VERSION>.tgz
cd divx4linux-<VERSION>
sh install.sh
cd -

tar jxvf xvidcore-<VERSION>.tar.bz2
cd xvidcore-<VERSION>/build/generic
./configure --prefix=/usr/local
make
make install
ln -s /usr/local/lib/libxvidcore.so.* /usr/local/lib/libxvidcore.so
ldconfig
cd -

tar xvzf lame-<VERSION>.tar.gz
cd lame-<VERSION>
./configure --prefix=/usr/local
make
make install
cd -

tar xvzf ffmpeg-<VERSION>.tar.gz
ln -s ffmpeg-<VERSION> ffmpeg
cd ffmpeg
./configure --prefix=/usr/local \
            --enable-shared
make
make install
ldconfig
cd -

tar jxvf all-<VERSION>.tar.bz2
mkdir -p /usr/local/lib/win32
cp all-<VERSION>/* /usr/local/lib/win32

tar jxvf font-arial-iso-8859-1.tar.bz2
mkdir -p ~/.mplayer/font
cp font-arial-iso-8859-1/font-arial-14-iso-8859-1/* ~/.mplayer/font

// Optional für X11 falls mit (--enable-gui) übersetzt wurde...
// tar jxvf default-<VERSION>.tar.bz2
// mkdir -p ~/.mplayer/Skin
// mv default ~/.mplayer/Skin

tar xvzf mplayer.sh-<VERSION>.tar.gz
cp mplayer.sh mplayer.sh.conf /usr/local/bin

tar jxvf MPlayer-<VERSION>.tar.bz2
cd MPlayer-<VERSION>
./configure --prefix=/usr/local \
            --enable-largefiles \
            --enable-menu \
            --with-dvbincdir=$SOURCEDIR/DVB/include \
            --with-codecsdir=/usr/local/lib/win32
make
make install
cp -v etc/codecs.conf etc/input.conf ~/.mplayer
`etc/codecs.conf' -> `/root/.mplayer/codecs.conf'
`etc/input.conf' -> `/root/.mplayer/input.conf'

Konfiguration

Nicht das Verständnisprobleme auftretten, das mp3-plugin beinhaltet das mplayer-plugin, aus diesem Grund ist die "Konfiguration" ein und die selbe, somit siehe mp3-plugin.

Der Mplayer selbst kann in 2 "Modi" gesteuert werden:

  • Slave (empfohlen)
  • Traditional

Für "Traditional" ist die "/usr/local/bin/mplayer.sh.conf" anzupassen:

# Lirc RC File
LIRCRC="/etc/lircrc.conf"

Dieser Modus nutzt Lirc, MPlayer muß mit Lirc-Support übersetzt worden sein!

Um DVDs/VCDs mit dem Plugin abspielen zu können, müssen wir 2 "Dummy" Files erzeugen:

mkdir -p /video/plugins/DVD-VCD
touch /video/plugins/DVD-VCD/DVD /video/plugins/DVD-VCD/VCD

Später wählt man einfach über das Menu DVD/VCD um das im Laufwerk befindliche Medium abzuspielen.

Wenn der Prozessor langsamer als 1GHz ist, sollte man in der "/usr/local/bin/mplayer.sh.conf" vor der Option "SLOW_CPU" das "#" entfernt werden, so daß diese Option aktiv wird. Hiermit wird jeder Film auf VCD-Format skaliert - diese Auflösung (352x288 [PAL], bzw. 352x240 [NTSC]) schaffen oft auch Prozessoren mit 800MHz und weniger.

Übergabe:

-P'mplayer -m /usr/local/bin/mount.sh -M /usr/local/bin/mplayer.sh'

Probleme

Mplayer spielt keine Datei ab, bzw. spielt sie auf der falschen DVB-Karte ab. So wurde bei mir beispielsweise die Budget-Karte (adapter0) vor der FF-Karte (adapter1) geladen. Dies sieht man in der Datei /var/log/messages:

Jul 18 15:51:38 vdr kernel: DVB: registering new adapter (TT-Budget/WinTV-NOVA-CI PCI).
Jul 18 15:51:40 vdr kernel: DVB: registering new adapter (Siemens/Technotrend/Hauppauge PCI rev1.3).
Jul 18 15:51:41 vdr kernel: TT-Budget/WinTV-NOVA-CI PCI adapter 0 has MAC addr = 00:d0:5c:23:24:6b
Jul 18 15:51:44 vdr kernel: Siemens/Technotrend/Hauppauge PCI rev1.3 adapter 1 has MAC addr = 00:d0:5c:01:c2:01

Der Mplayer versucht aber, auf dev/adapter0 abzuspielen. Mögliche Lösung: In den Sourcen des MPlayer in der Datei MPlayer-1.0pre4/libvo/vo_mpegpes.c alle adapter0 in adapter1 ändern und neu kompilieren. Dann greift der mplayer auf adapter1 zu.

Sollten manche Filme nur in schwarz/weiß wiedergegeben werden, so handelt es sich hierbei vermutlich um Filme im amerikanischen NTSC-Format, welches von deinem Fernseher nicht unterstützt wird. In diesem Fall kann man in der "/usr/local/bin/mplayer.sh.conf" die Option "NTSC" auf false gesetzt werden.

Leider funktioniert die Format-Umwandlung nicht für (S)VCDs und DVDs.

Parameter

Parameter (kurz) Parameter (lang) Beschreibung
-m CMD --mount=CMD use CMD to mount/unmount/eject mp3 sources (default: mount.sh)
-M CMD --mplayer=CMD use CMD when calling MPlayer (default: mplayer.sh)

Links

[1] http://www.mplayerhq.hu/homepage Homepage -> MPlayer
[2] http://ffmpeg.sourceforge.net Homepage -> ffmpeg
[3] http://lame.sourceforge.net Homepage -> lame
[4] http://www.muempf.de/index.html Homepage des Plugins
[5] http://batleth.sapienti-sat.org/projects/VDR Shell Script (mplayer.sh)
[6] http://www.js-home.org/vdr/mplayer-multi/index.php mplayer-multi