[Announce] vdr-plugin-live 3.4.0

  • Zum neuen Jahr veröffentliche ich hiermit die aktuelle stabile Version von vdr-plugin-live.

    Aus der HISTORY:


    Ist wie immer im git: https://github.com/MarkusEh/vdr-plugin-live


    Viel Spaß, Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • um das Plugin zu kompilieren, soll man die beiden Pakete tntnet-2.2.1.tar.gz und cxxtools-2.2.1.tar.gz herunterladen. Aber wie integriert man die dann in den Quellcode von vdr-plugin-live?

  • um das Plugin zu kompilieren, soll man die beiden Pakete tntnet-2.2.1.tar.gz und cxxtools-2.2.1.tar.gz herunterladen. Aber wie integriert man die dann in den Quellcode von vdr-plugin-live?

    Gar nicht. Die beiden Pakete separat kompilieren und installieren. Noch besser wäre wenn deine Distribution diese Abhängigkeiten eventuell sogar als Paket hat.

  • Ich hab Debian Bookworm. Da finde ist:

    libtnt-dev/stable,stable 1.2.6-1.1 all
    interface for scientific computing in C++

    libcxxtools-dev/stable 3.0.0-1.1 amd64
    Bibliothek von unverwandten aber nützlichen C++ Klassen

    Sind die richtig?

  • Da komme ich nicht mit klar. Beim Bauen des zweiten Paketes tntnet-3.0 bekomme ich:

    dpkg-checkbuilddeps: error: Unmet build dependencies: dpkg-dev (>= 1.22.5)

    ich hab nämlich nur dpkg-dev 1.21.22 ...

  • Also musst du das als erstes erhöhen...

    Ob das manuell lohnt oder umsteigen auf neuere Distri ist deine Entscheidung.

    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
    http://www.easy-vdr.de

    Edited once, last by SurfaceCleanerZ (January 2, 2025 at 7:30 PM).

  • Hallo Markus,

    erstmal ein gesundes neues Jahr und vielen Dank für die neue Version.

    Der (im Oktober) geänderte Redirect zum Login macht bei mir Probleme. Über die freien Tage habe ich jetzt mal nach der Ursache gesucht. Ich verwende sowohl vdradmin als auch vdrlive. Die Aufrufe erfolgen dann über eine RewriteRule über http://VDR/vdrlive/ bzw. http://VDR/vdradmin/.

    Wenn jetzt direkt http://VDR/live/timers.html aufgerufen wird erfolgt der Redirect im Plugin zu http://VDR/login.html?redirect=%2Ftimers.html.
    Damit es bei mir funktioniert müsste es aber http://VDR/live/login.html?redirect=timers.html sein. Das Problem ist jeweils der Slash vor den HTML-Seiten.

    Mit diesen Änderungen live-3.4.0-auth-zimuland.diff.txt funktioniert es bei mir für die Seite timers.html wieder.

    Gruß Zimuland

  • Das Problem ist jeweils der Slash vor den HTML-Seiten.

    Die Änderung habe ich seinerzeit eingebracht. Bei Live ist die Seiten-Hierarchie leider nicht ganz glücklich gewählt. Die "sichtbaren" Seiten des Menüs liegen zwar alle auf der obersten Ebene, aber "unsichtbare" Service-Request-Seiten (etwa zum Nachladen dynamischer Daten oder zur Ausführung von Aktionen) liegen zum Teil auf einer tieferen Ebene. Details hierzu findet man in der Datei tntconfig.cpp, in der die logische Hierarchie ( via MapUrl) definiert wird. In Zeile 181 findet man bspw. ein solches Mapping:

    C++
    app.mapUrl("^/vdr_request/([^.]+)", "$1");

    Das Problem dabei ist also, dass die Login Seite (/login.html) von unterschiedlichen Hierarchie-Ebenen aus aufgerufen werden kann und die Umleitung das dann auch berücksichtigen muss. Durch die Komponentenstruktur für die Generierung der Seiten weiß man leider nicht immer, von welcher Ebene aus eine Komponente die Login-Seite aufruft. Um komplizierte URL-Transformationen für relative Pfade zu vermeiden, habe ich den Aufruf der Login-Seite bzw. den Rücksprung zur Ausgangsseite per Root-Bezug gewählt. Am besten wäre es insofern, alle Seiten lägen direkt auf einer, sprich: der obersten Ebene.

    Der Patch für deinen Spezial-Setup hat somit leider für alle anderen unschöne Seiteneffekte. Aber wenn du die Rewrite-Regeln schon unter voller Kontrolle hast: Was spricht denn dagegen, sie so anzupassen, dass die URL passend modifiziert wird. Vielleicht hilft es ja, eine Regel wie die folgende einzufügen:

    Apache Configuration
    RewriteCond %{REQUEST_URI} /vdrlive/.*[?&]redirect=/
    RewriteRule ^(.+[?&]redirect=)/(.*)$ $1/vdrlive/$2

    Einfach einmal ausprobieren.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.5 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited 5 times, last by SHofmann (January 4, 2025 at 5:24 PM).

  • Danke für die Erläuterungen. Dann werde ich mich wohl mal mit den Rewrite-Regeln beschäftigen müssen. Die hatte ich vor Jahren mal irgendwoher übernommen und seitdem nicht mehr angefasst.

    Ich war davon ausgegangen, dass alle Seiten in der obersten Hierarchieebene liegen und nur Grafikelemente etc. weiter unten.

  • Ein bisschen kenne ich mich mit Rewrite-Regeln auch aus. Wenn du möchtest, dass ich kurz mit drauf schaue, dann melde ich einfach.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.5 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Mit den folgenden Einstellungen funktioniert es jetzt bei mir erstmal wie gewünscht:

    Apache Configuration
    	RewriteCond %{SERVER_PORT} =80
    	RewriteCond %{REQUEST_URI} ^/login\.html$
    	RewriteCond %{QUERY_STRING} ^redirect=%2F(.*)$
    	RewriteRule ^(.*)$ /vdrlive/login.html?redirect=%1 [R,L]
  • Gut zu hören, danke für die Info. :thumbup:

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.5 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Hier noch eine kleine Änderung damit es auch bei den Seiten funktioniert, die beim Aufruf zusätzliche Parameter verwenden (z.B. /vdrlive/whats_on.html?type=now).

    Apache Configuration
    	RewriteCond %{SERVER_PORT} =80
    	RewriteCond %{REQUEST_URI} ^/login\.html$
    	RewriteCond %{QUERY_STRING} ^redirect=%2F(.*)$
    	RewriteRule ^(.*)$ /vdrlive/login.html?redirect=%1 [R,L,NE]
  • Im git ist ein Update zum Locking der einzelnen VDR Objekte, siehe [live] Locking der einzelnen VDR Objekte

    Ich habe den test Branch in master überführt, und test gelöscht. Die Umstellung bzgl. Locking ist abgeschlossen und getestet.

    Möglicherweise mache ich noch kleinere (UI) Verbesserungen, bevor ich diesen Stand als 3.4.1 freigeben werde.

    Ich möchte das trotz größerer Änderungen als 3.4.1 (und nicht 3.5.0) freigeben, da ich unvollständiges Locking als Fehler ansehe. Damit ist das eine Fehlerkorrektur -> 3.4.1.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Unter focal erhalte ich hier mehrmals

    "stringhelpers.h:1669:177: error: ‘multiline’ is not a member of ‘std::regex_constants’"

    und das "make" schlägt fehl.

    vdr User #2022 - hdvdr2:

    Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 32 GB Ram, zram-swap/tmp, ubuntu-focal+ESM, softhdcuvid, ffmpeg-6.1(git)

    ddbridge-6.5 mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF1050Ti SFF (nvidia-dkms-575.51.02), system SSD btrfs,

    timeshift-btrfs, Video 8TB HDD XFS/cow, yavdr-ansible-2.7.5-seahawk, epgd-git mit plugins, Kernel 6.12.28+dddvb-0.9.41-git

    vdradmin-am-3.6.13-git, vdr-live-ng, vdrmanager (Smartphones als FB)

  • Ich möchte das trotz größerer Änderungen als 3.4.1 (und nicht 3.5.0) freigeben, da ich unvollständiges Locking als Fehler ansehe. Damit ist das eine Fehlerkorrektur -> 3.4.1.

    Es fehlt dazu noch der Tag


    Baut unter arch, der letzte Commit: https://github.com/MarkusEh/vdr-p…2c39df7c9132060

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Hallo,

    Unter focal erhalte ich hier mehrmals

    auch hier unter focal - Siehe Logfile

    https://launchpadlibrarian.net/774315954/buil…BUILDING.txt.gz

    Gruss

    Wolfgang

    Hard & Software

    DVB-S: Silverstone LC17 mit 8,4" TFT Display, ASRock ALiveNF6G, AMD X2 3800+ (35W),4GB, GT 630 - nVidia-387, SSD 64GB, 2TB, TeVii S470, SkyStar S2, Cinergy T RC USB, Kodi-18.0, FB X10 Medion-Scroll, "easyVDR 3.5 (14.04 LTS) - Kernel-4.8.12 - VDR 2.3.8"
    -----------------------------

    DVB-C: ATC-620, Asrock K7S41GX, AMD Geode NX 1750, 2GB, picoPSU, Samsung 500GB 1x 1TB, LDW-851S, DVB-C Fujitsu-Siemens FF, Cinergy 1200, Nova T USB, Atric Rev.4, "easyVDR 0.8 - 2.6.35.10 VDR 1.7.16 "
    -----------------------------

    Client_1: Evo N600c, "Puppy-Slacko 6.3" VDR 2.2.0 - FB X10 Medion_OR25V
    -----------------------------

    Client_2: Himbeere-P2 - MLD-5.4 / LibreELEC-9.0-Milhouse(Kodi-18.0) (PVR-VNSI)

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • Vielen Dank für Eure Tests und Fehlerberichte.

    Im git ist ein Update. Damit sollte der ‘multiline' Fehler behoben sein.

    Laut https://en.cppreference.com/w/cpp/regex/basic_regex/constants gibt es multiline seit c++17. Ich kann jetzt nicht sagen, warum das in focal nicht compiliert.

    Andererseits ist für mich multiline eher ein nice to have, und nicht wichtig. Ich habe es daher herausgenommen.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Noch eine Kleinigkeit: In services.h, Zeile 81, ist mit dem eingefügten Tab der Kommentar (je nach Tab-Setting) jetzt zu weit rechts; besser (ausschließlich) Spaces verwenden.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.5 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!