Xineliboutput-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Tipps zu Zendeb/Zenslack für SMT-7020s)
K (Tastaturbeispiel (remote.conf) für vdr-sxfe und vdr-fbfe)
 
(26 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
'''Autor:''' Petri Hintukainen
 
'''Autor:''' Petri Hintukainen
  
Einfaches Framebuffer- und/oder X11-Front-end für VDR. (zeigt OSD und Video in ''roh'' X/[[Xv]]/[[XvMC]] ''Fenster'' oder Linux framebuffer/DirectFB/vidxfb oder [[Dxr3|Dxr3 Karte]]).
+
Ein einfaches Ausgabe-Plugin für VDR mit Unterstützung für lokale und entfernte Clients.
  
Unterstützung für lokale und entfernte Frontends, z. B. mit vdr-sxfe oder VLC. Generiert einen http Stream auf Port 37890.
+
===Status===
 +
Letztes Update 08/2013
  
Built-in Bild- und Medienwiedergabe für die meisten bekannten Formate (avi/mp3/divx/jpeg/...) sowie Netzwerk Audio/Video Streams (http, rtsp, ...) direkt im VDR.
+
===Detaillierte Beschreibung===
 +
Als Clients können z.B. das mitgelieferte vdr-sxfe oder VLC mit dem Plugin zusammen arbeiten. Ebenso generiert xineliboutput einen http Stream auf Port 37890.
  
<!-- ===Status=== -->
+
Zusätzlich spielt das Plugin über die integrierte Bild- und Medienwiedergabe die Formate wie avi, mp3, divx, jpeg sowie Netzwerk Streams (http, rtsp, ...) direkt im VDR.
  
 
==Bilder==
 
==Bilder==
 
{|
 
{|
|[[Bild:xineliboutput-plugin-00.jpg|thumb|none|''kurze beschreibung'']]
+
|[[Bild:xineliboutput-plugin-00.jpg|thumb|none|''xinelibout als Ausgabe-Plugin'']]
 
|}
 
|}
  
Zeile 94: Zeile 96:
 
===Tastaturbeispiel (remote.conf) für vdr-sxfe und vdr-fbfe===
 
===Tastaturbeispiel (remote.conf) für vdr-sxfe und vdr-fbfe===
 
Die Tastatureingabe funktioniert auch am Client, sowohl vdr-sxfe und vdr-fbfe (Framebuffer) bei c't- (e-tobi), Kanotix-, Sidux- und Debian-VDR.
 
Die Tastatureingabe funktioniert auch am Client, sowohl vdr-sxfe und vdr-fbfe (Framebuffer) bei c't- (e-tobi), Kanotix-, Sidux- und Debian-VDR.
'''/var/lib/vdr/remote.conf'''
+
'''[[Struktur|$VDRCONFIG]]/[[remote.conf]]'''
  
 
XKeySym.... wird für vdr-sxfe (X11) benötigt.
 
XKeySym.... wird für vdr-sxfe (X11) benötigt.
Zeile 168: Zeile 170:
 
}}
 
}}
  
<!-- ===[[SVDRP]] Befehle=== -->
+
====Syntax für <tt>XKeySym</tt> Zeilen====
  
