Xine-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation: For powerful CPUs (e. g. X-box) --disable-exact-blending)
(Alles neu...)
Zeile 4: Zeile 4:
 
|[[Bild:xine-plugin.jpg|thumb|none|''Ausgabe ueber Xine-ui'']]
 
|[[Bild:xine-plugin.jpg|thumb|none|''Ausgabe ueber Xine-ui'']]
 
|}
 
|}
 +
 
==Hardwareanforderungen==
 
==Hardwareanforderungen==
 
Hier sind einige Beispielkonfigurationen ('''bitte ergänzen'''):
 
Hier sind einige Beispielkonfigurationen ('''bitte ergänzen'''):
Zeile 13: Zeile 14:
 
==Softwareanforderungen==
 
==Softwareanforderungen==
 
* xine-{lib,ui}, wobei Xine-ui nicht zwingend ist, normal sollte jedes Frontend welches auf Xine-lib aufsetzt funktionieren. (die anderen Frontends werden im Moment jedoch nicht die Option '''--enable-vdr-keys''' beherschen, '''./configure --help''' weiß meistens mehr)
 
* xine-{lib,ui}, wobei Xine-ui nicht zwingend ist, normal sollte jedes Frontend welches auf Xine-lib aufsetzt funktionieren. (die anderen Frontends werden im Moment jedoch nicht die Option '''--enable-vdr-keys''' beherschen, '''./configure --help''' weiß meistens mehr)
 +
 
==Installation==
 
==Installation==
<pre>cd $SOURCEDIR
+
<pre>
 +
## laden der Sourcen
 +
cd $SOURCEDIR
 
wget http://home.vr-web.de/~rnissl/xine-lib-cvs-<VERSION>.tar.bz2
 
wget http://home.vr-web.de/~rnissl/xine-lib-cvs-<VERSION>.tar.bz2
 
wget http://home.vr-web.de/~rnissl/xine-ui-cvs-<VERSION>.tar.bz2
 
wget http://home.vr-web.de/~rnissl/xine-ui-cvs-<VERSION>.tar.bz2
 
wget http://home.vr-web.de/~rnissl/vdr-xine-<VERSION>.tgz
 
wget http://home.vr-web.de/~rnissl/vdr-xine-<VERSION>.tgz
  
 +
## entpacken der Sourcen
 
tar xvzf vdr-xine-<VERSION>.tgz -C $SOURCEDIR/VDR/PLUGINS/src
 
tar xvzf vdr-xine-<VERSION>.tgz -C $SOURCEDIR/VDR/PLUGINS/src
 
tar jxvf xine-lib-cvs-<VERSION>.tar.bz2
 
tar jxvf xine-lib-cvs-<VERSION>.tar.bz2
 
tar jxvf xine-ui-cvs-<VERSION>.tar.bz2
 
tar jxvf xine-ui-cvs-<VERSION>.tar.bz2
  
 +
## setzen des Symlinks
 
cd VDR/PLUGINS/src
 
cd VDR/PLUGINS/src
 
ln -s xine-<VERSION> xine
 
ln -s xine-<VERSION> xine
  
cd ../../../xine-lib
+
## Kopieren der "loops"
 +
cd xine
 +
mkdir -p /etc/vdr/plugins/xine
 +
find . -name *.pes -exec cp -v \{} /etc/vdr/plugins/xine \;
 +
 
 +
## link für den Player
 +
ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer
 +
 
 +
## uebersetzen der xine-lib
 +
cd ../../../../xine-lib
 
find $SOURCEDIR/VDR -name xine-lib.patch -exec patch -p1 -i \{} \;
 
find $SOURCEDIR/VDR -name xine-lib.patch -exec patch -p1 -i \{} \;
 
./autogen.sh --prefix=/usr/local
 
./autogen.sh --prefix=/usr/local
############################################################
 
# For powerful CPUs (e. g. X-box) --disable-exact-blending #
 
############################################################
 
 
make
 
make
 
make install
 
make install
 
ldconfig
 
ldconfig
  
 +
## uebersetzen des fontends
 
