[Announce] osd2web Plugin

  • auf einem anderen VDR läuft es hier mit 2.4.1 auch klaglos:


    Code
    Aug  7 11:02:46 vdr vdr: [1131] loading plugin: /usr/lib/vdr/plugins/libvdr-osd2web.so.2.4.1
    Aug  7 11:02:46 vdr vdr: [1131] initializing plugin: osd2web (0.2.51-GIT): osd2web plugin
    Aug  7 11:02:46 vdr vdr: [1131] starting plugin: osd2web
    Aug  7 11:02:46 vdr vdr: osd2web: osd2web plugin thread started (pid=1131)
    Aug  7 11:02:46 vdr vdr: osd2web: Listener at port (4444) established
    Aug  7 11:02:46 vdr vdr: osd2web: using libwebsocket version '2.4.1 unknown-build-hash'
    Aug  7 11:02:46 vdr vdr: osd2web: Starting '/var/lib/vdr/plugins/osd2web/startBrowser.sh'
    Aug  7 11:02:46 vdr vdr: osd2web: Started browser on display ':1.1', PID is (1181)
    Aug  7 11:02:46 vdr vdr: osd2web: Starting '/var/lib/vdr/plugins/osd2web/startBrowser.sh' with 'http://localhost:4444/skins'
  • Ich habe jetzt alte libwebsocket compiliert und vdr-osd2web, leider leuscht auch nichts auf dem port 4444 und seite kann auch nicht gefunden werden. Bin ich mir nicht sicher ob es an libwebsocket oder was anderes liegt.



    was hast Du in setup.conf von VDR?

  • Code
    root@vdr~> grep osd2web /etc/vdr/setup.conf  
    osd2web.DiaCycle = 6
    osd2web.DiaPathCurrent = /var/lib/vdr/plugins/osd2web/http/dia//2019/November Namibia
    osd2web.DiaRandom = 0
    osd2web.LogLevel = 1
  • mit osd2web.LogLevel = 3 habe ich folgende Meldungen, wie schon erwähnt das versuche ich auf einem headless VDR (VM) server

  • ich sehe da leider keinen Grund warum der listener nicht auf dem Port lauscht. Ich schaue später nochmal in den code

  • Ich habe da wieder neue libwebsocket genommen, vdr-osd2web neue kompiliert und loglevel auf 4 gestellt, viel mehr info kommt da nicht. gibt es noch welche Möglichkeit mehr log zu bekommen? Bin leider kein developer und weiß nicht was in code zu ändern ist, um zu schauen was beim erstellen von websocket alles passiert und eventuell in log ausgeben.


    VDR full log mit nur vdr-osd2web plugin und loglevel 4

    Code
    https://cryptobin.co/v11167k4
    pass: vdr

    Einmal editiert, zuletzt von crow ()

  • Problem habe ich gefunden, kaum zu glauben aber IPv6.

    Ich verwende Archlinux als distro und da (mein installation routine) disable ich immer ipv6 als kernel parameter (ipv6.disable=1)

    Libwebsocket ist aber mit "-D LWS_IPV6=On" als packages unter Archlinux gebaut (offizielle repo). Hinweiß dass etwas mit IPv6 zu tun haben konnte, habe ich auf der suche nach "libwebsocket ERROR opening socket$" gefunden und zwar beim folgende Ergebnis [1].


    Nehme an vdr-osd2web schickt an libwebsocket befehl um einen websocket zu erstellen und da libwebsocket mit ipv6 compiliert worden ist wird versucht damit einen websocket zu erstellen und da das nicht geht schlug der fail. Einen echten Hinweiß dafür sieht man nicht/habe ich nicht, weil eben kaum davon geloggt ist, einzige ist vdr-osd2web Meldung "WS: ERROR opening socket$".



    Nach dem compilieren von libwebsocket mit "-D LWS_IPV6=OFF", kann vdr-osd2web einen web socket aufmachen, lauscht auf dem port 4444 und per browser ist erreichbar.


    Code
    [1] https://libwebsockets.org/pipermail/libwebsockets/2014-July/001139.html
  • sehr schön das du es gefunden hast, ich hatte auch keine Idee mehr.
    Immerhin die Meldung WS: ERROR opening socket ist ja schon mal ein Wink mit dem, Zaunpfahl. Aber interessant das die Lib dann dennoch ein 'context' Handle zurück gibt.


    Die Meldung in deinem Log oben hatte ich irgendwie auch geflissentlich übersehen ;)

  • das Plugin funktioniert jetzt auch mit libwebsocket 4.1

  • Ich habe einen neuen VDR aufgestellt und eben bemerkt, dass ich vergaß, den PIN-Patch anzuwenden :huh:. Scheinbar funktioniert dennoch alles bei mir :]. Wobei ich die OSD-Funktion von OSD2Web auch nicht benötige.


    Wozu ist der PIN-Patch? Kann ich den wirklich weglassen?


    Danke und Gruß

    Stefan

  • uff ist alles lange her ... den solltest du nur in Zusammenhang mit dem Pin Plugin benötigen

  • Da ich immer noch das Problem hatte, daß die osd2web-Uhr nach dem Booten nicht lief, hatte ich mir einen Befehl in den vdr Befehlen angelegt mit dem ich das osd2web neu starten konnte. Danach lief die Uhr dann wieder.

    Da mir das aber auf Dauer zu lästig war habe ich auf meinem Ubuntu System einen crontab dafür eingerichtet.


    Erstmal das von cron aufzurufende Script "restart_osd2web.sh"

    Bash
    #!/bin/bash
    sudo -u vdr DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/666/bus systemctl --user restart osd2web.service



    In den crontab des root habe ich dann das hier eingetragen:

    Code
    @reboot sleep 30 && (Pfad_zu_Script)/restart_osd2web


    Vielleicht kann's ja jemand brauchen.

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hallihallo,


    ich habe einen Streaming-Server (headless) und würde gerne das osd2web verwenden um den Server zu konfigurieren.

    Prinzipiell klappt das schon gut.

    Allerdings zeigt das default Theme im VDR-Menü nur nur max. 10 Einträge an. Die anderen Skins zeigen alle Einträge an.

    Im Browser finde ich aber das default Theme am übersichtlichsten, die anderen "erschlagen" einen...;D


    Kann man vielleicht doch mehr Einträge im default Theme anzeigen lassen?


    Danke und Grüße

    wayne

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • Guten Morgen,


    jetzt habe ich noch zwei weitere Probleme:

    1. Nach dem Neustart des Servers ist jedes Mal im OSD Setup das VDR das osd2web wieder abgewählt bzw. "Text-Modus" angewählt.

    Ein Ausgabe-Plugin ist auf dem Server nicht installiert.

    2. Das funktioniert so bei mir nicht:

    Zitat

    Für die Interaktive Anzeige mit den OSD Menüs muss das osd2web als Theme gewählt sein, herzu gibt es zwei Möglichkeiten:
    - temporär -> indem man im Browser oben rechts auf das Monitor Symbol drückt - solange verschwindet am TV das OSD!

    Beim Klicken auf das Monitor Symbol passiert nichts. Beim Drücken auf "OSD" verschwindet am TV das OSD!

    Allerdings öffnet sich dann nicht das OSD im Browser...

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


  • Allerdings zeigt das default Theme im VDR-Menü nur nur max. 10 Einträge an. Die anderen Skins zeigen alle Einträge an.

    Kann man vielleicht doch mehr Einträge im default Theme anzeigen lassen?

    Das sollte eigentlich schon länger unabhängig vom Theme auf 10 Zeilen limitiert sein: https://github.com/horchi/vdr-…c/components/Osd.vue#L138 - das wäre ein bisschen Fleißarbeit das in der Vue-Komponente zu ändern und dann den Client erneut zu übersetzen, wie in der client/README.md beschrieben. Ein aktuelles nodejs bekommt man unter Ubuntu mittlerweile als snap.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das sollte eigentlich schon länger unabhängig vom Theme auf 10 Zeilen limitiert sein...

    Naja, nicht ganz:



    Aber nicht ganz so schlimm, ich blende nun alles aus, was ich nicht im Menü benötige --> edit: geht nicht, weil ich mehr als 10 z.B. bei den Suchtimern benötige...


    Und wenn ich es irgendwie schaffe, im default Skin nach unten zu scrollen, dann habe ich auch mehr als 10 Einträge:

    streamdev-Server: ASRock J3160, MLD 5.5 testing, Mystique SaTiX-S2 V3 Dual + DuoFlex S2, 8GB, 60GB System,

    streamdev-Client 1: NUC6CAYS (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    streamdev-Client 2: NUC6CAYH (Intel HD Graphics 500), MLD 5.5 testing, One For All URC 7960,

    Media-Server: Synology DS215j

    AV-Geräte: Hisense H65MEC5550, Dali Zensor 5 AX, Teufel S6000SW


    2 Mal editiert, zuletzt von wayne ()

  • Ich habe ein Problem beim Kompilieren des Plugins. Mein System ist ein aktuelles Centos 7, VDR-2.4.4. Die Build-Umgebung wird mit "scl enable devtoolset-8 bash" hergestellt. Die folgende Fehlermeldung erscheint nach Eingabe von make.


    root@xyz vdr-plugin-osd2web]# make

    (cd lib && make -s lib)

    g++ -c -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ggdb -O0 -Wunused-but-set-variable -Wunused-but-set-parameter -D__STL_CONFIG_H -DOSD2WEB -DLOG_PREFIX='"osd2web: "' -DVDR_PLUGIN -DUSEJSON -DUSEGUNZIP -DPLUGIN_NAME_I18N='"osd2web"' -DGIT_REV='"25309c0"' -o websock.o websock.c

    websock.c: In static member function ‘static int cWebSock::callbackHttp(lws*, lws_callback_reasons, void*, void*, size_t)’:

    websock.c:356:12: error: ‘LWS_CALLBACK_HTTP_CONFIRM_UPGRADE’ was not declared in this scope

    case LWS_CALLBACK_HTTP_CONFIRM_UPGRADE:

    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    websock.c:356:12: note: suggested alternative: ‘LWS_CALLBACK_VHOST_CERT_UPDATE’

    case LWS_CALLBACK_HTTP_CONFIRM_UPGRADE:

    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    LWS_CALLBACK_VHOST_CERT_UPDATE

    make: *** [Makefile:91: websock.o] Fehler 1


    Leider habe ich diesbezüglich nur ein begrenztes Wissen und hoffe auf Hilfe.


    VG Bernd

  • Hi,

    Dir fehlt wahrscheinlich libwebsockets-dev.

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • ja auf jeden Fall auch des dev Paket installieren.
    welche Version der libwebsock verwendest du?

Jetzt mitmachen!

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