==Hardwareanforderungen==
+
Um '''Metatasten''', wie Alt und/oder Control zu nutzen, ist vor die Namen jeweils <tt>Alt+</tt> bzw. <tt>Ctrl+</tt> zu setzen. Beispiel:
* Genügend CPU-Leistung und Hauptspeicher um Streams zu dekodieren (PII 400 MHz + 64 MB sollte für [[Xv]] oder [http://www.directfb.org DirectFB] ausreichen).
+
  
==Softwareanforderungen==
+
<pre>
* vdr '''>= 1.3.42'''
+
XKeySym.Power      Alt+Ctrl+x
* xine-lib '''>= 1.1.1'''
+
XKeySym.FastFwd    Ctrl+Right
 +
XKeySym.FastRew    Ctrl+Left
 +
</pre>
  
==Installation==
+
Shift wird derzeit nicht unterstützt.
* XINE-lib
+
cd $SOURCEDIR
+
tar xvzf xine-lib-<VERSION>.tar.gz
+
cd xine-lib-<VERSION>
+
./autogen.sh --prefix=/usr/local
+
make
+
make install
+
ldconfig
+
  
Für Rpm-basierte Systeme empfiehlt sich diese Vorgehensweise (getestet mit OpenSuse 10.1, ARCH=x86_64 und VERSION=1.1.2):
+
Eine Liste mit gültigen <tt>XKeySym</tt> '''Tastennamen für Funktionstasten''' findet man in der Datei <tt>keysymdef.h</tt>, die üblicherweise unter <tt>/usr/include/X11/</tt> liegt, aber auch im Netz zu finden ist. Dabei ist jeweils das <tt>XK_</tt> Präfix wegzulassen.
  
rpmbuild -ta xine-lib-<VERSION>.tar.gz
+
Zu beachten ist weiterhin, dass bei allen "normalen" Tasten, die keine Buchstaben sind, der '''Unicode-Name''' des Zeichens zu verwenden ist und nicht das jeweilige Textzeichen. Beispiel:
rpm -ihv /usr/src/packages/RPMS/<ARCH>/libxine1-<VERSION>-0.<ARCH>.rpm
+
rpm -ihv /usr/src/packages/RPMS/<ARCH>/libxine1-devel-<VERSION>-0.<ARCH>.rpm
+
  
Die länglichen Dateinamen der Rpms kann man sich aus den letzten Zeilen der Ausgabe von rpmbuild kopieren.
+
<pre>
 +
XKeySym.Volume+    plus
 +
XKeySym.Volume-    minus
 +
</pre>
  
* Für lokale X oder Framebuffer frontends muss libxineliboutput-sxfe oder ...-fbfe installiert werden
+
==Softwareanforderungen==
 +
* libxine
  
===Optionen===
+
==Installation==
 +
===Makefile Optionen===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Zeile 210: Zeile 208:
 
|}
 
|}
  
<!-- ===Patches=== -->
+
==Konfiguration==
 +
 
 +
Dieses Plugin erstellt ein DVB-Interface (Menü -> Einstellungen -> DVB -> Primäres DVB-Interface). Dieses DVB-Interface muss ausgewählt sein, damit die Frontends ein Bildsignal erhalten können. Falls unter Primäres DVB-Interface ein anderes Ausgabe-Gerät oder Ausgabe-Plugin ausgewählt wurde, sollte im Client in roter Schrift "no signal" erscheinen.
  
==Konfiguration==
 
<!-- ===Einstellungen=== -->
 
Dieses Plugin erstellt ein DVB-Interface (Menü -> Einstellungen -> DVB -> Primäres DVB-Interface). Dieses DVB-Interface muss ausgewählt sein, damit die Frontends ein Bildsignal erhalten können. Falls unter Primäres DVB-Interface ein anderes Gerät (z. B. die FF-Karte) ausgewählt wurde, erscheint im Frontend in roter Schrift "no signal".
 
 
===remote client Zugriff===
 
===remote client Zugriff===
Damit der Remote-Zugriff eines Clients funktioniert, ist in der '''svdrphosts.conf''' die IP des Servers einzutragen.
+
{{Box Hinweis|Damit der Remote-Zugriff eines Clients funktioniert, muss die IP-Adresse oder der IP-Adressbereich des Clients in der '''svdrphosts.conf''' des VDR eingetragen werden.}}
  
 
===Parameter===
 
===Parameter===
Zeile 232: Zeile 229:
 
| -A NAME || --audio=NAME          || Benutze Audiotreiber NAME<br>Unterstützte Werte:<br>auto, alsa, oss, arts, esound, none
 