cd ../xine-ui
 
cd ../xine-ui
 
./autogen.sh --prefix=/usr/local \
 
./autogen.sh --prefix=/usr/local \
Zeile 42: Zeile 55:
 
make install
 
make install
 
</pre>
 
</pre>
 +
 
VDR selbst ist laut INSTALL zu patchen '''$SOURCEDIR/VDR/transfer.c'''
 
VDR selbst ist laut INSTALL zu patchen '''$SOURCEDIR/VDR/transfer.c'''
 +
 
<pre>
 
<pre>
 
- #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 3
 
- #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 3
 
+ #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 12
 
+ #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 12
 
</pre>
 
</pre>
 +
 
Dannach wie gewohnt übersetzen:
 
Dannach wie gewohnt übersetzen:
 +
 
<pre>
 
<pre>
 
cd $SOURCEDIR/VDR
 
cd $SOURCEDIR/VDR
Zeile 53: Zeile 70:
 
make <OPTIONEN> all plugins
 
make <OPTIONEN> all plugins
 
</pre>
 
</pre>
 +
 
Nach dem ausführen der [[runvdr]] für X basiert:
 
Nach dem ausführen der [[runvdr]] für X basiert:
 +
 
<pre>
 
<pre>
 
xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
 
xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
 
</pre>
 
</pre>
 +
 
Entgegen jeder Aussage, gehts natürlich auch "minimal" via [[Framebuffer]]:
 
Entgegen jeder Aussage, gehts natürlich auch "minimal" via [[Framebuffer]]:
 +
 
<pre>
 
<pre>
 
fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
 
fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
 
</pre>
 
</pre>
 +
 +
==Konfiguration==
 +
In der aktuellen Version des Plugins befindet sich ein Player, mit diesen kann man anstatt des Mplayers nun Xine zur Ausgabe auf der DVB nutzen (ueber das [[mplayer-plugin]]).
 +
 +
Lediglich die '''/usr/local/bin/mplayer.sh''' (siehe [[mplayer-plugin]]) ist anzupassen.
 +
 +
<pre>
 +
# Where to find mplayer executable?
 +
- MPLAYER=/usr/local/bin/mplayer
 +
+ MPLAYER=/usr/local/bin/xineplayer
 +
</pre>
 +
 +
Oder per [[commands.conf]].
 +
 +
<pre>
 +
Using Xine    : sed -i "s/^MPLAYER=.*/MPLAYER=\/usr\/local\/bin\/xineplayer/" /usr/local/bin/mplayer.sh.conf
 +
Usung Mplayer : sed -i "s/^MPLAYER=.*/MPLAYER=\/usr\/local\/bin\/mplayer/" /usr/local/bin/mplayer.sh.conf
 +
</pre>
 +
 +
Sollte dazu gesagt werden, das diese Geschichte im jetziegen Stadium nur mit [[Lirc]] funktioniert, somit auch nur im Modus '''TRADITIONAL''' des [[mplayer-plugin]]s.
  
 
==Optionen==
 
==Optionen==
Zeile 87: Zeile 128:
 
===Parameter Benutzung===
 
===Parameter Benutzung===
 
Die Parameter des Plugins können folgendermaßen übergeben werden.
 
Die Parameter des Plugins können folgendermaßen übergeben werden.
 +
 
<pre>
 
<pre>
 
vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>
 
vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>
 
</pre>
 
</pre>
 +
 
Beispiel:
 
Beispiel:
 +
 
<pre>
 
<pre>
 
vdr -P'xine -r'
 
vdr -P'xine -r'
 
</pre>
 
</pre>
 +
 
===Verfügbare Parameter===
 
===Verfügbare Parameter===
 
{| border=1 cellpadding=2 cellspacing=0
 
{| border=1 cellpadding=2 cellspacing=0
Zeile 103: Zeile 148:
 
| Fernbedienungsmodus (Tasten im xine Fenster steuern den VDR)
 
| Fernbedienungsmodus (Tasten im xine Fenster steuern den VDR)
 
|}
 
|}
 +
 
==Tipps==
 
