[ANNOUNCE] das dynamite-Plugin

  • Zitat

    Original von Joe_D
    Ich verwende DVB-S PCI Budget-Karten, die sind in nullkommanichts bereit und bleiben es auch bis der VDR sich wieder schlafen legt.


    Da die Full-Featured sich auch wenn man VDR beendet und den Treiber vor dem "Standby" entlädt, dann und wann durch ein Standby (Suspend to Memory) dermaßen weghängen, dass ein Treiber-Neuladen die nicht mehr wiederbelebt, habe ich Versuche in Richtung Standby erstmal abgebrochen. Die paar Sekunden Boot-Zeit bringen mich nicht um.


    Zitat


    Ansonsten sollte Software in Zeiten von immer mehr USB-Devices die ich generell zu jedem Zeitpunkt abziehen kann mit diesem Umstand umgehen können und entsprechend reagieren.


    Theoretisch. Allerdings kann ich durchaus auch damit leben, wenn das im Bereich der DVB-Karten nicht mit einfachem Abziehen getan ist. Das würde ich am VDR schon lassen, weil man so unter Umständen *sehr* unsanft eine Aufnahme abbricht. Stecken und Abziehen kann man auch jetzt schon. Mit dem beschriebenen möglichen Nachteilen. Um dem VDR die Änderung mitzuteilen wird der dann einfach einmal via OSD neu gestartet.


    Einen VDR stecke ich vor der Inbetriebnahme zusammen. Wer steckt schon täglich an einem VDR irgenwelche Tuner rum und nur weil das einmal im Jahr vorkommen könnte braucht es kein Hot-Plug-And-Play. Das soll aber nicht heißen, dass eine dynamische Deviceverwaltung auf VDR-Seite nicht sinnvoll wäre. Netceiver habe ich ja schon genannt.


    Zitat


    Oder Klaus stellt sich einfach auf den Standpunkt USB-Devices und Hardware mit schlechten Treibern oder sonstigen Problemen einfach nicht zu unterstützen ;)


    Soweit ich das verstehe bringen Treiber den VDR mitunter auch zum Hängen. Sprich VDR verabschiedet sich und die Endlosschleife in der runvdr lädt Treiber neu und startet VDR wieder.


    Ich kann mich nur immer wieder wiederholen: Ich will die Idee nicht schlechtreden. War sicher ne Menge Arbeit das umzusetzen. Mir fällt es nur schwer den Vorteil zu sehen, DVB-Karten im laufenden Betrieb umstecken zu können.

  • @Mreimer:
    Mir erschliesst sich nicht ganz was dein Ziel ist. Willst du das wir dich von Nützlichkeit überzeugen ? Oder findest du die Idee per Definition unnütz ? Oder redest du dir ein das die Idee für dich unnütz ist ? Und was bringt das genau in Bezug auf das Thema. Genau genommen interessiert es mich nicht, ob einige einen Treiber Reload, S3 oder sonstwas _nicht_ brauchen. Es gibt genug die es nutzen/brauchen inkl mir. Und es steht jedem frei es _nicht_ zu nutzen.


    Ich brauche regelmässig einen Treiber Reload - ausserdem sehe ich genau das Szenario wie von Joe_D beschrieben. Bei mir funktioniert S3 sehr gut (ausser DVB Treiber, die brauchen einen Reload) - und ich habe wakeup ohne attric oder sonstiges, neben anderen Vorteilen. Wenn man mal S3 probiert hat ohne auf den VDR und Co Rücksicht zu nehmen (XBMC zB) dann hat man nahezu instant-on. VDR Start und das Warten auf den Treiber Reload nimmt einige Sekunden in Anspruch. Wenn man hier was verbessern kann warum nicht, dabei interessiert es mich nicht das es dich nicht interessiert btw ;)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Moin!


    Ein weiterer Bedarfsfall:
    Man hat z.B. noch einen DVB-USB-Stick, den man normaler mitnimmt, um unterwegs am Laptop fernzusehen. Der Haupt-VDR hat aber plötzlich ein paar Timerkonflikte.
    Also kurz den Stick dazugestöpselt, der vdr hat plötzlich ein Device mehr, die Konflikte lösen sich auf und nach den Aufnahmen kann man das Ding wieder mitnehmen.


    Aber mir geht es in erster Linie gar nicht so sehr um Sinn oder Unsinn. Es gibt Leute, die wollen das gerne haben, und das Prinzip fand ich interessant und ich hatte Lust, meine Ideen dazu mal umzusetzen, um zu sehen, ob's funktioniert.
    Und sie wollen mir beim nächsten Treffen ein Bier dafür ausgeben, warum also nicht? :prost2


    Außerdem hab ich Spaß am Programmieren und dieses Projekt sah übersichtlich genug aus, dass ich es wagen wollte...
    Mehr nicht. ;)


    Vorschläge und Nachfragen über den (Un-)Sinn und das Plugin darf es gerne geben, aber keinen Streit! ;)
    Dazu bin ich viel zu friedfertig...


    Seht es als Spielprojekt, um die Möglichkeiten des vdr auszuloten, schließlich soll er uns ja einfach unterhalten.


    Und ganz egal, ich werde dies Plugin sowieso weiterentwickeln... ;)


    Und Diskussion finde ich gut! Ich kann auch wunderbar mit Kritik leben.


    Lars.
    (der weder verärgert noch beleidigt oder sonst irgendwie "böse" ist, der freut sich nur über ein interessantes Programmierprojekt...)
    (und er wird weiterhin interessiert die vielen Meinungen lesen)

  • Zitat

    Außerdem hab ich Spaß am Programmieren und dieses Projekt sah übersichtlich genug aus, dass ich es wagen wollte...


    Ja aber nur am Anfang.
    Die Featurewuensche kommen erst noch , wenn "Aenderungen" akzeptiert wurden . :D


    Der eine waere zb gleich mal das dynamische Laden von Kanallisten.
    Was nuetzt mir das als zB "Sat-Heini" wenn ich mal ne Kiste mitschleppe und nen DVB-T
    Stick im laufenden Betrieb anklemme ohne passende Kanalliste.


    Vielleicht gehts ja und ich weiss es nur nicht , weil ich mich damit bisher net beschaeftigt
    habe aber im Code von svdrp dazu auf die Schnelle nix bzw kein Kommando
    finden koennen.


    ..und ueberhaupt , wenns einigermassen funktioniert , sollte VDR Devices rauschmeissen
    bzw deaktivieren , wenn sie nicht benoetigt werden.
    Das sollte soweit gehen , dass wenn garnix da ist , das Dummydevice geladen wird /whatever...


  • Channellists-Plugin, geht bei yaVDR jetzt schon, weil per Default installiert.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

    Einmal editiert, zuletzt von gda ()

  • Moin!



    Mit NEWC lässt sich mit einem Standard-vdr ein Kanal anlegen, das muss man dann ja nur mehrmals aufrufen. Ist für lange Listen sicherlich ein Problem, aber dafür gibt's dann ja andere Plugins. Oder sie lassen sich schreiben.
    Ich bin dafür, die Funktionalität eines Plugins möglichst klein zu halten, damit man dann die Kombinationen, die man benötigt, einfach durch Laden/Nichtladen von kleinen Plugins zusammenstellen kann. Die interne Service-Schnittstelle des vdr sollte viel häufiger benutzt werden, die ist nämlich auch ganz nett.


    Das automatische Entfernen von nicht benötigten Devices schließt dann ja auch ein automatisches Einbinden ein, wenn sie benötigt werden. Wenn du eine gute Idee hast, wie sich sowas erkennen und umsetzen lässt, schreib ein Plugin, dass dann die Funktionalität von dynamite nutzt.
    Z.B. gibt es wohl ein dbus-Plugin, das beim Anstecken eines DVB-Sticks dieses automatisch einbinden könnte - mit Hilfe von dynamite. Das muss dynamite ja nicht alles selbst machen.
    Die Plugins sollten mehr miteinander vernetzt werden, das ist doch modern heutzutage. ;)


    Das ist ansonsten eine gute Idee - ich bin gespannt auf die nächsten!


    Lars.

  • Moin!


    Im ersten Beitrag ist eine neue Version (0.0.4i) verlinkt - die sollte jetzt auch mit veschlüsselten Kanälen zurecht kommen.
    Da ich aber kein CI/CAM habe, konnte ich es nur provisorisch testen - wenn jemand Lust hat, darf er's gerne ausprobieren... :)


    Lars.

  • Zitat

    Originally posted by Mreimer
    AFAIK bauen die von Reel wegen der etwas starren Deviceverwaltung eine Abstraktionsebene zwischen VDR und Netceiver. Im mcli-Plugin kann Reel die Devices dann dynamisch verwalten und auf die statisch im VDR registrierten Devices mappen.


    Das mcli-PI macht *genau* das, was das dynamite-Ding macht, aber noch etwas mehr. Es reserviert eine bestimmte Anzahl von Devices und ändert deren Eigenschaften (verfügbare Satelliten, S/C/T) on-demand. "Echte" DVB-Devices könnte man da auch mit wenig Änderungen anflanschen, von daher war das durchaus die Neuerfindung des Rades ;) Es gibt zB. aber auch noch Timeouts, damit Tuner nicht von unwichtigen Services (osdteletext etc) blockiert werden.

  • wobei ich mal vermute, das Reel sehr viel weitgehendere Änderungen am vdr selbst vorgenommen hat

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Die Änderungen für den Netceiver halten sich erfreulicherweise in sehr engen Grenzen. Im Wesentlichen geht es bei den Patches um eine veränderte CAM-Behandlung, da der Netceiver selber die Entschlüsselung erledigt und das dem VDR irgendwie beigebracht werden muss.


    AFAIR waren das zwei Patches. Der erste rüstet das "externe CAM" nach und der zweite erlaubt ein Aufpoppen von Meldungen vom mcli-Plugin aus. Letzterer Patch sollte sich bei aktuellen VDR-Versionen AFAIK über einen "Main thread hook" ersetzen lassen?


    Link zur Plugin-Doku


    Schorsch?

  • Moin!


    Kann man das mcli-Plugin auch nutzen, ohne einen Netceiver zu haben?
    Kann das mcli-Plugin denn auch andere Devices dynamisch ein- und aushängen?


    Als nächstes steht ein Patch für pvrinput auf der Liste, dann wird man ganz einfach z.B. eine pvrusb2 bei Bedarf dazustöpseln können.
    Und ich hoffe mal, dass da gar nicht viel an pvrinput geändert werden muss, das werde ich dann sehen.


    Meine Änderung bezieht sich nicht nur auf DVB-Karten, sondern ließe sich mit allen Plugins nutzen, die etwas von cDevice ableiten und zur Verfügung stellen.
    DVB-Karten werden nur "out of the box" unterstützt, weil sie ohnehin im vdr sind und durch cDvbDeviceProbe erreichbar sind. Und mit irgendwas muss man ja anfangen... :)


    Aber ich erfinde gerne neue Räder, die sich auch drehen können. Ich hab eine Menge über den vdr gelernt, das zählt für mich noch viel mehr.
    Wenn man programmiert, um Geld zu verdienen, ist es auch mal schön, einfach aus Lust und Laune und für den Spaß zu programmieren.


    Und das es sinnvolle und sinnlose Plugins gibt, ist ja klar... :)


    Lars.

  • Moin!


    So, pvrinput kann nun auch mit dynamite - musste nur ein paar Kleinigkeiten aufräumen, die beim Löschen eines cPvrDevices nicht richtig behandelt wurden.


    => pvrinput 2011-01-20


    Lars.

  • Moin!


    Hab eine neue Version 0.0.4j hochgeladen.


    • nach einem "Detach" müssten jetzt endlich alle Handles, die der vdr auf einer DVB-Karte geöffnet hat, geschlossen sein - ich hab zumindest keine offenen mehr. Damit lässt sich z.B. eine zickige Karte vom vdr trennen, die Treiber neu laden (wenn sie von keiner anderen Karte benutzt werden) und wieder in den vdr hängen. Das geht aber bisher nur manuell.
    • Für so einen Fall wie oben beschrieben, ist ein neues Feature dazu gekommen: "Auto-Detach"
      Mit dem SVDRP-Kommando "SGTT /dev/dvb/adapter0/frontend0 15" lässt sich ein Timeout pro Device hinterlegen (SGTT steht für "set GetTS timeout", die Zahl hat die Einheit Sekunden). Liefert die Karte in ihrer GetTSPacket-Methode die gesetzte Zeitspanne lang keine Daten (Data wird auf NULL gesetzt), wird das Device automatisch ausgehängt (DETD wird aufgerufen).


    Ich hab auch schon angefangen, mich in libudev einzulesen. Die ist nicht schwer zu benutzen, demnächst könnte es also sein, dass dynamite von ganz alleine neu eingestöpselte DVB-Frontends erkennt und automatisch einhängt...


    Lars.

  • Zitat

    Original von hotzenplotz5
    mini73 hat sich der vdr patch auch geändert ?


    Hat sich nicht geändert.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Moin!


    Gerald hat recht.


    Immer, wenn ich etwas veröffentliche, zähle ich die Version bei mir lokal schon mal sicherheitshalber hoch, es sollte also noch kein "j" gegeben haben. Sieht dem "i" aber auch zu ähnlich... :)


    Habt ihr auch schon das aktuelle pvrinput in unstable? Das funktioniert nämlich auch mit dynamite.


    Lars.

  • Zitat

    Original von mini73
    Immer, wenn ich etwas veröffentliche, zähle ich die Version bei mir lokal schon mal sicherheitshalber hoch, es sollte also noch kein "j" gegeben haben. Sieht dem "i" aber auch zu ähnlich... :)


    Schön wäre es, wenn bei API-Änderungen, also bei Änderungen des VDR-Patches, die Version hochgeht. Also statt 0.0.4j -> 0.0.4k statt dessen 0.0.4j -> 0.0.5. Was meinst du?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Zitat

    Habt ihr auch schon das aktuelle pvrinput in unstable? Das funktioniert nämlich auch mit dynamite.


    aber klar :unsch
    ist halt noch "nur" in unstable
    weil in stable vdr noch nicht gepatcht ist dafür.


    Zitat

    es sollte also noch kein "j" gegeben haben


    nee, gerald hat es schon vor mir hochgeladen, daher die verwunderung das wir "j" schon haben :lol2

  • Moin!


    Zitat

    Original von gda
    Schön wäre es, wenn bei API-Änderungen, also bei Änderungen des VDR-Patches, die Version hochgeht. Also statt 0.0.4j -> 0.0.4k statt dessen 0.0.4j -> 0.0.5. Was meinst du?


    Das ist eine Idee - aber eigentlich dachte ich, dass ich die letzte Stelle hochzähle, wenn neue Plugin-Features hinzukommen (hätte ich mit dem Auto-Detach eigentlich schon machen können...).
    Mein nächster Plan ist ja die udev-Schnittstelle, damit dynamite automatisch neue Frontends einbindet. Ich plante, dass das ein 0.0.5 wert wäre.


    Ich könnte eine Versionsnummer an den Dateinamen mit dem vdr-Patch hängen, wie wäre das? Beim nächsten Mal wird da also eine "-1" dranhängen, was bedeutet, dass sich nichts geändert hat (also "momentaner Patch" == "-1").
    Falls da also plötzlich eine "-2" auftaucht, hat sich doch was geändert... :)
    Und ich könnte es zusätzlich in der HISTORY erwähnen.


    Lars.

Jetzt mitmachen!

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