| -A NAME || --audio=NAME          || Benutze Audiotreiber NAME<br>Unterstützte Werte:<br>auto, alsa, oss, arts, esound, none
 
|-
 
|-
| -V NAME || --video=NAME          || Benutze Videotreiber NAME<br>Unterstützte Werte:<br>für sxfe: auto, x11, xshm, [[Xv|xv]], [[XvMC|xvmc]], [[XvMC|xxmc]], vidix, XDirectFB, opengl, sdl,  none<br>für fbfe: auto, fb, DirectFB, sdl, vidixfb, dxr3, aadxr3, none
+
| -V NAME || --video=NAME          || Benutze Videotreiber NAME<br>Unterstützte Werte:<br>für sxfe: auto, x11, xshm, Xv, xvmc, xxmc, vidix, XDirectFB, opengl, sdl,  none<br>für fbfe: auto, fb, DirectFB, sdl, vidixfb, dxr3, aadxr3, none
 
|-
 
|-
 
| -f      || --fullscreen          || Vollbild(schirm)-Modus (X11)
 
| -f      || --fullscreen          || Vollbild(schirm)-Modus (X11)
Zeile 258: Zeile 255:
  
 
=== setup.conf Beispiel ===
 
=== setup.conf Beispiel ===
 
+
setup.conf Beispiel für korrekt angezeigtes und transparentes OSD, bei Kanäle mit anamorphen Signal für vdr-sxfe und vdr-fbfe.
setup.conf Beispiel für korrekt angezeigtes und transparentes OSD, bei Kanäle mit anamorphen Signal  
+
 
+
für vdr-sxfe und vdr-fbfe Playern,
+
 
