Xine-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Verfügbare Parameter)
(Hardwareanforderungen)
 
(147 dazwischenliegende Versionen von 87 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Beschreibung==
 
==Beschreibung==
'''Autor:''' Reinhard Nissl
+
'''Autor:''' Reinhard Nißl
  
Beschreibung: http://www.thunderbolt2000.de/index.php?content=vdr-sw-plugins
+
Das Xine Plugin dient als ein [[:Kategorie:Ausgabe-Plugins|Video Ausgabe-Plugin]] für den VDR.
  
Das Xine-Plugin ist dafür gedacht, mit einer LowBudget-DVB-Karte den VDR nutzen zu können. Normalerweise war mindestens eine Hardware-MPEG2-Decoderkarte nötig (also eine DXR3-Karte oder eine fullfeatured-DVB-Karte), wobei aber LowBudget-Karten als zusätzliche Karten zu einer solchen wunderbar eingesetzt werden konnten/können (z.B. um mehrere Aufnahmen gleichzeitig zu ermöglichen).
+
Dieses Plugin reicht den MPEG Datenstrom (TV/Aufnahme) des VDR an Xine weiter, wo die Daten demultiplext und als Video angezeigt werden.
  
Dank des Xine-Plugins ist es nun möglich, eine reine Software-Decodierung mit reinen LowBudget-Karten zu ermöglichen; entsprechend schnelle Hardware vorausgesetzt. LowBudget-Karten haben keinen MPEG2-Decoderchip und demzufolge kein Device für einen Hardwaredecoder (Device = Zugriffspunkt im Dateisystem auf eine Hardwarekomponente). Für die regulären Medienspieler (XawTV und Co) benötigt man aber ein solches Demuxer-Device, von dem die Daten demuxed (demultiplext) werden können. Mit einer DXR3 oder fullfeatured-DVB ist das kein Problem, da diese so ein Gerät zur Verfügung stellen.
+
===Status===
 
+
* keine Homepage mehr / kein Download mehr.
Das Xine-Plugin setzt hier an; es holt den noch nicht demultiplexten MPEG2-Datenstrom von der LowBudgetDVB-Karte und füllt die Daten in einen FIFO-Puffer, also in einen Zwischenspeicher, von dem der Xine-Medienspieler (oder andere Programme, die DVB-Daten demuxen können) die Daten wieder runternimmt und mit seinem Software-Demuxer umwandelt und als Video ausgibt.
+
 
+
Auch eine Clientlösung ohne DVB (lokal) ist mit Hilfe des [[streamdev-plugin]]s möglich.<br>
+
Clientlösung Skizze zum Verständnis: [http://mitglied.lycos.de/peterweber69/ Link]
+
  
 
==Bilder==
 
==Bilder==
Zeile 18: Zeile 14:
 
|[[Bild:xine-plugin-01.jpg|thumb|none|''Ausgabe ueber Xine-ui'']]
 
|[[Bild:xine-plugin-01.jpg|thumb|none|''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
 
* PII 400MhZ / 196 MB / NVIDIA Geforce 4 MX 480; mit XxMC [mit OSD]: nahezu ruckelfrei, nur beim Ein- und Ausblenden ein kleines Stocken; Systemauslastung bei ca 60%; Deinterlacing möglich =)
 
* Athlon 1800 / 512 MB / NV Gf Ti 4200, xv-Ausgabe: ruckelfrei für DVB, Systemlast stets < 10%
 
  
 
==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)
+
* libxine
  
 
==Installation==
 
==Installation==
Zeile 40: Zeile 27:
  
 
## entpacken der Sourcen
 
## entpacken der Sourcen
tar xvzf vdr-xine-<VERSION>.tgz -C $SOURCEDIR/VDR/PLUGINS/src
+
tar xvzf vdr-xine-<VERSION>.tgz -C $(pwd)/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
Zeile 51: Zeile 38:
 
cd xine
 
cd xine
 
mkdir -p /etc/vdr/plugins/xine
 
mkdir -p /etc/vdr/plugins/xine
find . -name *.pes -exec cp -v \{} /etc/vdr/plugins/xine \;
+
find . -name *.mpg -exec cp -v \{} /etc/vdr/plugins/xine \;
  
 
## link für den Player
 
## link für den Player
 
ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer
 
ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer
  
## uebersetzen der xine-lib
+
## übersetzen der xine-lib
 
cd ../../../../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
 
make
 
make
Zeile 64: Zeile 51:
 
ldconfig
 
ldconfig
  
## uebersetzen des frontends
+
## übersetzen des Frontends
 
cd ../xine-ui
 
cd ../xine-ui
 +
find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \;
 
./autogen.sh --prefix=/usr/local \
 
./autogen.sh --prefix=/usr/local \
 
             --enable-vdr-keys
 
             --enable-vdr-keys
Zeile 79: Zeile 67:
 
</pre>
 
</pre>
  
Dannach wie gewohnt übersetzen:
+
Danach wie gewohnt übersetzen:
  
 
<pre>
 
<pre>
Zeile 87: Zeile 75:
 
</pre>
 
</pre>
  
Nach dem ausführen der [[runvdr]] für X basiert:
+
Nach dem Ausführen der [[runvdr]] für X basiert:
  
 
<pre>
 
<pre>
Zeile 93: Zeile 81:
 
</pre>
 
</pre>
  
Entgegen jeder Aussage, gehts natürlich auch "minimal" via [[Framebuffer]]:
+
Entgegen jeder Aussage, geht natürlich auch eine minimal Variante via [[Framebuffer]]:
  
 
<pre>
 
<pre>
Zeile 99: Zeile 87:
 
</pre>
 
</pre>
  
==Konfiguration==
+
Und übers Netz heißt es:
In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann.
+
  
 
<pre>
 
<pre>
cp $SOURCEDIR/VDR/PLUGINS/src/mp3/examples/mplayer.sh.example /usr/local/bin/mplayer.sh
+
xine "netvdr://host:port#demux:mpeg_pes"
 
</pre>
 
</pre>
  
Anpassen
+
(:port ist dabei optional). Dazu muss man das Plugin mit dem zusätzlichen Parameter "-p" starten (siehe MANUAL), also:
  
 
<pre>
 
<pre>
- MPLAYER="mplayer"
+
-P 'xine -r -p'
+ MPLAYER="/usr/local/bin/xineplayer"
+
 
</pre>
 
</pre>
  
Sollte dazu gesagt werden, das diese Geschichte im jetziegen Stadium nur mit [[LIRC|Lirc]] funktioniert, somit auch nur im Modus '''TRADITIONAL''' des [[mplayer-plugin]]s.
 
  
==Optionen==
+
===Optionen===
{| border=1 cellpadding=2 cellspacing=0
+
{| class="wikitable"
 
|-
 
|-
|bgcolor=#efefef|VDR_XINE_SET_VIDEO_WINDOW=1
+
| bgcolor=#efefef | VDR_XINE_SET_VIDEO_WINDOW=1
|für volle [[yaepg-plugin]] Unterstützung aktivieren
+
| für volle [[yaepg-plugin]] / [[yaepghd-plugin]] Unterstützung aktivieren
 
|}
 
|}
  
==Parameter==
+
 
===Parameter Benutzung===
+
==Konfiguration==
Die Parameter des Plugins können folgendermaßen übergeben werden.
+
In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann.
  
 
<pre>
 
<pre>
vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>
+
cp $SOURCEDIR/VDR/PLUGINS/src/mp3/examples/mplayer.sh.example /usr/local/bin/mplayer.sh
 
</pre>
 
</pre>
  
Beispiel:
+
Anpassen
  
 
<pre>
 
<pre>
vdr -P'xine -r'
+
- MPLAYER="mplayer"
 +
+ MPLAYER="/usr/local/bin/xineplayer"
 
</pre>
 
</pre>
  
===Verfügbare Parameter===
+
Es sollte dazu gesagt werden, dass diese Geschichte im jetzigen Stadium nur mit [[LIRC|Lirc]] funktioniert, somit auch nur im Modus '''TRADITIONAL''' des [[mplayer-plugin]]s.
{| border=1 cellpadding=2 cellspacing=0
+
 
|- bgcolor=#efefef
+
===Parameter===
 +
Folgende Kommandozeilenparameter gibt es
 +
{| class="wikitable"
 +
|-
 
!Parameter
 
!Parameter
 
!Beschreibung
 
!Beschreibung
Zeile 151: Zeile 140:
 
|}
 
|}
  
==Tipps==
+
Die Parameter des Plugins können folgendermaßen übergeben werden.
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>
+
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
+
vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>
    DVB
+
        Primäres DVB Interface / Primary DVB interface
+
 
</pre>
 
</pre>
  
Oder via "sed", VDR ist vorher zu beenden, einfach schauen welches wir haben (+1).
+
Beispiel:
  
 
<pre>
 
<pre>
#~ grep ^PrimaryDVB /etc/vdr/setup.conf
+
vdr -P'xine -r'
PrimaryDVB = 3
+
#~ sed -i "s/^PrimaryDVB.*/PrimaryDVB = 4/" /etc/vdr/setup.conf
+
 
</pre>
 
</pre>
  
 +
==Sonstiges==
 +
===Probleme===
 +
* Prinzipiell auch Ausgabe des OSDs mit [[XvMC|XVmC]] möglich, vereinzelt kann es zu Anzeigeschwierigkeiten kommen, die man aber über Xineeinstellungen umgehen kann [z. B. disable exact alpha blending und aktivieren von xvmc_nvidia_colorfix ]
 +
 +
====SuSE spezifisch====
 +
Die Orginal Xine Packages von [[SuSE]] sind zu deinstallieren, da Sie für unseren Zweck vollkommen unbrauchbar sind.
 +
 +
<pre>
 +
echo xine-ui xine-lib xine-devel|xargs rpm -e --nodeps
 +
</pre>
 +
 +
Das dürfte im jetzigen Stadium bei jeder Distribution auf das selbe hinaus laufen, da Sourcen benötigt werden.
 +
 +
Mit/Ab(?) SuSe 9.3 ist der Xine-Player bereits mit VDR ablauffähig. Jedoch ist das Stream-Verzeichnis nicht /tmp/vdr-xine. Siehe DOC´s. <b>Nachteil ist aber eine hohe Prozessorlast bei den fertigen RPM Packages.</b> Auf PIII@933 war VDR nur als teilweise Lauffähig (Ruckeln bei OSD und Timeshift). Das selber kompilieren von Xine-Lib, Xine-UI und des VDR brachte eine um 40-50% niedrigere Last (xv als Videotreiber, NVidia GForce FX5200).
  
 +
===Tipps===
 +
====Mplayer====
 
Statt des xineplayers kann auch weiterhin der mplayer benutzt werden (sogar im SLAVE-Modus).
 
Statt des xineplayers kann auch weiterhin der mplayer benutzt werden (sogar im SLAVE-Modus).
 
Hier eine minimale mplayer.sh (fuer die Benutzung unter X11 und slave):
 
Hier eine minimale mplayer.sh (fuer die Benutzung unter X11 und slave):
 +
 
<pre>
 
<pre>
#!/bin/bash
+
#!/bin/sh
CMDLINE="/usr/bin/mplayer -fs -vo xv -ao oss -cache 4096 -slave -nolirc -quiet"
+
 
DISPLAY=:0.0 $CMDLINE "$1" 2>&1 |logger
+
CMDLINE="mplayer -fs -vo xv -ao alsa -cache 4096 -slave -nolirc -idx"
 +
DISPLAY=:0.0 $CMDLINE "$1"
 
exit
 
exit
 
</pre>
 
</pre>
  
==Probleme==
+
Die Ausgabe von $CMDLINE sollte nicht in eine Datei bzw. den logger umgelenkt werden. Das Umlenken dieser Ausgabe bewirkt, dass die Resume Funktion nicht mehr funktioniert. Die Videoausgabe (-vo), Audioausgabe (-ao) und das Display müssen an das eigene System angepasst werden. Z.B -vo vdpau, falls das System vdpau unterstützt. Bei yaVDR muss möglicherweise DISPLAY=:1 gesetzt werden.
* keine OSD-Wiedergabe bei der Verwendung der XvMC Unterstützung, d.h. Prozessormindestanforderung beachten! [wohingegen das OSD mit XxMC läuft! [wird auch von Nvidia unterstützt], leider etwas farbverzerrt]
+
  
===SuSE spezifisch===
+
Das funktioniert so, dass mplayer ein eigenes Fenster in x-windows öffnet und dieses über das xine Fenster legt. Die Bildausgabe im xine wird unterbrochen. Das OSD des VDR wird aber weiterhin im xine Fenster angezeigt, nicht im mplayer Fenster. Von daher ist die Integration nicht so vollständig wie bei FF Karten. Wer möchte, kann das mplayer eigene OSD nutzen: Im VDR, unter Einstellungen -> Plugins -> mplayer können den Zifferntasten der Fernbedienung mplayer slave Kommandos zugeordnet werden. Z.B. kann der Taste 0 das Kommando 'osd' zugeordnet werden.
Die Orginal Xine Packages von [[SuSE]] sind zu deinstallieren, da Sie für unseren Zweck vollkommen unbrauchbar sind.
+
 
 +
 
 +
====Xine mit VDR starten====
 +
Falls man Xine beim Start des VDR gleichzeitig mit öffnen möchte, müssen vor dem Kompilieren des Plugins noch folgende Zeilen im '''xine.c''', Quellcode eingefügt werden:
  
 
<pre>
 
<pre>
echo xine-ui xine-lib xine-devel|xargs rpm -e --nodeps
+
bool cPluginXine::Start(void)
 +
{
 +
  // Start any background activities the plugin shall perform.
 +
  if (!PluginXine::cXineDevice::Open())
 +
  return false;
 +
+ pid_t cpid;
 +
+ switch (cpid = fork()){
 +
+ case 0: SystemExec("xine -f --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
 +
+ }
 +
  return true;
 +
}
 
</pre>
 
</pre>
  
Das dürfte im jetzigen Stadium bei jeder Distri aufs selbe hinaus laufen, da Sourcen benötigt werden.
+
====Stillpicture erzeugen====
 +
 
 +
cat <BILD>.jpg \
 +
    | jpegtopnm \
 +
    | pnmscale -xsize=720 -ysize=576 \
 +
    | ppmtoppm \
 +
    | ppmtoy4m -F 25:1 -A 4:3 -I p -r -v 2 -n 1 \
 +
    | mpeg2enc -f 0 -a 2 -q 1 -n p -T 120 -R 2 -g 12 -G 12 -o <NAME>.mpg
 +
 
 +
 
 +
'''Befehl für kanotix/Debian Sid'''
 +
 
 +
png2yuv -j <file>.png -f 25 -I p -n 2 |  mpeg2enc -f 3 -a 2 -b 7500 -o <file>.mpg
 +
 
 +
 
 +
==Aktuelle Version==
 +
kein Download mehr. <!-- [http://home.vrweb.de/~rnissl/vdr-xine-0.9.4.tgz Version 0.9.4] -->
  
 
==Links==
 
==Links==
{|
+
<!-- # [http://home.vr-web.de/~rnissl Homepage des Plugins] -->
| [1]
+
# [http://xinehq.de Xine Projekt Homepage]
| http://xinehq.de
+
# [[Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player]]
| Xine Projekt Homepage
+
 
|-
+
[[Kategorie:Veraltete Plugins]]
| [2]
+
<!--
| http://home.vr-web.de/~rnissl
+
[[Kategorie:Ausgabe-Plugins]]
| Homepage des Plugins
+
[[Kategorie:Budget-Only_Systeme]]
|-
+
-->
| [3]
+
{{i18n|xine-plugin}}
| http://mitglied.lycos.de/peterweber69/xine/xine.htm
+
| Xine-Plugin über Netzwerk nutzen
+
|}
+
[[Kategorie:Plugins]]
+

Aktuelle Version vom 1. September 2013, 10:25 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Reinhard Nißl

Das Xine Plugin dient als ein Video Ausgabe-Plugin für den VDR.

Dieses Plugin reicht den MPEG Datenstrom (TV/Aufnahme) des VDR an Xine weiter, wo die Daten demultiplext und als Video angezeigt werden.

[Bearbeiten] Status

  • keine Homepage mehr / kein Download mehr.

[Bearbeiten] Bilder

Ausgabe ueber Kaffeine
Ausgabe ueber Xine-ui

[Bearbeiten] Softwareanforderungen

  • libxine

[Bearbeiten] 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 $(pwd)/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 *.mpg -exec cp -v \{} /etc/vdr/plugins/xine \;

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

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

## übersetzen des Frontends
cd ../xine-ui
find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \;
./autogen.sh --prefix=/usr/local \
             --enable-vdr-keys
make
make install

Für 64-bit Prozessoren z.B. AMD64 ist das Makefile zu ändern

- #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual
+ #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC

Danach 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, geht natürlich auch eine minimal Variante via Framebuffer:

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

Und übers Netz heißt es:

xine "netvdr://host:port#demux:mpeg_pes"

(:port ist dabei optional). Dazu muss man das Plugin mit dem zusätzlichen Parameter "-p" starten (siehe MANUAL), also:

-P 'xine -r -p'


[Bearbeiten] Optionen

VDR_XINE_SET_VIDEO_WINDOW=1 für volle yaepg-plugin / yaepghd-plugin Unterstützung aktivieren


[Bearbeiten] Konfiguration

In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann.

cp $SOURCEDIR/VDR/PLUGINS/src/mp3/examples/mplayer.sh.example /usr/local/bin/mplayer.sh

Anpassen

- MPLAYER="mplayer"
+ MPLAYER="/usr/local/bin/xineplayer"

Es sollte dazu gesagt werden, dass diese Geschichte im jetzigen Stadium nur mit Lirc funktioniert, somit auch nur im Modus TRADITIONAL des mplayer-plugins.

[Bearbeiten] Parameter

Folgende Kommandozeilenparameter gibt es

Parameter Beschreibung
-i N instance number to append to FIFO directory
-q turn off debug messages on console
-r turn on remote (pressing keys in xine controls VDR)
-s switch to curses skin, while xine is disconnected

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

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

Beispiel:

vdr -P'xine -r'

[Bearbeiten] Sonstiges

[Bearbeiten] Probleme

  • Prinzipiell auch Ausgabe des OSDs mit XVmC möglich, vereinzelt kann es zu Anzeigeschwierigkeiten kommen, die man aber über Xineeinstellungen umgehen kann [z. B. disable exact alpha blending und aktivieren von xvmc_nvidia_colorfix ]

[Bearbeiten] SuSE spezifisch

Die Orginal Xine Packages von SuSE sind zu deinstallieren, da Sie für unseren Zweck vollkommen unbrauchbar sind.

echo xine-ui xine-lib xine-devel|xargs rpm -e --nodeps

Das dürfte im jetzigen Stadium bei jeder Distribution auf das selbe hinaus laufen, da Sourcen benötigt werden.

Mit/Ab(?) SuSe 9.3 ist der Xine-Player bereits mit VDR ablauffähig. Jedoch ist das Stream-Verzeichnis nicht /tmp/vdr-xine. Siehe DOC´s. Nachteil ist aber eine hohe Prozessorlast bei den fertigen RPM Packages. Auf PIII@933 war VDR nur als teilweise Lauffähig (Ruckeln bei OSD und Timeshift). Das selber kompilieren von Xine-Lib, Xine-UI und des VDR brachte eine um 40-50% niedrigere Last (xv als Videotreiber, NVidia GForce FX5200).

[Bearbeiten] Tipps

[Bearbeiten] Mplayer

Statt des xineplayers kann auch weiterhin der mplayer benutzt werden (sogar im SLAVE-Modus). Hier eine minimale mplayer.sh (fuer die Benutzung unter X11 und slave):

#!/bin/sh

CMDLINE="mplayer -fs -vo xv -ao alsa -cache 4096 -slave -nolirc -idx"
DISPLAY=:0.0 $CMDLINE "$1"
exit

Die Ausgabe von $CMDLINE sollte nicht in eine Datei bzw. den logger umgelenkt werden. Das Umlenken dieser Ausgabe bewirkt, dass die Resume Funktion nicht mehr funktioniert. Die Videoausgabe (-vo), Audioausgabe (-ao) und das Display müssen an das eigene System angepasst werden. Z.B -vo vdpau, falls das System vdpau unterstützt. Bei yaVDR muss möglicherweise DISPLAY=:1 gesetzt werden.

Das funktioniert so, dass mplayer ein eigenes Fenster in x-windows öffnet und dieses über das xine Fenster legt. Die Bildausgabe im xine wird unterbrochen. Das OSD des VDR wird aber weiterhin im xine Fenster angezeigt, nicht im mplayer Fenster. Von daher ist die Integration nicht so vollständig wie bei FF Karten. Wer möchte, kann das mplayer eigene OSD nutzen: Im VDR, unter Einstellungen -> Plugins -> mplayer können den Zifferntasten der Fernbedienung mplayer slave Kommandos zugeordnet werden. Z.B. kann der Taste 0 das Kommando 'osd' zugeordnet werden.


[Bearbeiten] Xine mit VDR starten

Falls man Xine beim Start des VDR gleichzeitig mit öffnen möchte, müssen vor dem Kompilieren des Plugins noch folgende Zeilen im xine.c, Quellcode eingefügt werden:

bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
  return false;
+ pid_t cpid;
+ switch (cpid = fork()){
+ case 0: SystemExec("xine -f --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+ }
  return true;
}

[Bearbeiten] Stillpicture erzeugen

cat <BILD>.jpg \
    | jpegtopnm \
    | pnmscale -xsize=720 -ysize=576 \
    | ppmtoppm \
    | ppmtoy4m -F 25:1 -A 4:3 -I p -r -v 2 -n 1 \
    | mpeg2enc -f 0 -a 2 -q 1 -n p -T 120 -R 2 -g 12 -G 12 -o <NAME>.mpg


Befehl für kanotix/Debian Sid

png2yuv -j <file>.png -f 25 -I p -n 2 | mpeg2enc -f 3 -a 2 -b 7500 -o <file>.mpg


[Bearbeiten] Aktuelle Version

kein Download mehr.

[Bearbeiten] Links

  1. Xine Projekt Homepage
  2. Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player
In anderen Sprachen