Plugin satip wer pflegt das ?

  • Die Screenshots sehen für mich nach dem DevStatus-Plugin aus, nicht nach femon ("Signalinformationen" im Hauptmenü)!

    Da hast du recht, das steht ja auch in der Titelleiste. Das habe ich in den letzten Tagen konsequent verwechselt… :wand

    Wobei Bouquet und Transponder nicht das gleiche sind, sondern ein Bouquet kann aus meheren Transpondern bestehen, siehe https://de.wikipedia.org/wiki/Bouquet_(digitales_Fernsehen).

    Wieder was gelernt. :)

    Das ist schon ziemlich alt; heute würde man z.B. die Menüs nicht mehr von cOsdMenu direkt ableiten und auch die VDR-Funktionen zum Ermitteln der Signalstärke nutzen anstatt sie direkt mit IOCTLs abzufragen (und das Plugin das device nicht mehr schließt wenn ich das richtig gesehen habe).

    In der VDR-Projektübersicht auf github.io wird kamel5 als aktiver Maintainer geführt. Insofern war ich der Hoffnung, dass es einen einigermaßen guten Stand hat. Aber da es funktioniert, ist der Stand wohl gut genug – wenngleich vielleicht auch nicht auf dem letzten API-Stand des VDR. Vielleicht mag es kamel5 ja in einer ruhigen Minute mal nachziehen? ;)

    Das DevStatus-Plugin zeigt nicht an welche Kanäle gerade empfangen werden, sondern zeigt unter dem gerade empfangen Kanal, welche Kanäle auf dem gleichen Transponder liegen und empfangbar wären.

    Und dass diese derzeit nicht angezeigt werden (können), ist meines Erachtens eine Ausprägung des Problems.

    Diese Anfrage landet dann offenbar im Satip-Plugin in cSatipDevice::IsTunedToTransponder() was true oder false zurück gibt.

    Danke fürs Eingrenzen. Die spannende Frage ist aber doch, warum "früher" der VDR die übrigen Kanäle auf dem Transponder nutzen konnte, jetzt aber – etwa bei zwei aufeinanderfolgenden, sich überlappenden Serien-Episoden – offensichtlich nicht mehr. Wenn der VDR eine ähnliche Abfrage durchführt, würde deine Analyse das beobachtete Verhalten erklären.

    Soviel ich weiß, hatte er alle meine Änderungen übernommen, das ist auch der Stand den ich in meinem git https://github.com/FireFlyVDR/vdr-plugin-satip habe und nutze (ich nutze nicht Wirbels git).

    Ehrlich gesagt, kann ich bei manchen Plugins (und SatIP gehört dazu) nicht mehr einschätzen, welcher Fork der aktuelle und "beste" Stand ist. Ich hatte seinerzeit halt den Fork verwendet, der den "jüngsten" Commit aufwies. Aber das heißt leider nicht zwangsläufig, dass darin auch andere wichtige Patches drin sind. Wenn du Pech hast, hast du nur einen Fork für einen Pull request erwischt…

    Deshalb die Frage an die Wissenden: Welches ist die derzeit – beste – bekannte Quelle für das SatIP-Plugin? Die VDR-Projektübersicht auf github.io verweist jedenfalls auf den Fork von wirbel.

    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.4 (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)

  • Welches ist die derzeit – beste – bekannte Quelle für das SatIP-Plugin

    Ich hatte seinerzeit mal meine Patches als Fork veröffentlicht damit sie nicht nur als Patches hier im Forum herumgeistern.
    wirbel hat IMHO dann die Pflege des Plugins übernommen und einiges verändert/erweitert, aber ich möchte keine Abhängigkeiten zu zusätzlichen Libraries haben, weshalb ich bei meinem Fork bleibe.

  • Vielleicht mag es kamel5 ja in einer ruhigen Minute mal nachziehen?

    Ja, so bekommt man was übergeholfen.:)

    Ich hatte damals nur für mich mal die api5 (weil ich eine Sat-Karte dafür habe) integriert und das dann halt öffentlich gemacht. Maintainer wollte ich dafür eigentlich nicht werden, ich habe so schon genug plugins in der Betreuung.;)

    Wenn sich da also jemand angesprochen fühlt, das zu übernehmen...

    Grüße
    kamel5

    VDR 2.7.5: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 41 Kernel 6.13 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Wenn sich da also jemand angesprochen fühlt, das zu übernehmen...

    Dann lass das DevStatus-Plugin doch auf "Community maitained" setzen. Für solche Plugins haben sich ja ein paar Forumsmitglieder als Contributoren für die weitere Pflege gemeldet. Und wenn du ebenfalls Contributor wärst, könntest du im Bedarfsfall ebenfalls ran.

    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.4 (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)

  • Ich finde es noch nicht in der Liste der "Community maintained"-Projekte. Als Contributor müsste ich es doch sehen, oder?

    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.4 (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)

  • Danke, ich habe es inzwischen gefunden. Ich hatte in GitHub an der falschen Stelle nach den Projekten geschaut, die ich bearbeiten darf. Bin halt noch ein GitHub-Newbie…

    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.4 (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)

  • Das DevStatus-Plugins geht für die Anzeige der zusätzlichen Kanäle die channels.conf durch und fragt für jeden Kanal, ob der auf dem gleichen Transponder liegt d->IsTunedToTransponder(channel) Diese Anfrage landet dann offenbar im Satip-Plugin in cSatipDevice::IsTunedToTransponder() was true oder false zurück gibt.

    kls, FireFly war so freundlich herauszuarbeiten, wie das Plugin DevStatus die auf einem Transponder verfügbaren Kanäle ermittelt. Folgt der VDR auch diesem Ansatz oder gibt es ein anderes Verfahren (sprich: Interface), das das SatIP-Plugin derzeit noch nicht (oder nicht mehr) korrekt unterstützt?

    PS – Ich sollte die Frage wohl nochmals präzisieren: Wie entscheidet der VDR für einen Kanal, von dem eine Aufnahme gestartet werden soll, ob ein Device bereits auf einen Transponder mit diesem Kanal getunt ist?

    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.4 (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 (March 17, 2025 at 4:07 PM).

  • Ein device implementiert diese vier Funktionen, den Rest macht VDR selbst.

    Code
    virtual int NumProvidedSystems(void) const;
    virtual bool ProvidesSource(int Source) const;
    virtual bool ProvidesTransponder(const cChannel *Channel) const;
    virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL) const;
    virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
    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.]

  • Danke für die Erläuterung. Wenn dem so ist, dann müsste man sich also ProvidesChannel() genauer ansehen um zu verstehen, warum es (siehe die Screenshots von DevStatus) früher die Anfrage korrekt beantwortet hat (ZDF HD und zdf_neo HD als Kanäle desselben Transponders), nun aber nicht mehr – richtig?

    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.4 (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)

  • schaut Euch doch mal

    static cDevice *GetDevice(const cChannel *Channel, int Priority, bool LiveView, bool Query = false);

    in device.c an.

    Z.b. wird da

    bool TunedToTransponder = device[i]->IsTunedToTransponder(Channel);

    verwendet. IsTunedToTransponder muss das device implementieren.

    ~ 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

  • Letzendlich macht IsTunedToTransponder() auch nichts anderes, aber dafür braucht man das Device-Plugin nicht.

    Deine Anmerkung verwirrt mich: Ich versuche gerade herauszufinden, wo man im SatIP-Plugin hinfassen muss, damit es sich so verhält, dass der VDR bei einem getunten Transponder auch alle Kanäle für die Aufnahme heranzieht.

    Wenn du mit "Device-Plugin" das DevStatus-Plugin meinen solltest, dient es mir in diesem Zusammenhang nur als "Messgerät", ob das funktioniert, sprich: alle Kanäle des Transponders gefunden werden.

    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.4 (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)

  • Deine Anmerkung verwirrt mich: Ich versuche gerade herauszufinden, wo man im SatIP-Plugin hinfassen muss, damit es sich so verhält, dass der VDR bei einem getunten Transponder auch alle Kanäle für die Aufnahme heranzieht.

    Das verwirrt mich wiederum .... Der VDR entscheidet, welchen Kanal er von welchem Device empfangen will. Im Satip-Plugin gibts AddPid() und DelPid() um zusätzliche PIDs von einem Transonder (und damit die PIDs weiterer Kanäle) an den VDR weiterzuleiten und so letztlich einen weiteren Kanal zu empfangen oder auch auf einen anderen Kanal umzuschalten (PIDs des alten Kanals löschen und neue PIDs hinzufügen).

    Mit Device-Plugin meinte ich jedes Device-Plugin, wie z.B. dvbhddevice, satip, iptv, .... channel->Transponder() liefert ein int zurück, das man mit dem Tranponder des gerade empfangenen Kanals vergleichen kann, da braucht man nicht erst das (satip/dvbhddevice)-Plugin zu fragen, ob der Kanal auf dem Transponder liegt. (Außerdem vergleicht Satip noch Source() und Parameters(), ob letzteres nötig ist weiß ich nicht)

  • Danke für die Erläuterung. Wenn dem so ist, dann müsste man sich also ProvidesChannel() genauer ansehen um zu verstehen, warum es (siehe die Screenshots von DevStatus) früher die Anfrage korrekt beantwortet hat (ZDF HD und zdf_neo HD als Kanäle desselben Transponders), nun aber nicht mehr – richtig?

    ProvidesChannel sagt, ob dieses device einen Kanal tunen kann.

    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.]

  • Deine Anmerkung verwirrt mich: Ich versuche gerade herauszufinden, wo man im SatIP-Plugin hinfassen muss, damit es sich so verhält, dass der VDR bei einem getunten Transponder auch alle Kanäle für die Aufnahme heranzieh

    Diese Aufgabe liegt nicht im Plugin.

    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.]

  • Ich habe zum Vergleich einmal den letzten Stand von rofafor (Commit 02a842f) gebaut. Und hier bekommt man in femon die Kanäle des Bouquets – wie bei den TT-Devices – angezeigt:

    Ich habe jetzt mal den Stand von wirbel mit dem Original verglichen und festgestellt, dass da ja hunderte Änderungen drin sind :( und das Plugin offenbar schon viel früher geforked wurde. Ich bin bisher davon ausgegangen, dass es nur Änderungen gibt, die auf dem Stand von Juni 2021 aufbauen. Dann treffen meine ganzen Erläuterungen wahrscheinlich nur teilweise oder gar nicht mehr zu ..... :(

  • Ich kenne halt die ganze "Mechanik" hinter der Transponder-Auswahl für Aufnahmen und dem hierzu ablaufenden Protokoll zwischen dem VDR und den Devices nicht. Wenn ich aus dem offiziellen Repository keine Lösung bekomme, muss ich dem irgendwann halt wohl selbst mal nachgehen; deshalb auch die ganze Fragerei.

    Ich habe alternativ einmal das SatIP-Plugin aus dem FireFly-Fork eingebunden. Damit werden alle Kanäle im Transponder von Device 3 gelistet, so wie es auch bei Device 1 und 2 der S2-6400 der Fall ist und wie man es deshalb auch beim Device 3 von SatIP erwarten würde:

    Und auch zwei Aufnahmen auf den gleichen Transponder (ZDF HD: "Heute im Parlament", zdf_neo HD: "Bares für Rares") bleiben auf Device 3.

    Hier der Wirbel-Fork nochmals zum Vergleich:


    Wie bereits bei meinem ersten Post zu diesem Thema gezeigt, belegt die dritte Aufnahme nun zusätzlich Device 1, anstatt den Kanal von Device 3 zu nutzen. Meines Erachtens ein klarer Bug im Plugin, den man eigentlich beheben sollte…

    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.4 (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)

  • Kannst du bitte Screenshots vom femon Plugin anhängen, das ist vertrauter.

    Welches device von VDR für welche Aufnahme/live benutzt wird, hängt von genau den vier vorher angesprochenen Funktionen ab. Der Kommentar von MarkusE könnte einen Unterschied machen (aber dann nicht zwischen den verschiedenen Ablegern des Plugins, eher für alle gleich). Dann wäre die offizielle VDR Plugin Doku unvollständig/falsch.

    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.]

Participate now!

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