vdr-sxfe: Das unbekannte Wesen....

  • Hallo Gemeinde,


    irgendwie habe noch nicht den richtigen Durchblick :schiel in Bezug auf das xineliboutput plugin. Wenn dieses Plugin auf dem Server im Keller läuft, kann man einen Player (welchen ??) der auf einem anderen Rechner läuft, verbinden und hat so die volle VDR-OSD Funktionalität oder wie ?
    Und was versteht man unter vdr-sxfe, ist das ein autarkes Programm so wie ein Player oder nur eine besondere Art VDR zu starten ?


    Welchen Client sollte man nutzen, bzw. welcher Client ist am besten geeignet unter Linux ääähhhmm Kanotix :D


    Ganz leise frag: Gibt es sowas auch für SuSE ? :versteck

    Gruß,
    Dietmar


    Client: Shuttle XPc SK43G - VIAKM400 Sempron 2500+ 512MB - SATA 120GB - TT Rev. 1.3 Yamaha RX V350 Gen2vdr 1.2 , pico-AV Board mit AC3, ACPI
    Server: Athlon 1GHz 512MB ACPI TT Rev. 2.3 + Nova S Gen2vdr 1.2 sowie MVP(H4) & vompserver

    Einmal editiert, zuletzt von dietmar ()

  • xineliboutput hat zwei Betriebsarten: Das 'local frontend' startet als VDR-Plugin zusammen mit dem VDR, und das 'remote frontend' startet VDR erst mal blind (oder mit einem anderen Frontend / einer FF-Karte / etc), und erlaubt dann das Verbinden mit einem reinen Frontend-Programm (dh. vdr-fbfe, vdr-sxfe oder angepasste xine-Versionen) über das Netzwerk. Egal in welchem Modus, das OSD und das Videosignal wird immer zusammen ausgegeben. Verbindet sich ein Remote-Frontend, wird ein eventuell aktives lokales Forntend so lange inaktiv.


    Die -fbfe Frontends benutzen das Kernel Framebuffer Device, und brauchen daher keinen laufenden X-Server. Die -sxfe Frontends benutzen diverse Video-Erweiterungen des X-Servers, laufen als im Fenster des X-Server.


    Gruß,


    Udo

  • Zitat

    Original von Urig
    (dh. vdr-fbfe, vdr-sxfe oder angepasste xine-Versionen) über das Netzwerk. Egal in welchem Modus, das OSD und das Videosignal wird immer zusammen ausgegeben. Verbindet sich ein Remote-Frontend, wird ein eventuell aktives lokales Forntend so lange inaktiv.


    Die -fbfe Frontends benutzen das Kernel Framebuffer Device, und brauchen daher keinen laufenden X-Server. Die -sxfe Frontends benutzen diverse Video-Erweiterungen des X-Servers, laufen als im Fenster des X-Server.


    Zunächst mal Danke für die Info.
    Noch nicht ganz klar ist mir wie man von dem Client mit dem Server Kontakt aufnimmt, bzw. welche Software hierfür erforderlich ist. Ist das z.B. vdr-sxfe ?
    Wenn das xineliboutput plugin auf einem Server gestartet wird, braucht es also einen laufenden X-Server ? Oder hängt das vo der Parametrierung ab ?

    Gruß,
    Dietmar


    Client: Shuttle XPc SK43G - VIAKM400 Sempron 2500+ 512MB - SATA 120GB - TT Rev. 1.3 Yamaha RX V350 Gen2vdr 1.2 , pico-AV Board mit AC3, ACPI
    Server: Athlon 1GHz 512MB ACPI TT Rev. 2.3 + Nova S Gen2vdr 1.2 sowie MVP(H4) & vompserver

  • dietmar:


    vdr mit xineliboutput mit reinem remote frontend:
    vdr ... -P"xineliboutput -l none --remote=37890" ..


    auf dem remoteclient (in meinem fall verwende ich nur X nicht fb):
    ./vdr-sxfe xvdr://ip-des-vdr:37890


    voraussetzung: xine-libs - am client "xineplug_*.so" im "rundir", IP des clients in svdrphosts.conf -- weiterführende infos siehe xineliboutput-README/wiki - x-server wird bei vdr-sxfe benötigt


    so die theorie.


    Urig:
    so wie oben beschrieben starte ich xineliboutput und vdr-sxfe. vdr-sxfe findet auch den server und verbindet sich schön (via tcp). allerdings bekomme ich einfach kein bild am client. immer nur das "no signal" bild und auf der stdout:
    "[input_vdr] No data in 8 seconds, queuing no signal image"


    was mache ich falsch oder habe ich übersehen??


    bin dankbar für jeden weiterführenden hinweis!!!


    gruß, ciax

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    2 Mal editiert, zuletzt von ciax ()

  • Die tcp-Verbindung ist nur die Kontrollverbindung, die eigentliche Videoübertragung läuft per UDP im Multicast-Adressbreich, ich glaube über 224.0.1.9:37890 (Multicast, d.h. das ist die Sende- und Empfangsadresse gleichzeitig). Schau mal mit netstat o.ä. nach, ob Daten raus gehen, und ob sie auf dem Zielrechner ankommen. Eventuell stört eine Firewall, oder die Multicast-Unterstützung fehlt im Kernel.


    Sollte gar nichts gehen, kann man per Kommandozeile auch tcp-Verbindungen und klassische udp-Verbindungen auswählen, siehe "Available transports for video/audio" im README.


    Gruß,


    Udo

  • Urig


    Hallo.


    Kann es sein, das man für eine lokales Frontend auch die "Multicast-Unterstützung" im Kernel benötigt?


    Mein Problem ist, das ich zwar Aufnahmen anschauen kann, aber von der ss2 immer ein no signal bekomme.


  • Versuch doch mal mit weniger Plugins zu starten (?).
    Hintergrund:
    Ich habe mal easylinux mit xineliboutput und vdr-fbfe in einer VMware gestest, und das gleiche Verhalten gehabt wie bei dir.
    Bei deaktivieren fast aller Plugins funktionierte es dann (danach habe ich die Pluginliste wieder erweitert), ich habe mir damals nicht die Zeit genommen herauszufinden welches Plugin in Verbindung xineliboutput nicht funktionierte :( .

    1- yavdr 0.5 - DVB-C
    1- VDR-1.7.14 - Xine Pugin - XBMC - DVB-C
    2- Activy 300 mit Gen2VDR V2


  • Hallo Urig!


    Danke für deine Hinweise! In der Tat - zwischen Client und xineliboutput (vdr-Server) steht eine Firewall. Problem ist nur, daß ich keine Broadcasts bzw. Multicasts über diese propagieren kann (Client und Server liegen in unterschiedlichen Subnets - Multicast wird von der FW nicht unterstützt). Meine Versuche konnte ich aus diesem Grund bis jetzt nur via TCP unternehmen. Dabei werden auch 2 separate TCP-Connections "established" (Steuer und Datenkanal - Danke für den Verständnis-PushUp!). Totzdem kein Bild!


    Auch wenn ich UDP am vdr in der plugins-conf (für xineliboutput) aktiviere, wird leider kein UDP-Port auf meiner vdr-Box gebunden. Sonst bliebe ja noch der Weg über TCP (Steuer-) und UDP (Datenkanal).


    Auszug aus xineliboutput-README:
    ------------------------------------------------
    Available transports for video/audio


    --> udp Use UDP unicast for data and TCP for control.
    ------------------------------------------------


    Allgemein sollte "Multicast" im Kernel aktiviert sein - dies ist es normalerweise auch bei den gängigen Kernelversionen (in meinem Fall Ubuntu). Multicast-Router muß nicht dabei sein.


    vdrchuck: wenn alles nichts hilft, werde ich doch noch "try & error" probieren und einmal schauen, wie's ohne den ganzen anderen plugins läuft. Ich werde berichten..


    Danke an Euch! CiaX

  • Hallo nochmal!:


    Leider habe ich keinen Erfolg mit dem xinliboutput-Plugin. :evil: :weinen


    Urig:
    Ich habe mir die ganze Sache nochmal angesehen (zwecks Protokoll):


    vdr 1.4.4-2
    xineliboutput-1.0.0pre6 (inkl. cvs update im src-dir)


    varianten in xineliboutput plugin-conf:
    * nur tcp
    * nur udp
    * tcp + udp
    * tcp + udp + rtp (multicast geht ohnehin nicht über 'meine' FW)
    * announce "broadcast"


    --> kein Erfolg!


    TCP: client-aufruf: "vdr-sxfe xvdr:tcp://ip-des-vdr:37890" (--> control- und datastream werden via tcp aufgebaut und sind im "established state")


    --> "no signal"-Bild / [input_vdr] No data in 8 seconds, queuing no signal image


    syslog am vdr-server:
    ----------
    Dec 21 18:02:03 oldbox vdr: [17874] [xine..put] Data connection (TCP) requested
    Dec 21 18:02:03 oldbox vdr: [xine..put] cBackgroundWriter initialized (buffer 512 kb)
    ----------


    UDP: client-aufruf: "vdr-sxfe xvdr:udp://ip-des-vdr:37890" (--> controlstream wird via tcp aufbgebaut - datastream wird via udp vom vdr-server zum(!) client aufgebaut)


    --> "no signal" / [input_vdr] Data stream connected (UDP)


    syslog am vdr-server:
    ----------
    Dec 21 18:07:49 oldbox vdr: [17874] [xine..put] Trying UDP connection ...
    Dec 21 18:07:49 oldbox vdr: [17874] [xine..put] Client address: ip_des_clients
    Dec 21 18:07:49 oldbox vdr: [17874] [xine..put] setsockopt(SO_SNDBUF): got 210944 bytes
    ----------


    Das ganze Spiel wiederholte ich local am Server - genau der selbe Effekt!


    vdrchuck
    Ich habe auch deinen Ratschlag befolgt und alle plugins bis auf "remote" weggelassen - nep - geht nicht!


    Bin leider am Ende mit meinem Latein :( -- vielleicht liegt's noch an der Buffegröße, was ich aber nicht vermute.


    Ihr habt vermutlich auch keinen Hint mehr parat?!?


    CiaX

  • Frohes neues allerseits,


    also, mit kanotix klappt eigentlich alles ganz gut. Server im Keller läuft mit Gen2VDR und xine-plugin. Verbindung mit (kanotix)xine übers Netz kein Problem. Auf dem Client läuft Kanotix und e-tobi VDR, Verbindung mit xinliboutput und (Kanotix)xine läuft nicht (fehlendes Plugin, die Meldung die eigentlich immer kommt).
    Mit Suse geht gar nix, vermutlich falsche xine Version oder so.


    Nochmal meine Frage,

    Zitat

    Und was versteht man unter vdr-sxfe, ist das ein autarkes Programm so wie ein Player oder nur eine besondere Art VDR zu starten ?


    Woher weiß man welche Version von xine die richtige ist bzw. welche clients überhaupt möglich sind ? Und wie sieht die Situation für meine SuSE aus ?


    Vielleicht habe ich mich unklar ausgedrückt, auf dem betreffendenPC läuft gar kein VDR weil
    SuSE installiert ist. Daher brauche ich einen eigenständigen Client falls möglich.
    Denn bei mir gibt es kein VDR-SXFE ;( (Was auch immer das sein mag, die Frage ist noch ungeklärt)

    Tja ja, Fragen über Fragen.....

    Gruß,
    Dietmar


    Client: Shuttle XPc SK43G - VIAKM400 Sempron 2500+ 512MB - SATA 120GB - TT Rev. 1.3 Yamaha RX V350 Gen2vdr 1.2 , pico-AV Board mit AC3, ACPI
    Server: Athlon 1GHz 512MB ACPI TT Rev. 2.3 + Nova S Gen2vdr 1.2 sowie MVP(H4) & vompserver

    Einmal editiert, zuletzt von dietmar ()

  • Um es noch einmal klar zusammen zu fassen: vdr-sxfe und vdr-fbfe sind eigenständige Programme, die auf der xine-lib und auf dem xine-Plugin 'xvdr' aufsetzen.


    Ich verwende bei mir durchgehend libxine-1.1.1 (und die dazugehörige -dev) aus fertigen Binärpaketen, und kopiere daher folgende Dateien aus dem xineliboutput-Pluginverzeichnis auf die jeweiligen Zielrechner:


    xineplug_inp_xvdr.so => /usr/lib/xine/plugins/1.1.1/
    xineplug_post_autocrop.so => /usr/lib/xine/plugins/1.1.1/post/
    vdr-fbfe => /usr/local/bin/
    vdr-sxfe => /usr/local/bin/


    Die genaue Position von /usr/lib/xine/plugins/1.1.1/ kann sich je nach System unterscheiden, und Binärkompatibilität zu verschiedenen xine-Versionen und Distributionen würde ich mal nicht erwarten.


    Gruß,


    Udo

  • Ich will nicht sagen , dass ich es besser kann aber da ich gerade
    selber xinelibout anteste und erst nach verzweifelten
    2 Stunden nen Bild bekam aber WIKI und README kann man
    knicken. ;)
    VDR "MUSS" man mit Parameter "-l none" starten und die
    Autodetection im Makefile sollte man weglassen.
    Stattdessen einfach nur nen CLIENT=1 bzw. SERVER=1 .
    Damit erspart man sich das fehlerhafte Kompilieren , wenn libxine
    auffen Server drauf ist aber eben nicht die geeignete Version.
    Wobei man libxine fuer den Server net braucht. etc. hier laeuft es jetzt ;)


    Vielleicht hilft ja die Kurzanleitung einigen (Server/Client),
    speziell fuer Kanotix rc4:
    Serverseite mit 1 x FF-Karte:
    ==================
    Vorm Kompilieren vom Plugin im Makefile aendern:
    XINELIBOUTPUT_X11= 0
    XINELIBOUTPUT_FB = 0
    XINELIBOUTPUT_XINEPLUGIN = 0


    VDR starten mit :
    ./vdr -P'xineliboutput -l none'


    Dann im OSD Einstellungen machen (Client erlauben , Nur TCP ist interessant)


    Clientseite:
    Kanotix Live-CD starten , auf VDR klicken,
    IP aendern (muss die vom Server sein ;)) ,
    dann auf obersten Eintrag xineplayer klicken.
    Wenn "No signal" erscheint , dann noch auffen Server unter
    Einstellungen/DVB das Device umschalten und uebers Bild freuen. :D

  • Vielen Dank für eure Antworten, nun hab ich´s doch noch verstanden !

    Gruß,
    Dietmar


    Client: Shuttle XPc SK43G - VIAKM400 Sempron 2500+ 512MB - SATA 120GB - TT Rev. 1.3 Yamaha RX V350 Gen2vdr 1.2 , pico-AV Board mit AC3, ACPI
    Server: Athlon 1GHz 512MB ACPI TT Rev. 2.3 + Nova S Gen2vdr 1.2 sowie MVP(H4) & vompserver

  • Zitat

    Original von Morone
    Wenn "No signal" erscheint , dann noch auffen Server unter
    Einstellungen/DVB das Device umschalten und uebers Bild freuen. :D


    das war'S Morone! :monster1


    sollte unbedingt ins WIKI!


    ciax


    ps: da sucht man an stellen .. und dann sowas! :]

  • dank(!) für das xineliboutput-plug .. funktioniert nun (nach einem stück recherche) ziemlich ok, wenn auch nicht voll stabil (--> osd (client-abstürze bei "tcp" remote-keyboardbedienung..insb.bei setup/dvb-dev wechsel) - aber das kann woanders liegen -> XKeySym./remote.conf)


    also noch kurz mein beitrag ..


    udp: läuft nicht wirklich gut (buffer > 30Kb error / udpsched - am server .. 'core' nach dieser meldung am client- egal)


    tcp: wie Morone beschrieben + Urig's hints zu den libs!


    bei mir mit:
    xinelib 1.1.1 am server (plug damit compiliert - 1.0.0pre7).
    xinelib 1.1.2 am client (frontends - libs)


    @FW/Subnets/NAT


    damit macht xinliboutput ziemlich probleme ..


    zwischen subnets (server & client in unterschdl. nets) darf kein NAT über FWs laufen. das vereinbaren der sockets (data-/controlchannel) dürfte wohl "native" im protokoll implementiert sein? die 2 netze sollten sich via routing kennen..

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    Einmal editiert, zuletzt von ciax ()

  • hallo, da bin ich nochmal.


    leider muß ich meine erfolgsbotschaft bzgl. xineliboutput-plug revidieren. :weinen


    der tcp-stream wird schön aufgebaut. auch das OSD ist sichtbar und man kann via keyboard in ihm steuern. allerdings stürzt der client "vdr-sxfe" bei jeglicher 'härteren' aktion im osd mit einem core-dump ab.


    was immer zu einem absturz führt, ist wenn per keyboard ein senderwechsel durchgeführt wird. aber nicht nur das - wenn per remote am originalen vdr (server) der sender gewechselt wird (ohne aktion am vdr-sxfe client), stürzt der client auch komplett mit "core dump" ab.


    meine genutzten versionen sind weiter oben beschrieben. ich hab leider keine ahnung, welches schräubchen ich noch drehen kann, um dieses plugin funktionstüchtig zu machen.


    so nebenbei: mit streamdev zu streamen macht kein problem (ist aber nicht sonderlich konfortabel).


    für weiterführende hilfe wäre ich sehr dankbar!! :schiel

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    Einmal editiert, zuletzt von ciax ()

  • .. nach langem hin und her, läuft's nun letztendlich! :lol2




    alle meine geschilderten probs, lagen daran, daß xineliboutput nicht sonderlich tolerant gegenüber unterschiedlichen xinelibs ist - es ist meinen erfahrungen zufolge nötig, den client [(hier: "vdr-sxfe") compiliert am server (vdr) mit 'xinelib-version-xy'] auch am client-pc unter installierter 'xinelib-version-xy' laufen zu lassen [-- getestet zwischen ubuntu "edgy eft"-server <-> -client == yes ;D / zwischen ubuntu "edgy eft" (client) <--> "dapper" (server) == no ;( --]


    client via tcp -- funkt!
    client via udp -- stürzt oft ab (liegt event. auch an Netz-BB -- buffer leer/handling)


    vielleicht hilft's ja jemanden :]



    Urig:


    du hast's eh schon beschrieben (hier nun eine "praktische unterlegung" :) :(




    .. das mit dem Subets/NAT(oben erwähnt) trifft allerdings schon zu - dieser thread wäre für mich "gelöst" und könnte geschlossen werden (wenn auch dietmar zustimmt)

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    Einmal editiert, zuletzt von ciax ()

  • Hi ihr xineliboutput Experten. Bei mir läuft eigentlich alles super. am Server starte ich VDR mit:

    Code
    /usr/local/bin/vdr -L /usr/local/src/VDR/PLUGINS/lib/ -c /etc/vdr -E /var/vdr -P "xineliboutput --local=none --remote=37890" -P "streamdev-server" -P "epgsearch" 2> /dev/null &


    Am Client verwende ich:

    Code
    xine "xvdr:udp://server.int#nocache;demux:mpeg_block"


    Funzt eigentlich super!
    Nur habe ich ein sonderbares Problem. Wenn ich so einen halben Tag nicht schaue und ich versuche dann wieder xine zu starten mit genanntem Befehl, dann meldet Xine stets: "No Signal"
    Wenn ich dann VDR stoppe und wieder starte gehts wieder einwandfrei.
    In den Logs steht wenns geht:

    Code
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] Client 0 connected: 192.168.0.9:34399
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] cxSocket: setsockopt(SO_SNDBUF): got 227328 bytes
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] Trying UDP connection ...
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] Client address: 192.168.0.9
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] setsockopt(SO_SNDBUF): got 227328 bytes


    Wenns nicht geht kommt er nur bis:

    Code
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] Client 0 connected: 192.168.0.9:34399
    Jul 15 13:50:48 linux vdr: [22923] [xine..put] cxSocket: setsockopt(SO_SNDBUF): got 227328 bytes


    aber Fehler kommt keiner. Weiss wer woran das liegen kann.


    Hatte das schonmal wer, oder weiss worans liegen kann?


    Danke
    Stolzi

    VDR Server auf Suse 10.1 mit 2 Budget "Skystar 2" und streamdev-server Plugin
    Clients auf Suse 10.2 mit VDR, streamdev-client Plugin und xineliboutput Plugin

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!