[Plugin-Idee] Platformunbhaengiges Remoteosd

  • Hallo,


    ich habe zur Zeit das Problem, dass ich auf Plattformen auf denen VDR nicht laeuft (z.B. Windows :unsch) keine ordentlichen Clients zur Bedienung oder gar Nutzung meines VDR-Servers existieren.


    Bisher gibt es wohl folgende Moeglichkeiten:
    * xineliboutput mit Cygwin (kompliziert, schlechte Performance/Qualitaet)
    * ffnetdev -> VLC mit Remoteosd (VNC) (bei mir sehr unstable)



    Meine Idee:
    Ein Plugin fuer den VDR, dass die OSD-Ausgaben in einem eigenem Protokoll ueber das Netzwerk weitergibt.
    Auf Client-Seite gibt es dann eine Anwendung, welche dieses Protokoll entsprechend in Ausgaben umsetzt.


    Vorteile dieser Loesung:
    Der Client kann in einer plattformunabhaengigen Programmiersprache wie Java geschrieben werden. Denkbar ist auch die Steuerung ueber mobile Geraet wie Handys mit WLan oder PocketPCs.
    Die Darstellung koennte wesentlich aufwendiger/huebscher gestalltet werden als auf dem VDR selbst, sofern die entsprechenden Ressourcen zur Verfuegung stehen -> Man ist nicht auf geringe Farbtiefen beschraenkt. Auch Effekte zum Einblenden des OSD o.ae. waere denkbar.


    In einer weiteren Ausbaustufe koennte man evtl. sogar versuchen Mauseingaben auf dem Client zu interpretieren und diese an den VDR zu senden.


    Nachteile dieser Loesung:
    Das Protokoll im Plugin und auch der Client muessten staendig angepasst werden, um mit der aktuellen VDR-Version zu funktionieren (oder aendert sich am OSD nicht allzu haeufig etwas?).
    Man benoetigt mehrere Plugins um das Remoteosd mit dem Live-Bild darzustellen. Z.B. xineliboutput fuer den Stream des Bildes und dann eben das hier beschriebene Plugin fuer die OSD-Ausgabe.





    Was haltet ihr von dieser Idee? Seht ihr einen Sinn in einem solchen Plugin, oder sagt ihr, dass euch die vorhandenen Loesungen ausreichen?



    MfG,
    fish

    Streaming-Server: Hardware: Via C7 1.5GHz, 1GBRam, FF 1.3, 750GB verschluesselt
    Software: Debian Testing, VDR 1.6.0 - 24h/7 Betrieb


    Samsung SMT-7020S als Streaming-Client

  • Ich denke dass das control-plugin ausreichend ist für diesen Bedarf. Dazu wird nur putty benötigt. Putty läuft sogar auf meinem Handy.

    <font color="#0000ff">Gigabyte P35-DS3, Pentium E2140, GT220, 2 x DVB-C im Thermaltake DH101<br>gen2vdr V3 &amp; yaVDR 0.3.0a <br></font>

  • ... und falls Du telnet nicht magst, installierst Du auf dem Server das svdrpext-Plugin. Das ist der Server-Teil für das remoteosd-Plugin, mit dem VDR-Clients auf das Menü eines VDR-Servers zugreifen können. Svdrpext liefert Dir das OSD-Menü über SVDRP. Genau wie bei der telnet-Variante funktionieren graphische Menüs wie z.B. bei femon natürlich nicht. Ein paar Menüs sind in svdrpext mangels Bedarf nicht implementiert. Dazu gehören z.B. das Audio-Spur- und das Lautstärke-Menü.

  • Mir ging es vor allem darum, dass ganze optisch ansprechend zu gestalten, um z.B. eine Integration in einen Windows HTPC zu ermoeglichen, ohne auf dem Full-HD Fernseher telnet darstellen zu muessen.

    Streaming-Server: Hardware: Via C7 1.5GHz, 1GBRam, FF 1.3, 750GB verschluesselt
    Software: Debian Testing, VDR 1.6.0 - 24h/7 Betrieb


    Samsung SMT-7020S als Streaming-Client

  • Hallo Forum,


    ich fände einen Ansatz ganz interessant mit dem man das OSD als Web-Seiten im Browser darstellt. Gibt's das schon?


    Würde ich mir neben das Live-plugin bookmarken :)


    Viele Grüße,
    Bernd

    VDR "headless" Server:

    • Whitebox mit Supermicro X10SLL+-F, Xeon Prozessor, 16 GB RAM als ESXi Host, Debian VM für VDR, Digital Devices Cine S2 mit VT-d Passthrough an die VM
    • Debian, VDR 2.2 mit epgsearch, streamdev-server und live Plugins

    Client: Laptop, Windows und OS X, VLC Media Player

  • Zitat

    ich fände einen Ansatz ganz interessant mit dem man das OSD als Web-Seiten im Browser darstellt. Gibt's das schon?


    Meines Wissens nein. Sollte in Kombination mit svdrpext aber ein leichtes sein, das mit ein bisschen perl/PHP/was auch immer hinzubekommen. Falls jemand ernsthaftes Interesse hat das zu entwickeln, vielleicht vorher mit mir kurzschließen. Ich beabsichtige eine neue Version von svdrpext zu machen in der die Kommunikation effizienter wird - wäre sicherlich sinnvoll, gleich die neue Version zu berücksichtigen.

  • Zitat

    Original von schmirl


    Meines Wissens nein. Sollte in Kombination mit svdrpext aber ein leichtes sein, das mit ein bisschen perl/PHP/was auch immer hinzubekommen. Falls jemand ernsthaftes Interesse hat das zu entwickeln, vielleicht vorher mit mir kurzschließen. Ich beabsichtige eine neue Version von svdrpext zu machen in der die Kommunikation effizienter wird - wäre sicherlich sinnvoll, gleich die neue Version zu berücksichtigen.


    Stimmt, ein gutes Webinterface waere sicher auch etwas feines. Kannst du mir vielleicht deine aktuellste Version von svdrpext zukommen lassen, evtl. gucke ich mir dass mal an.


    MfG,
    fish

    Streaming-Server: Hardware: Via C7 1.5GHz, 1GBRam, FF 1.3, 750GB verschluesselt
    Software: Debian Testing, VDR 1.6.0 - 24h/7 Betrieb


    Samsung SMT-7020S als Streaming-Client

  • Zitat

    Kannst du mir vielleicht deine aktuellste Version von svdrpext zukommen lassen, evtl. gucke ich mir dass mal an.


    Die gibt's noch nicht :P
    In der jetzigen Version (0.0.1) musst Du Dir alle Komponenten einzeln abholen:

    Code
    PLUG svdrpext OSDT (für den Titel)
    PLUG svdrpext OSDI (für die ganzen Zeilen)
    PLUG svdrpext OSDM (für Statusmeldungen)
    PLUG svdrpext OSDH (für die Hilfe-Buttons)
    PLUG svdrpext OSDX (für Textblöcke)


    In der nächsten Version soll es einen Befehl geben, bei dem alles auf einen Rutsch ausgegeben wird (PLUG svdrpext LSTO). Das wird die Kommunikation deutlich beschleunigen. Um was es sich bei den einzelnen Zeilen handelt, wird über einen Präfix angegeben (so wie es bei OSDI und OSDH jetzt schon ist).

    • T: Titel
    • C: Spalten (Position der Tabs)
    • I: Nicht ausgewählte Menü-Zeile
    • S: Ausgewählte Menü-Zeile
    • M: Statusmeldung
    • R/G/Y/B: Button-Text rot/grün/gelb/blau
    • X: Textblock


    Was noch fehlt (Lautstärke, Kanal-Info mit laufendem/nächsten Programm, Wiedergabe Fortschrittsanzeige) kann bei Bedarf natürlich ergänzt werden.


    Was alles nicht funktioniert und zu beachten ist:

    • immer nur eine SVDRP-Verbindung möglich
    • keine graphischen Menüs (z.B. femon)
    • Bei Anzeige eines EPG-Eintrags (Info Taste) fehlen Titel/Untertitel/Uhrzeiten - ist ein Problem der VDR Status-Schnittstelle und dürfte damit auch z.B. das control-Plugin betreffen
    • Ob eine Menü-Zeile auswählbar ist oder nicht, wird über die Status-Schnittstelle ebenfalls nicht mitgeteilt. Kann auf der Weboberfläche also nicht anders als auswählbare Einträge dargestellt werden. Um wieviele Einträge ein "Taste nach unten" tatsächlich nach unten springt, ist aufgrund dieser Tatsache undefiniert. Nach jedem Tastendruck muss daher das Menü neu aufgebaut werden.
    • Zwischen dem Senden eines Tastendrucks bis zum Abfragen des neuen OSD-Inhalts muss eine 10ms lange Pause liegen. 10ms ist der Timeout den VDR auf den nächsten SVDRP-Befehl wartet. Erst nach Ablauf des Timeouts läuft die Verarbeitungsschleife weiter und der zuvor gesendete Tastendruck wird tatsächlich verarbeitet.
  • Ich würde (wenn ich könnte) eher bei ffnetdev weitermachen.
    Ich finde das es bis jetzt die beste Variante ist, man braucht nur ein Plugin auf der VDR Seite und auf der Client Seite einen VLC (bei dem das passende Plugin mittlerweile dabei ist und den es auch für andere Platformen gibt).
    Was bringt es wenn es noch ein Streaming Plugin gibt? Dann haben wir im am Ende x-verschiedene Plugins und keines funktionert so recht.
    Bei mir läuft ffnetdev ganz gut, nur Spulen funktioniert nicht und andere Audiospuren kann ich auch nicht auswählen.
    Mit der zuverlässigkeit hab ich keine Probleme.


    just my 2 cents...
    KiLLERHOLiC

    Octopus Net S2 + DuoFlex S2
    VDR-2.3.8, Plugins: EPG-Search, VNSI-Server, satip

  • Zitat

    Was bringt es wenn es noch ein Streaming Plugin gibt?


    Wieso denn Streaming-Plugin? Hier geht es nicht darum etwas zu streamen, sondern Zugriff auf das OSD zu bekommen. Nun kann ffnetdev zwar das OSD übermitteln, genau wie xineliboutput gibt es aber auch hier wieder das Problem, dass es nicht möglich ist, mehrere unabhängige Clients gleichzeitig daran betreiben zu können.


    Ergo: Solange VDR nur ein Primary-Device für die Ausgabe kennt und es nicht möglich ist das OSD mehrfach zu öffnen, gibt es bei Multi-Client keine Alternative.

  • ok, daran hab ich nicht gedacht da ich soetwas nicht benötige.
    aber wie soll das funktionieren? der vdr hat nur ein osd, wenn ich (rein theoretisch) mehrere clients habe die gleichzeitig auf das osd zugreifen steuert man ja trotzdem nur das eine osd des vdr an.
    somit funken sich die clients gegenseitig immer rein.

    Octopus Net S2 + DuoFlex S2
    VDR-2.3.8, Plugins: EPG-Search, VNSI-Server, satip

Jetzt mitmachen!

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