==Tipps==
 
VDR stellt das OSD auf der ersten Karte mit Decoder dar.<br>
 
VDR stellt das OSD auf der ersten Karte mit Decoder dar.<br>
 
Mit dem Plugin gibt es ein weiteres Device (inc. Decoder), es ist immer das letzte.<br>
 
Mit dem Plugin gibt es ein weiteres Device (inc. Decoder), es ist immer das letzte.<br>
 
Deshalb ist bei dem Betrieb mit einer (oder mehreren) FF Karten, ein höheres Device zu wählen. (das letzte verfügbare im Menü)
 
Deshalb ist bei dem Betrieb mit einer (oder mehreren) FF Karten, ein höheres Device zu wählen. (das letzte verfügbare im Menü)
 +
 
<pre>
 
<pre>
 
Einstellungen / Setup
 
Einstellungen / Setup
     DVB  
+
     DVB
 
         Primäres DVB Interface / Primary DVB interface
 
         Primäres DVB Interface / Primary DVB interface
 
</pre>
 
</pre>
 +
 
Oder via "sed", VDR ist vorher zu beenden, einfach schauen welches wir haben (+1).
 
Oder via "sed", VDR ist vorher zu beenden, einfach schauen welches wir haben (+1).
 +
 
<pre>
 
<pre>
 
#~ grep ^PrimaryDVB /etc/vdr/setup.conf
 
#~ grep ^PrimaryDVB /etc/vdr/setup.conf
Zeile 120: Zeile 169:
  
 
==Probleme==
 
==Probleme==
* keine OSD-Wiedergabe bei der Verwendung der XvMC Unterstützung, d.h. Prozessormindestanforderung beachten !
+
* keine OSD-Wiedergabe bei der Verwendung der XvMC Unterstützung, d.h. Prozessormindestanforderung beachten!
  
 
==Links==
 
==Links==

Version vom 3. November 2004, 02:09 Uhr

Inhaltsverzeichnis

Beschreibung

Datei:Xine-plugin-kaffeine.jpg
Ausgabe ueber Kaffeine
Datei:Xine-plugin.jpg
Ausgabe ueber Xine-ui

Hardwareanforderungen

Hier sind einige Beispielkonfigurationen (bitte ergänzen):

  • PIII 550 MHz / 512 MB / Matrox G550 mit vidix; ruckelt bei OSD oder mit Deinterlaceing
  • Athlon 800 MHz / 512 MB / ATI Radeon VE ruckelt bei hohen Auflösungen.
  • P4 2.8 GHz HT / 512 MB / Matrox G550 mit xshm; HDTV: ruckelt bei OSD, Deinterlaceing oder Fenstergröße > 50 %
  • PII 400MhZ / 256 MB / NVIDIA Geforce 4 MX 480; mit XvMC [ohne OSD]: nahezu ruckelfrei, leider kein OSD |xv: kann man sich nicht ansehen

Softwareanforderungen

  • xine-{lib,ui}, wobei Xine-ui nicht zwingend ist, normal sollte jedes Frontend welches auf Xine-lib aufsetzt funktionieren. (die anderen Frontends werden im Moment jedoch nicht die Option --enable-vdr-keys beherschen, ./configure --help weiß meistens mehr)

Installation

## laden der Sourcen
cd $SOURCEDIR
wget http://home.vr-web.de/~rnissl/xine-lib-cvs-<VERSION>.tar.bz2
wget http://home.vr-web.de/~rnissl/xine-ui-cvs-<VERSION>.tar.bz2
wget http://home.vr-web.de/~rnissl/vdr-xine-<VERSION>.tgz

## entpacken der Sourcen
tar xvzf vdr-xine-<VERSION>.tgz -C $SOURCEDIR/VDR/PLUGINS/src
tar jxvf xine-lib-cvs-<VERSION>.tar.bz2
tar jxvf xine-ui-cvs-<VERSION>.tar.bz2

## setzen des Symlinks
cd VDR/PLUGINS/src
ln -s xine-<VERSION> xine

