[Announce] Neues Plugin: peer-0.0.1

  • Hallo nochmal,


    seit vielen Jahren in Planung habe ich es nun endlich geschafft, eine erste Version dieses neuen Plugins zu veröffentlichen. Es richtet sich in erster Linie an die, die kein Client/Server haben (also alle Aufnahmen erledigt ein Server) sondern eher Peer-to-Peer (mehrere VDRs, alle mit eigener DVB-Karte). Aber auch für die Client/Server-Gemeinde ist vielleicht das eine oder andere nützliche Feature enthalten. Download unter http://vdr.schmirler.de.


    Hier die aktuelle Feature-Liste:


    * Timer anlegen/bearbeiten/löschen auf lokalem VDR und Peer-VDR sowie verschieben zwischen lokal und Peer (nutzt remotetimers-Plugin)
    * Zugriff auf Menü des Peer-VDR (nutzt remoteosd-Plugin)
    * OSD-Nachricht an Peer schicken
    * Device-Status des Peers anzeigen
    * Benachrichtigt werden, wenn auf dem Peer die Wiedergabe beendet wird
    * Wake-on-LAN Paket an Peer senden


    Manches ist sicherlich noch ausbaufähig (wie der Device-Status) oder ist eher eine Machbarkeits-Studie (Benachrichtigung wenn Peer-Wiedergabe beendet).


    Die Abhängigkeiten von anderen Plugins unterscheiden sich stark - je nach gewünschten Features. Details sind im README zum Plugin zu finden. Wer die volle Funktion will, muss auf allen Peers die Plugins peer, remotetimers, remoteosd, svdrposd und svdrpservice installieren sowie den SVDRP-Zugriff für alle Peers erlauben.


    Um remotetimers und remoteosd nutzen zu können, ist jeweils mind. Version 1.0.0 dieser Plugins erforderlich. Patches für ältere remotetimers/remoteosd-Versionen kann ich auf Anfrage bereitstellen.


    In den peer-Quellen ist ein Makefile für VDR < 1.7.36 enthalten. Wie weit nach unten peer kompatibel ist, habe ich jedoch nicht getestet.


    Viel Spaß!
    Frank

  • schmirl


    Sehr cool, das geht ja schon genau in die Richtung wie ich mir schon immer eine Vernetzung von VDRs erträumte, vorallem das mit den Timern, ich hoffe ich komme dazu das alsbald zu testen ... :thumbup:


    ===
    Ich weiß das hört sich nun unverschämt an, so direkt nach Veröffentlichung, aber evtl. ergibt sich ja irgendwann die Möglichkeit das mit den Timern zu automatisieren. Also man setzt lokal den Timer, es ist kein Device frei und das Plugin schlägt direkt einen Peer zur Aufnahme vor ... :whistling:
    Und ganz cool, also noch unverschämter wäre, wenn man in noch fernerer Zukunft die Aufnahmen dann kreuz und quer zwischen den Peers gucken könnte ... :versteck
    ===


    Danke für Deine Mühen!


    Regards
    Frank

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • Grad mal getestet, super!


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Schöne Idee - ich hab gerade mal ein Paket für yaVDR geschnürt: https://launchpad.net/~yavdr/+…10/+listing-archive-extra :)
    Die vom Plugin laut README genutzten Plugins sind bis auf svdrpservice "Recommends" - werden also von apt-get mit der Konfiguration unter yaVDR 0.5 nicht standardmäßig mitinstalliert. Wer sie gleich alle haben will nutzt "--install-recommends":

    Code
    apt-get --install-recommends install vdr-plugin-peer

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Die Idee ist klasse.
    Geht ja auch in die Richtung in die kls Interesse hat.
    Für mich selber, da reine Server/Client Architektur, nur bedingt interessant.
    Freue mich trotzdem.

  • Und ganz cool, also noch unverschämter wäre, wenn man in noch fernerer Zukunft die Aufnahmen dann kreuz und quer zwischen den Peers gucken könnte


    na das geht ja schon die ganze Zeit - und das sehr gut.


    Grüße


    Magficdragon67 :D

  • na das geht ja schon die ganze Zeit - und das sehr gut.

    Ach guck, hab ich in all den Jahren nicht mitbekommen, das man das mit manueller avahi/nfs Konfiguration erledigen kann, vielen Dank, sehr hilfreich ... :rolleyes:


    Aber, ich denke "schmirl" weiß was ich meine, sicher andere auch ... 8)


    Regards
    fnu

    HowTo: APT pinning

    2 Mal editiert, zuletzt von fnu ()

  • das man das mit manueller avahi/nfs Konfiguration erledigen kann


    da ist nix manuell Frank, im Auslieferungsstand yavdr tauchen alle vdr in den Aufnahmelisten aller anderen vdr auf. - Da gabs auch schon mehrere Threads zu das sich Verkettungen ergeben bei denen sich die Aufnahmen in diesen Verzeichnissen aufsummieren. - abgesehen davon funktioniert das prima


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • da ist nix manuell Frank, im Auslieferungsstand yavdr

    Ja, yaVDR, weil das eben vorkonfiguriert vom ISO/aus dem Repo kommt. Aber das ist ja auch nicht vom Himmel gefallen, sondern von fähigen Leuten vorkonfiguriert, sehr gut gelöst, aber eben auch notgedrungen, weil es bisher keine andere Möglichkeit gibt. Schön und cool ist aber anders, aus dem VDR selbst heraus und avahi ist nicht Teil von VDR.


    Ihr könnt ja gerne ohne Fortschritt auf dem Gestern sitzen bleiben, mein Traum sieht aber anders aus und zwar so, das nicht "zig halbstabile" statische Services und Konfigurationsdateien ineinander greifen müssen und man Angst haben muß, das der kleinste Eingriff das Kartenhaus zerstört ... :whistling:


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Super Idee mit dem Plugin.
    Ich habe da aber ein Anzeige Problem beim Aufruf aus dem VDR Hauptmenü.


    Hinter de Namen des Peers tauchen in der nächsten Spalte 3 - 4 Zeichen auf welche nicht lesbar sind:

    Ist hier ein spezieller Font nötig?

    Gruß
    Frodo

  • schmirl
    Ich weiß das hört sich nun unverschämt an, so direkt nach Veröffentlichung, aber evtl. ergibt sich ja irgendwann die Möglichkeit das mit den Timern zu automatisieren. Also man setzt lokal den Timer, es ist kein Device frei und das Plugin schlägt direkt einen Peer zur Aufnahme vor ...


    Dass das Plugin Begehrlichkeiten in diese Richtung weckt, habe ich kommen sehen. Habe mir daher auch mal ein paar Gedanken in diese Richtung gemacht. Um aber die Euphorie gleich einzubremsen: Ich brauche selbst nur Client/Server, von daher ist meine Motivation in diese Richtung recht gering. Aber wenn sich ein Entwickler findet, der Zeit und Testumgebung mitbringt - warum nicht?


    Das große fehlende Stück im Puzzle ist eigentlich - in Anlehnung an kls cDevice::GetDevice-Funktion - die Berechnung des "Impact" für das Verschieben eines Timers an einen anderen VDR: Angefangen von "kannst Du löschen - nehme ich bereits auf" über "kannst Du mir geben - nehme auf dem selben Tansponder etwas auf" und "meinetwegen - habe noch Devices frei" bis zu "nur im Notfall - würde lokales LiveTV einschränken" und "nein Danke - bin ausgelastet". Als Grundlage würde sich die Konflikterkennung von epgsearch eigenen, da diese die VDR Device-Vergabe komplett simuliert. Eine andere Implementierung die ähnlich weit geht ist mir nicht bekannt. Ergänzen müsste man die Konflikterkennung um den Modus "was passiert wenn ich den folgenden Timer hinzufüge" mit den genannten Rückgabewerten. Falls sich also jemand berufen fühlt...


    Der generelle Algorithmus für die Timer-Verteilung könnte dann wie folgt aussehen: Alle VDRs sind anhand ihrer Instanz-ID numerisch geordnet. Jeder VDR fragt im Hintergrund alle in der Ordnung unter ihm liegenden, gerade erreichbaren VDRs, ob diese einen lokalen Timer "billiger" aufnehmen können. Falls ja wird der Timer nach unten verschoben. Besteht lokal ein Konflikt, der sich so nicht lösen lässt, wird der Konflikt an höher liegende, gerade erreichbare VDRs verschoben. Timer ohne Probleme sammeln sich als unten, Konflikte oben in der VDR-Ordnung. Liegt ein Konflikt vor und die Aufnahme steht unmittelbar bevor, werden zusätzlich ausgeschaltete VDRs der Reihe nach geweckt - wer gerade ausgeschaltet ist nimmt logischerweise auch nichts auf. Die Chance ist also recht hoch, den Konflikt loszuwerden.


    Vielleicht sind ja ein paar theoretische Informatiker anwesend, die eine bessere Lösung parat haben. Den Anspruch einer optimalen Timer-Verteilung erfüllt meine heuristische Lösung sicher nicht. Dafür ist sie aber recht einfach zu implementieren (abgesehen von der "Impact"-Berechnung) und kommt ohne zusätzliche Datenhaltung und ohne permanent laufenden Master-VDR aus.


    Zitat

    Und ganz cool, also noch unverschämter wäre, wenn man in noch fernerer Zukunft die Aufnahmen dann kreuz und quer zwischen den Peers gucken könnte ...


    Da sieht es schlecht aus. Für HTTP ist das in streamdev ja schon ansatzweise eingebaut. Für VDR-zu-VDR macht das meiner Meinung nach wenig Sinn. Das reine Streamen einer Aufnahme samt Vor- und Zurückspulen geht ja noch. Aber ich befürchte, mit z.B. Schnittmarken bearbeiten dürfte es kompliziert werden. Über Netzwerk-Dateisysteme gibt's das ganze Quasi umsonst, von daher habe ich da ein Problem mit dem Verhältnis zwischen Aufwand und Nutzen.

  • Ich habe da aber ein Anzeige Problem beim Aufruf aus dem VDR Hauptmenü.


    Hinter de Namen des Peers tauchen in der nächsten Spalte 3 - 4 Zeichen auf welche nicht lesbar sind:Ist hier ein spezieller Font nötig?


    Da sollte eigentlich die IP stehen. Schau ich mir an. Danke für den Hinweis!

  • Ach guck, hab ich in all den Jahren nicht mitbekommen, das man das mit manueller avahi/nfs Konfiguration erledigen kann, vielen Dank, sehr hilfreich ... :rolleyes:


    Aber, ich denke "schmirl" weiß was ich meine, sicher andere auch ... 8)


    Regards
    fnu


    Hi ,


    Danke für den Sarkasmuss - ja genau das hatte ich aber gemeint :]

Jetzt mitmachen!

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