+
bei xine-ui, kaffeine, ... wird das nie funktionieren, da der Autor Petri diese nicht unterstützt.
+
  
 
{{Box Datei| setup.conf file |
 
{{Box Datei| setup.conf file |
Zeile 286: Zeile 278:
  
 
=== vdr-sxfe starten ===
 
=== vdr-sxfe starten ===
vdr-sxfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr:tcp://ip.des.vdr.servers
 
 
Sollte eine Fehlermeldung ähnlich <code>fe_xine_open: xine_open("xvdr:+cp://127.0.0.1#nocache;demux:mpeg_block") failed</code> (anstelle von xvdr:tcp erscheint xvdr:'''+'''cp) erscheinen, handelt es sich um eine andere (neuere?) Verison des Plugins, für welche laut Hilfe folgende Syntax gilt:
 
 
Usage: vdr-sxfe [options] [xvdr[+udp|+tcp|+rtp]:[//host[:port]]]
 
 
Also lautet obiger Aufruf:
 
 
 
  vdr-sxfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr+tcp://ip.des.vdr.servers
 
  vdr-sxfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr+tcp://ip.des.vdr.servers
  
Zeile 302: Zeile 286:
 
  reset
 
  reset
  
==Sonstiges==
+
==Entwicklerversion==
<!-- ===Probleme=== -->
+
cvs -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
===Tipps===
+
====Audio-Aussetzer bei SMT-7020s====
+
Bei einigen VDR-Distributionen (Zenslack und Zendeb) und Verwendung bestimmter Hardware (Samsung SMT-7020s) treten gelegentliche, sehr kurze Audio-Aussetzer bei Verwendung von UDP auf. Der Workaround besteht darin, vdr-sxfe nicht mit udp, sondern mit tcp aufzurufen.
+
 
+
Möglicherweise sind auch andere VDR-Distributionen auf anderer Hardware davon betroffen.
+
  
<!-- ===Wunschliste=== -->
+
git clone git://git.code.sf.net/p/xineliboutput/git xineliboutput-git
  
===CVS Snapshot===
+
==Aktuelle Version==
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
+
# [http://sourceforge.net/projects/xineliboutput/files/xineliboutput/vdr-xineliboutput-1.1.0/vdr-xineliboutput-1.1.0.tgz/download 1.1.0]
 +
# [http://phivdr.dyndns.org/vdr/vdr-xineliboutput 2.0.0 pre1]
  
 
==Links==
 
==Links==
# [http://sourceforge.net/projects/xineliboutput Homepage des Plugin]
+
# [http://sourceforge.net/projects/xineliboutput Homepage des Plugins]
# [http://phivdr.dyndns.org/vdr Alte Homepage des Plugins] und [http://phivdr.dyndns.org/vdr/vdr-xineliboutput/README Alte README]
+
 
# [http://xinehq.de Xine Projekt Homepage]
 
# [http://xinehq.de Xine Projekt Homepage]
# [[Xv]], [[XvMC]]
 
  
 
[[Kategorie:Plugins]]
 
[[Kategorie:Plugins]]
 +
[[Kategorie:Ausgabe-Plugins]]
 
[[Kategorie:Budget-Only_Systeme]]
 
[[Kategorie:Budget-Only_Systeme]]
 
[[Kategorie:Streaming]]
 
[[Kategorie:Streaming]]
 +
[[Kategorie:Medienspieler-Plugins]]
 
{{i18n|xineliboutput-plugin}}
 
{{i18n|xineliboutput-plugin}}

Aktuelle Version vom 22. Dezember 2018, 17:47 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Petri Hintukainen

Ein einfaches Ausgabe-Plugin für VDR mit Unterstützung für lokale und entfernte Clients.

[Bearbeiten] Status

Letztes Update 08/2013

[Bearbeiten] Detaillierte Beschreibung

Als Clients können z.B. das mitgelieferte vdr-sxfe oder VLC mit dem Plugin zusammen arbeiten. Ebenso generiert xineliboutput einen http Stream auf Port 37890.

Zusätzlich spielt das Plugin über die integrierte Bild- und Medienwiedergabe die Formate wie avi, mp3, divx, jpeg sowie Netzwerk Streams (http, rtsp, ...) direkt im VDR.

[Bearbeiten] Bilder

xinelibout als Ausgabe-Plugin

[Bearbeiten] Bedienung

[Bearbeiten] Bild-Betrachter

Hoch/Runter Nächstes/Voriges Bild
Links/Rechts 5 Bilder vor/zurück springen
Gelb Aktuelles Bild löschen
Zurück Zurück zur Bildübersicht
Stop/Blau Bildbetrachter verlassen
Play Diaschau starten
Pause Diaschau benden
FastFF/FastRew Diaschau starten; Diaschau schneller/langsamer ; Diaschau vorwärts/rückwärts
Ok Anzeigemodus umschalten

[Bearbeiten] Medien Wiedergabe

Zurück Zurück zur Bildliste
Rot Springe zum Anfang der Datei (wenn es kein live-stream ist)
Grün Springe 1 Min. zurück
Gelb Springe 1 Min. vorwärts
Stop/Blau Wiedergabe anhalten (zurück in den Live-Modus)
User8 Springe 20 Sek. zurück
User9 Springe 20 Sek. vorwärts
1 Springe 10 Min. zurück
4 Springe 10 Min. vorwärts
3 Verschiebe Untertitel nach oben
6 Verschiebe Untertitel nach unten
Pause Pause
Play Abspielen
Umschalten zischen Wiedergabe- und Anzeige-Modus Ok

[Bearbeiten] Tastaturbeispiel (remote.conf) für vdr-sxfe und vdr-fbfe

Die Tastatureingabe funktioniert auch am Client, sowohl vdr-sxfe und vdr-fbfe (Framebuffer) bei c't- (e-tobi), Kanotix-, Sidux- und Debian-VDR. $VDRCONFIG/remote.conf

XKeySym.... wird für vdr-sxfe (X11) benötigt.

KBD.... wird für vdr-fbfe (Framebuffer) benötigt.

Datei
remote.conf file
KBD.Up         00000000001B5B41
KBD.Down       00000000001B5B42
KBD.Menu       000000000000006D
KBD.Ok         000000000000000D
KBD.Back       000000000000007F
KBD.Left       00000000001B5B44
KBD.Right      00000000001B5B43
KBD.Red        000000001B5B5B41
KBD.Green      000000001B5B5B42
KBD.Yellow     000000001B5B5B43
KBD.Blue       000000001B5B5B44
KBD.0          0000000000000030
KBD.1          0000000000000031
KBD.2          0000000000000032
KBD.3          0000000000000033
KBD.4          0000000000000034
KBD.5          0000000000000035
KBD.6          0000000000000036
KBD.7          0000000000000037
KBD.8          0000000000000038
KBD.9          0000000000000039
KBD.Info       0000000000000069
KBD.FastFwd    0000001B5B31377E
KBD.FastRew    000000001B5B5B45
KBD.Power      0000000000000070
KBD.Volume+    0000001B5B32347E
KBD.Volume-    0000001B5B32337E
KBD.Mute       0000001B5B32317E
KBD.User7      0000001B5B31387E
KBD.User8      0000001B5B31397E
KBD.User9      0000001B5B32307E
XKeySym.Up         Up
XKeySym.Down       Down
XKeySym.Menu       m
XKeySym.Ok         Return
XKeySym.Back       BackSpace
XKeySym.Left       Left
XKeySym.Right      Right
XKeySym.Red        F1
XKeySym.Green      F2
XKeySym.Yellow     F3
XKeySym.Blue       F4
XKeySym.0          0
XKeySym.1          1
XKeySym.2          2
XKeySym.3          3
XKeySym.4          4
XKeySym.5          5
XKeySym.6          6
XKeySym.7          7
XKeySym.8          8
XKeySym.9          9
XKeySym.Info       i
XKeySym.Pause      space
XKeySym.FastFwd    F6
XKeySym.FastRew    F5
XKeySym.Power      p
XKeySym.Volume+    F12
XKeySym.Volume-    F11
XKeySym.Mute       F10
XKeySym.User7      F7
XKeySym.User8      F8
XKeySym.User9      F9


[Bearbeiten] Syntax für XKeySym Zeilen

Um Metatasten, wie Alt und/oder Control zu nutzen, ist vor die Namen jeweils Alt+ bzw. Ctrl+ zu setzen. Beispiel:

XKeySym.Power      Alt+Ctrl+x
XKeySym.FastFwd    Ctrl+Right
XKeySym.FastRew    Ctrl+Left

Shift wird derzeit nicht unterstützt.

Eine Liste mit gültigen XKeySym Tastennamen für Funktionstasten findet man in der Datei keysymdef.h, die üblicherweise unter /usr/include/X11/ liegt, aber auch im Netz zu finden ist. Dabei ist jeweils das XK_ Präfix wegzulassen.

Zu beachten ist weiterhin, dass bei allen "normalen" Tasten, die keine Buchstaben sind, der Unicode-Name des Zeichens zu verwenden ist und nicht das jeweilige Textzeichen. Beispiel:

XKeySym.Volume+    plus
XKeySym.Volume-    minus

[Bearbeiten] Softwareanforderungen

  • libxine

[Bearbeiten] Installation

[Bearbeiten] Makefile Optionen

XINELIBOUTPUT_X11 = {0,1} X11 frontends erstellen ( Aus/An)
XINELIBOUTPUT_FB = {0,1} framebuffer frontends erstellen ( Aus/An)
XINELIBOUTPUT_XINEPLUGIN = {0,1} xine (input)plugin erstellen ( Aus/An)

[Bearbeiten] Konfiguration

Dieses Plugin erstellt ein DVB-Interface (Menü -> Einstellungen -> DVB -> Primäres DVB-Interface). Dieses DVB-Interface muss ausgewählt sein, damit die Frontends ein Bildsignal erhalten können. Falls unter Primäres DVB-Interface ein anderes Ausgabe-Gerät oder Ausgabe-Plugin ausgewählt wurde, sollte im Client in roter Schrift "no signal" erscheinen.

[Bearbeiten] remote client Zugriff

Hinweis
Hinweis

Damit der Remote-Zugriff eines Clients funktioniert, muss die IP-Adresse oder der IP-Adressbereich des Clients in der svdrphosts.conf des VDR eingetragen werden.


[Bearbeiten] Parameter

Folgende Kommandozeilenparameter gibt es

Parameter (kurz) Parameter (lang) Beschreibung
-l NAME --local=NAME Benutze lokales Frontend NAME
Unterstützte Frontends:
sxfe (X11)
fbfe (framebuffer)
none (nur fernbediente Frontends)
-r PORT --remote=PORT PORT für Client-Verbindungen (Voreinstellung 37890)
-A NAME --audio=NAME Benutze Audiotreiber NAME
Unterstützte Werte:
auto, alsa, oss, arts, esound, none
-V NAME --video=NAME Benutze Videotreiber NAME
Unterstützte Werte:
für sxfe: auto, x11, xshm, Xv, xvmc, xxmc, vidix, XDirectFB, opengl, sdl, none
für fbfe: auto, fb, DirectFB, sdl, vidixfb, dxr3, aadxr3, none
-f --fullscreen Vollbild(schirm)-Modus (X11)
-w --width=x Fenster mit WERT
-h --height=x Fenster mit WERT
-d DISP --display=DISP Benutze X11 Anzeige DISP (or framebuffer device name)
-P POST --post=POST Benutze Xine Post Plugin POST
Format: pluginname[:arg=val[,arg=val]][,...]
Beispiel: --post=upmix;tvtime:enabled=1,cheap_mode=1
-p --primary Force xineliboutput to be primary device when there are active frontend(s)
-c --exit-on-close Exit vdr when local frontend window is closed
-L --nolocal Kein lokales Frontend, nur fernbediente Frontends
-m M --modeline=M Use modeline M for local frontend
-k --xkeyboard X11 Tastatur in Benutzung (orginal: X11 keyboard in use / Vielleicht besser X11 Tastatur benutzen)
-R --noremote Kein Fernbedienungs-Client

[Bearbeiten] setup.conf Beispiel

setup.conf Beispiel für korrekt angezeigtes und transparentes OSD, bei Kanäle mit anamorphen Signal für vdr-sxfe und vdr-fbfe.

Datei
setup.conf file
xineliboutput.Frontend = 
xineliboutput.OSD.AlphaCorrection = 0
xineliboutput.OSD.AlphaCorrectionAbs = 0
xineliboutput.OSD.Downscale = 1
xineliboutput.OSD.HideMainMenu = 0
xineliboutput.OSD.Prescale = 1
xineliboutput.OSD.UnscaledAlways = 0
xineliboutput.OSD.UnscaledLowRes = 0
xineliboutput.OSD.UnscaledOpaque = 0
xineliboutput.Remote.UseBroadcast = 0
xineliboutput.Remote.UsePipe = 0
xineliboutput.Remote.UseRtp = 0
xineliboutput.Remote.UseTcp = 1
xineliboutput.Remote.UseUdp = 1
xineliboutput.RemoteMode = 1


[Bearbeiten] vdr-sxfe starten

vdr-sxfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr+tcp://ip.des.vdr.servers

[Bearbeiten] vdr-fbfe (Framebuffer) starten

fuser -k /dev/dsp &>/dev/null
clear
vdr-fbfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr:tcp://ip.des.vdr.servers &>/dev/null
reset

[Bearbeiten] Entwicklerversion

cvs -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
git clone git://git.code.sf.net/p/xineliboutput/git xineliboutput-git

[Bearbeiten] Aktuelle Version

  1. 1.1.0
  2. 2.0.0 pre1

[Bearbeiten] Links

  1. Homepage des Plugins
  2. Xine Projekt Homepage
In anderen Sprachen