## Kopieren der "loops"
cd xine
mkdir -p /etc/vdr/plugins/xine
find . -name *.pes -exec cp -v \{} /etc/vdr/plugins/xine \;

## link für den Player
ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer

## uebersetzen der xine-lib
cd ../../../../xine-lib
find $SOURCEDIR/VDR -name xine-lib.patch -exec patch -p1 -i \{} \;
./autogen.sh --prefix=/usr/local
make
make install
ldconfig

## uebersetzen des fontends
cd ../xine-ui
./autogen.sh --prefix=/usr/local \
             --enable-vdr-keys
make
make install

VDR selbst ist laut INSTALL zu patchen $SOURCEDIR/VDR/transfer.c

- #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 3
+ #define POLLTIMEOUTS_BEFORE_DEVICECLEAR 12

Dannach wie gewohnt übersetzen:

cd $SOURCEDIR/VDR
make clean
make <OPTIONEN> all plugins

Nach dem ausführen der runvdr für X basiert:

xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"

Entgegen jeder Aussage, gehts natürlich auch "minimal" via Framebuffer:

fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"

Konfiguration

In der aktuellen Version des Plugins befindet sich ein Player, mit diesen kann man anstatt des Mplayers nun Xine zur Ausgabe auf der DVB nutzen (ueber das mplayer-plugin).

Lediglich die /usr/local/bin/mplayer.sh (siehe mplayer-plugin) ist anzupassen.

# Where to find mplayer executable?
- MPLAYER=/usr/local/bin/mplayer
+ MPLAYER=/usr/local/bin/xineplayer

Oder per commands.conf.

Using Xine    : sed -i "s/^MPLAYER=.*/MPLAYER=\/usr\/local\/bin\/xineplayer/" /usr/local/bin/mplayer.sh.conf
Usung Mplayer : sed -i "s/^MPLAYER=.*/MPLAYER=\/usr\/local\/bin\/mplayer/" /usr/local/bin/mplayer.sh.conf

Sollte dazu gesagt werden, das diese Geschichte im jetziegen Stadium nur mit Lirc funktioniert, somit auch nur im Modus TRADITIONAL des mplayer-plugins.

Optionen

SET_VIDEO_WINDOW=1 für volle yaepg plugin Unterstützung aktivieren
DONT_CHANGE_XINE_VOLUME=1 aktivieren, um xines Laustärke nicht zu ändern
OSD_SCALING_MODE=0 LQ = low quality for minimum CPU usage
OSD_SCALING_MODE=1 HQ = higher quality for horizontal resolutions >= 360
OSD_SCALING_MODE=2 SHQ = best quality but high CPU load
OSD_SCALING_MODE=3 auto SHQ = chooses SHQ for streams where width < 360 or height < 288 otherwise HQ

Parameter

Parameter Benutzung

Die Parameter des Plugins können folgendermaßen übergeben werden.

vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>

Beispiel:

vdr -P'xine -r'

Verfügbare Parameter

Parameter Beschreibung
-r Fernbedienungsmodus (Tasten im xine Fenster steuern den VDR)

Tipps

VDR stellt das OSD auf der ersten Karte mit Decoder dar.
Mit dem Plugin gibt es ein weiteres Device (inc. Decoder), es ist immer das letzte.
Deshalb ist bei dem Betrieb mit einer (oder mehreren) FF Karten, ein höheres Device zu wählen. (das letzte verfügbare im Menü)

Einstellungen / Setup
    DVB
        Primäres DVB Interface / Primary DVB interface

Oder via "sed", VDR ist vorher zu beenden, einfach schauen welches wir haben (+1).

#~ grep ^PrimaryDVB /etc/vdr/setup.conf
PrimaryDVB = 3
#~ sed -i "s/^PrimaryDVB.*/PrimaryDVB = 4/" /etc/vdr/setup.conf

Probleme

  • keine OSD-Wiedergabe bei der Verwendung der XvMC Unterstützung, d.h. Prozessormindestanforderung beachten!

Links

[1] http://xinehq.de Xine Projekt Homepage
[2] http://home.vr-web.de/~rnissl Homepage des Plugins