Xine-plugin
Monroe (Diskussion | Beiträge) K (→Hardwareanforderungen) |
Wirbel (Diskussion | Beiträge) (→Hardwareanforderungen) |
||
(74 dazwischenliegende Versionen von 47 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Beschreibung== | ==Beschreibung== | ||
− | '''Autor:''' Reinhard | + | '''Autor:''' Reinhard Nißl |
− | + | Das Xine Plugin dient als ein [[:Kategorie:Ausgabe-Plugins|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. | |
− | + | ===Status=== | |
+ | * keine Homepage mehr / kein Download mehr. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Bilder== | ==Bilder== | ||
{| | {| | ||
|[[Bild:xine-plugin-00.jpg|thumb|none|''Ausgabe ueber Kaffeine'']] | |[[Bild:xine-plugin-00.jpg|thumb|none|''Ausgabe ueber Kaffeine'']] | ||
|[[Bild:xine-plugin-01.jpg|thumb|none|''Ausgabe ueber Xine-ui'']] | |[[Bild:xine-plugin-01.jpg|thumb|none|''Ausgabe ueber Xine-ui'']] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
==Softwareanforderungen== | ==Softwareanforderungen== | ||
− | * | + | * libxine |
==Installation== | ==Installation== | ||
Zeile 85: | Zeile 38: | ||
cd xine | cd xine | ||
mkdir -p /etc/vdr/plugins/xine | mkdir -p /etc/vdr/plugins/xine | ||
− | find . -name *. | + | 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 | ||
− | ## | + | ## ü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 \{} \; | ||
Zeile 98: | Zeile 51: | ||
ldconfig | ldconfig | ||
− | ## | + | ## übersetzen des Frontends |
cd ../xine-ui | cd ../xine-ui | ||
find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \; | find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \; | ||
Zeile 114: | Zeile 67: | ||
</pre> | </pre> | ||
− | + | Danach wie gewohnt übersetzen: | |
<pre> | <pre> | ||
Zeile 122: | Zeile 75: | ||
</pre> | </pre> | ||
− | Nach dem | + | Nach dem Ausführen der [[runvdr]] für X basiert: |
<pre> | <pre> | ||
Zeile 128: | Zeile 81: | ||
</pre> | </pre> | ||
− | Entgegen jeder Aussage, | + | Entgegen jeder Aussage, geht natürlich auch eine minimal Variante via [[Framebuffer]]: |
<pre> | <pre> | ||
fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes" | fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes" | ||
</pre> | </pre> | ||
+ | |||
+ | Und übers Netz heißt es: | ||
+ | |||
+ | <pre> | ||
+ | xine "netvdr://host:port#demux:mpeg_pes" | ||
+ | </pre> | ||
+ | |||
+ | (:port ist dabei optional). Dazu muss man das Plugin mit dem zusätzlichen Parameter "-p" starten (siehe MANUAL), also: | ||
+ | |||
+ | <pre> | ||
+ | -P 'xine -r -p' | ||
+ | </pre> | ||
+ | |||
===Optionen=== | ===Optionen=== | ||
Zeile 138: | Zeile 104: | ||
|- | |- | ||
| 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 |
|} | |} | ||
− | + | ||
==Konfiguration== | ==Konfiguration== | ||
In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann. | In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann. | ||
Zeile 158: | Zeile 124: | ||
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. | 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. | ||
− | |||
===Parameter=== | ===Parameter=== | ||
Folgende Kommandozeilenparameter gibt es | Folgende Kommandozeilenparameter gibt es | ||
Zeile 173: | Zeile 138: | ||
|- | |- | ||
| -s || switch to curses skin, while xine is disconnected | | -s || switch to curses skin, while xine is disconnected | ||
− | |||
− | |||
|} | |} | ||
Zeile 191: | Zeile 154: | ||
==Sonstiges== | ==Sonstiges== | ||
===Probleme=== | ===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==== | ====SuSE spezifisch==== | ||
Zeile 200: | Zeile 163: | ||
</pre> | </pre> | ||
− | Das dürfte im jetzigen Stadium bei jeder | + | 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). | 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=== | ===Tipps=== | ||
Zeile 221: | Zeile 175: | ||
#!/bin/sh | #!/bin/sh | ||
− | CMDLINE="mplayer -fs -vo xv -ao | + | CMDLINE="mplayer -fs -vo xv -ao alsa -cache 4096 -slave -nolirc -idx" |
− | DISPLAY=:0.0 $CMDLINE "$1" | + | DISPLAY=:0.0 $CMDLINE "$1" |
exit | exit | ||
</pre> | </pre> | ||
+ | |||
+ | 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. | ||
+ | |||
====Xine mit VDR starten==== | ====Xine mit VDR starten==== | ||
Zeile 252: | Zeile 211: | ||
| mpeg2enc -f 0 -a 2 -q 1 -n p -T 120 -R 2 -g 12 -G 12 -o <NAME>.mpg | | 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] --> | ||
# [http://xinehq.de Xine Projekt Homepage] | # [http://xinehq.de Xine Projekt Homepage] | ||
− | |||
− | |||
# [[Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player]] | # [[Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player]] | ||
− | + | ||
− | [[Kategorie:Plugins]] | + | [[Kategorie:Veraltete Plugins]] |
+ | <!-- | ||
+ | [[Kategorie:Ausgabe-Plugins]] | ||
[[Kategorie:Budget-Only_Systeme]] | [[Kategorie:Budget-Only_Systeme]] | ||
+ | --> | ||
{{i18n|xine-plugin}} | {{i18n|xine-plugin}} |
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
[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.