[live] Weiterentwicklung v3.3.x

  • Falls es diese Zeile ist, werde ich heute mal nullptr anstelle von NULL versuchen.

    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

  • Hallo Markus,

    damit geht's. std::nullptr ist ein 1:1 Ersatz für NULL, ist aber eben ein Pointer.


    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

  • Anm.: Für neuen code also eher nullptr anstelle von NULL verwenden.

    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

  • Nein, unter Ubuntu 24.04 gibt es kein Problem.

    Code
    pkg-config --modversion tntnet
    3.0
    
    gcc --version
    gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0

    Damit baut der aktuelle Stand von live ohne Fehler. wirbel hat mit dem aktuellen Git Stand von cxxtools und tntnet getestet, damit habe ich auch den gleichen Fehler bekommen.

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, epg2vdr, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

  • Ein Patch weniger, danke.

    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

  • Funzt, danke!

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • ..weil da GCC14 mit bei ist, korrekt?

    gcc-14 wird wohl nicht sehr beliebt sein, wenn ich die Details so lese.

    Aber das Problem hier hat mit gcc wenig zu tun.

    NULL ist auf low-level Ebene wirklich die 4-byte Ganzzahl Null '0', was man dann ein compiler allgemein als signed integer versteht. Ob das dann als 'integer', 'long (int)' oder 'long long (int)' in compiler messages auftaucht, das hängt wohl eher von der Architektur ab (x86, x86_64, aarch, aarch64, ...). Aber selbst die Anzahl bits && bytes ist Architektur abhängig. Und zum Glück gibt es ja heute keine 7-bit integer mehr.

    nullptr dagegen ist ein pointer (Zeiger auf eine Speicherstelle), der per Definition auf nichts zeigt, nicht initialisiert ist (und weitere positive Eigenschaften hat..). Sehr wahrscheinlich wäre der compiler aber mit (void *) NULL ebenso zufrieden (type cast).

    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler
    Display Spoiler


    to spoil
    verderben
    beschädigen
    plündern
    behindern
    berauben
    vereiteln
    rauben
    zerstören [fig.] [verderben, verunstalten]
    vergällen
    verhageln [fig.]

    Edited 2 times, last by wirbel (April 27, 2024 at 7:17 AM).

  • Kleiner Einfall:

    Aktuell kann man ja in den Listen nur durch das Vorhandensein eines Bildes auf den ersten Blick erkennen, ob etwas gescraped wurde.

    Reine Text-Scrapings ohne Bildmaterial sind hingegen auf den ersten Blick nicht zu erkennen.

    Dem könnte man durch ein UTF-Info-Symbol in Grau nach dem Eintrag entgegen wirken. Das sollte auch nur bei "Nur-Text-Einträgen" auftauchen.

    Richtig luxuriös wäre noch als alt-Text/onmouseover hinter dem ⓘ eine Anzeige mit "TVDB" oder "TMDB", je nach ID der Quelle.

    Unten ein Mockup, was ich meine.

    Edit: falls einfacher umsetzbar, könnte man das ⓘ-Symbol auch zentriert an der Bild-Leerstelle einblenden.

    Edited 2 times, last by rüsseltier (July 10, 2024 at 4:34 PM).

  • Hi,

    Im git ist 3.3.6 .

    • Zahlreiche Verbesserungen, die vor allem SHofmann beigetragen hat.
    • Compiliert auch wieder mit 2.7.1

    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

  • Ich versuche gerade, die Senderlogos mit anzeigen zu lassen. Wegen SkinNopacity sind sie bei mir aber alle mit Kleinbuchstaben gespeichert. Könnte man eine Logo-Datei nicht zusätzlich auch mit Kleinbuchstaben suchen, wenn sie mit Groß/Kleinschreibung nicht gefunden werden konnte?

    Danke & Grüße

    Stefan

    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)

  • Hi,

    Im git ist 3.3.7.

    Also, falls jemand live noch mit --tvscraperimages aufruft: Diesen Parameter bitte entfernen.

    Und wenn jemand in den Einstellungen Änderungen an den ffmpeg Kommandos gemacht hat: Diese Änderungen bitte manuell in /etc/vdr/plugins/live/ffmpeg.conf nachziehen.

    Ergänzung zum Installieren/für Paketbauer:

    Ich habe in debian/vdr-plugin-live.install "var/lib/vdr/plugins/live/ffmpeg.conf etc/vdr/plugins/live/" eingefügt, und in

    debian/links "etc/vdr/plugins/live/ffmpeg.conf var/lib/vdr/plugins/live/ffmpeg.conf" .

    Sollte so passen. Wenn noch keine /etc/vdr/plugins/live/ffmpeg.conf existiert, wird sie angelegt. Wenn sie schon existiert und verändert wurde, wird nachgefragt. /var/lib/vdr/plugins/live/ffmpeg.conf ist dann ein Link auf /etc/vdr/plugins/live/ffmpeg.conf .

    Bei make install wird fmpeg.conf nach /var/lib/vdr/plugins/live/ffmpeg.conf kopiert, falls die Datei noch nicht existiert.


    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

    Edited once, last by MarkusE (September 29, 2024 at 6:59 PM).

  • Also, falls jemand live noch mit --tvscraperimages aufruft: Diesen Parameter bitte entfernen.

    Was passiert denn dann auf VDR-Clients mit tvscraper und den Images? Werden die alle dann n-fach geholt?

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • > Was passiert denn dann auf VDR-Clients mit tvscraper und den Images? Werden die alle dann n-fach geholt?

    Auch wenn ich die Frage nicht verstehe: Es ändert sich nichts. live holt sich die Information, wo die Images liegen, über das Service Interface von tvscraper bzw. scraper2vdr. Daher muss diese Information nicht mehr mit --tvscraperimages bereitgestellt werden.

    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


  • Auch wenn ich die Frage nicht verstehe: Es ändert sich nichts. live holt sich die Information, wo die Images liegen, über das Service Interface von tvscraper bzw. scraper2vdr. Daher muss diese Information nicht mehr mit --tvscraperimages bereitgestellt werden.

    Hm, evtl. hab ich das auch nur falsch im Kopf. Mein Stand ist, dass der Server die Sachen holt und ein Client auf einem Share das einfach lesen kann, ohne es erneut holen zu müssen

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Auch auf dem Client wird tvscraper installiert. tvscraper nutzt dann die Daten des tvscraper vom Server. Dazu gibt es Parameter bei tvscraper, die wurden nicht verändert.

    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

  • Auch auf dem Client wird tvscraper installiert. tvscraper nutzt dann die Daten des tvscraper vom Server. Dazu gibt es Parameter bei tvscraper, die wurden nicht verändert.

    Du meinst

    --dir ${VDR_VIDEOBASE}/tvscraper --readOnlyClient

    Wenn das reicht, ok.

    Danke!

    VDR zwei drei
    • VDR 01 (Server): 2.7.4/6 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Mir ist gerade aufgefallen, dass seit dem letzten Commit b7cced0 in searchNameDesc gefundene Duplikate zwar zum Aufruf von AppendAsJsArray führen, in den Events trotzdem nicht als vorhandene Aufzeichnungen gelistet werden.

    Hier das Log für ein aktuelles Beispiel:

    Code
    searchNameDesc: event = Free Guy, RecItems = 36 (filled)
    searchNameDesc: equalName.first != equalName.second
    searchNameDesc: equalDuplicates.first == equalDuplicates.second
    searchNameDesc: numEqualCharsLow <= numEqualCharsUp
    searchNameDesc: num_match_rec == 0
    searchNameDesc: %Free Guy [true]
    appendEpgItem: event = Free Guy, recItem = %Free Guy
    appendEpgItemWithRecItem: event = Free Guy, recItem = %Free Guy
    // hier folgt im Code:
    // recItem->AppendAsJSArray(epg_item);

    Hier der Fix für dieses Problem:

    Das ist nur eine schnelle Lösung für das Problem. Unschön ist, dass für die EPG-Daten, für die Aufzeichnungen und fürs Streaming jeweils ein Daten-Array generiert wird, zur Transformation in HTML aber die Array-Elemente einzeln als Positionsparameter an existingRecordingSR übergeben werden. Schöner wäre es, stattdessen nur das Array übergeben zu müssen und dessen Dekodierung der Funktion zu überlassen. Es müsste also nur noch existingRecordingSR anstelle der drei Aufrufer die Struktur des Arrays kennen. Ist aber ein bisschen zu viel Aufwand für einen schnellen Fix…

    Ich bin gerade auch etwas genervt, weil ich jedes Mal mit den PO-Dateien kämpfe, die sich nach dem Kompilieren bei jedem Testlauf in den Patch einschleichen. Die darf ich dann manuell wieder herauslöschen und den Patch nochmals hochladen. Könntest du die beim Kompilieren geänderten PO-Dateien bitte nicht einfach mit einchecken? Wenn dir mal drin sind, herrscht lange Zeit Ruhe… jedenfalls ist das die Beobachtung bei anderen Plugins.

    Danke & Grüße

    Stefan

    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 7 times, last by SHofmann (October 3, 2024 at 11:34 PM).

  • Wenn man in der Programmübersicht auf eine vorhandene Aufzeichnung klickt, wird ein Link ohne die (korrekte) Recording-ID erzeugt. Der Aufruf der Funktion existingRecordingSR für die vorhandene Aufzeichnung berücksichtigt nicht, dass die Daten für den Parameter imdb_id erst in Index 2 kodiert sind. Hier der neueste kumulative Fix:

    Viele Grüße

    Stefan

    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 once, last by SHofmann (October 4, 2024 at 5:00 PM).

Participate now!

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