Streaming Admin Plugin for DreamOS

  • Hi!


    Es ist zwar LANGE noch nicht fertig, aber ich denke es macht Sinn das Streaming Admin Plugin auch im aktuellen Entwicklungsstand zu posten, weil ich Feedback zum Konzept als solches und der Bedienung brauche.


    Und gerade mit den neuen FBC Tunern kann man schon ziemlich viele Streams haben, wobei eben vielleicht nicht alle erwünscht sind ;)


    Im Moment sind viele Funktionen im Plugin redundant drinnen, weil ich mir nicht sicher bin wie es einfacher und intuitiver zu bedienen ist.


    Daher ist im Anhang erstmals nur eine noch recht spartanische 0.1-r0 des Streaming Admin Plugins fürs DreamOS zu finden. Also bitte nicht nur runterladen und sich dann nicht mehr rühren, sondern Testen und Feedback geben, sonst wird das Plugin wohl nie fertig oder es bleibt im derzeitigen Baustellen Zustand.


    Nach der Installation findet man das Plugin in der Liste auf Blau oder bei den Einstellungen -> Netzwerk.


    Startet mal übers Webinterface einen oder mehrere Streams und dann schaut mal so in das Streaming Admin Plugin :)


    Man kriegt dann eine schöne Liste der laufenden Streams im Plugin zu sehen und mit der Stop [] Taste kann man den Stream auch stoppen 8)


    Mit der << Taste kann man die IP des jeweiligen Streams in die Blacklist machen, will man also einen Stream von einem device stoppen das sofort reconnected muss man << und dann Stop [] drücken damit wirklich Ruhe ist. Mit >> kann man die IP wieder von der Blackliste entfernen.


    Alternativ zum den << >> Tasten gibt es auf Gelb aber auch die Möglichkeit die Blacklist zu pflegen. Beim Hinzufügen werden aber nur die IP's welche sich schon im Arp Cache der box befinden angeboten. Also evt. mal kurz einen stream starten und wieder stoppen, oder webinterface vom streamdevice aufrufen, etc ... und schon kennt die box diese IP adresse und man kann sie zum Streamen blocken.


    Alternativ gibt es auch die Möglichlkeit mit der Play/Pause ||> oder der Rec Taste ALLE IPs zu blocken (wenn man in Ruhe mit allen Tunern selber gucken oder aufnehmen will) . Auf Blau gibt es dieses Globale Blocken aller IPs aber auch als Einstellung.


    Egal ob einzelne IPs geblockt werden, oder alle IPs gilt das nur wenn ein Stream neu gestartet wird - will man einen laufenden Stream loswerden muss man diesen Trotzdem mit der Stop[] Taste auch noch explizit stoppen.


    Ich denke damit ist erstmals alles erklärt, Input und Feedback und Crashes sind natürlich willkommen.

    Und BITTE nicht erwarten dass es im derzeitigen Zustand 100%ig funktioniert, das wäre einfach zu viel erwartet :pinch:


    PS: Im Moment gehen nur mormale Streams über den Streamproxy, Transkodieret Streams über den RTSP oder HLS stehen aber auf der To-Do Liste, aber zuerst müssen wir uns erstmal einigen was die Bedienung angeht und sicher noch eine Menge Crashes fixen.


    LG

    gutemine

  • Ich hab's noch nicht heruntergeladen und getestet sondern bis jetzt nur den Post gelesen. Würde eine whitelist über die MAC nicht mehr Sinn machen?


    Nur die MAC's die erwünscht sind erlauben, dann ist egal welche IP der Client hat (dhcp client) und für die, die den 80er port noch immer extern ohne Authorisierung frei geben, ist zumindest von der Seite Ruh: "Blaue LED leuchtet ständig, obwohl keine Aufnahme läuft?" :D

  • MACs werden nicht geroutet also bringt dir das für Clients die über den Router kommen nichts. Und dann musst du wahrscheinlich nur die IP des Routers blacklisten oder eben die globale Blocking Einstellung benutzen wenn du von extern Ruhe haben willst :)


    Insofern ist es sinnvoller am router local der gleichen Mac Adresse immer die gleiche IP über DHCP zuzuweisen, und genau dann funktioniert es so wie ich es implementiert habe.


    Aber das sind alles Sachen die IHR beim realen Benutzen rausfinden und berichten solltet, theoretisiert wurde dazu schon viel zu lange, sonst hätte ich mir die Arbeit gar nicht gemacht draus ein Plugin zu machen welches dir erlaubt zu sehen wer von dir mit welcher IP streamt und diese ggf. selektiv zu stoppen und zu blocken.

  • Ja, es geht nicht darum der box den Zugang zu irgendwelchen Streams zu verhindern, das kann die Firewall auf deinem Router sicher besser, sondern darum das du dir mit dem Plugin aussuchen kannst wer von DEINER box (etwas) streamt.


    Mit den neuen FBC Tunern hast du ja die Möglichkeit selbst von einer 900 bis zum Abwinken zu streamen, was aber gerade wenn du Bottlenecks bei der Bandbreite, der Verschlüsselung wie CI Module, oder beim Transkodieren hast, dann halt nicht wirklich unbegrenzt ist.


    Und genau da will ich wenn ich vor der Box sitze die Kontrolle haben um ggf. einen Stream zu killen ohne gleich das ganze enigma2 zu restarten. Und genau da setzt eben das Stream Admin Plugin an so wie es derzeit implementiert ist ;)


    Jetzt kannst du eben auf einen Blick sehen wer hinter der Blau leuchtenden LED steckt wenn gerade keine Aufnahme läuft ;) 


    PS: Auf der ersten Seite ist jetzt eine r1 wo ein paar kleine Bugs gefixed sind und auch die Blacklist mit den IPs in ein enigma2 setting abgespeichert wird.


    LG

    gutemine

  • kann ich nicht auf den feed legen


    Zitat

    The package lists or status file could not be parsed or opened

    two beer or not two beer, that's the question!


    rotespony.jpg


    Mein kleines rotes Pony :love:

  • Mein Test zum Plugin:


    Einwandfrei bei normalen TS Streams. Bei RTSP-Streams z.B. aus Überwachungskameras passiert es bei mir, dass Streams im Interface erhalten bleiben, obwohl bereits weitergezappt wurde.

    Es kann aber auch am VLC liegen, den ich als Client verwende und der den Stream nicht korrekt abbricht.


    Ich habe es auch geschafft, dass TS-Streams weiterlaufen und nicht im Streaming Admin Plugin auftauchen. Wie, muss ich noch nachstellen.


    Grafisch:

    -bei Streams erscheint bei mir der gesamte Pfad mit Username Passwort etc. hier wäre der Sendername, den man im DreamboxEdit angibt schön

    -die Darstellung wäre in einer Art Tabelle mit mehr Abstand zwischen den einzelnen Elemente schöner


    Ansonsten toll gemacht.


    Vielleicht gibts mal ein wirkliches IPTV-Sharing unter privaten wo jeder seine Timeslots festlegt und Ressourcen freistellen kann, dieses Plugin ist sicher ein Wegbereiter dorthin

  • Also im Moment gibt es in der public r1 noch gar keine Darstellung und Management von rtsp (Transcoding) Streams.


    Und Sendernamen hatte ich eigentlich eingebaut, welchen Skin verwendest du denn dass dieser abgeschnitten wird ?


    Mit der Info Taste gibt es übrigens noch mehr Info zur jeweiligen Streaming Zeile ...


    Und für Stranded Streams die zwar noch da sind aber nicht mehr angezeigt müsstet Ihr mit netstat -a nachsehen in welcher Form da noch Verbindungen da sind.



  • sorry, ich meinte die dns Auflösung. Auf der ersten Seite habe ich eine r3 gemacht wo der Sendername vor dem dns entry kommt, mal sehen ob das so besser aussieht. Und rtsp (Transcoding) Streams vom rtsp server der box selbst werden da jetzt auch mit angezeigt, auch wenn man sonst noch nicht viel mit denen machen kann.

  • vl hab ich es falsch beschrieben:


    Dieser Kanal ist ein Stream einer IPTV Kamera und hat nichts mit dem internen Transcoding zu tun. Der Stream ist als normaler IPTV Sender in der Liste integriert. Unschön ist nur, dass man den gesamten Pfad des Senders sieht und nicht den Namen, den man im DreamboxEdit angibt.


    Danke für die neue Version, ich werd sie umgehend testen.


    Mir kamen da noch ein paar Ideen:

    -Timeslot Funktionalität: man legt fest wielange man ein IP sperren mag

    -Prioritätsfunktionalität für IPs

    -Zuordnung von Services zu IPs und dazugehörigen CIs


    Ich weiß, dass das eigentlich von DreamOS gemanaged werden sollte, aber die haben ja andere Baustellen..leider


    Zur neuen Version: schön dass die Streams des RTSP Servers angezeigt werden, Funktionalität ist wie du schon beschrieben hast, nicht gegeben.

    Bin gespannt wie du das realisieren wirst, den bisher konnte ich einzelne Streams des RTSP Servers nur durch vollständigen Neustart des Servers killen..

  • es wird das angezeigt was im netstat steht, weil von dort hole ich die infos.


    Und ich muss nicht alle kleinen geheimnisse immer gleich public machen, die versionen von gestern sind eigentlich 2 wochen alter code8o


    global blocking sollte aber schon funktionieren ...

  • Ja danke, aber ich weis immer noch nicht wo ich ansetzen muss damit auch stranded streams angezeigt werden.


    Das ist ein Puzzle wo Ihr einen Grossteil der Teile habt und ich nur das zusammensetzen kann was leicht und offensichtlich ist.


    Ich fange jetzt nämlich nicht an Streaming Apps auf Handies zu testen bis ich welche finde mit denen ich das Problem selber reproduzieren kann X( 

  • Also zum reproduzieren von Stranded Clients:


    am besten über 3G/4G über VLC streamen und hier böse rumzappen.


    Zur Erkennung von Stranded Clients:
    eventuell einfach prüfen, ob eine IP Streams abgreift und wenn ja, wieviele und wenn mehr als x dann beende den "ältesten" dieser Streams


    Ich habs mal geschafft bis zu 17 Stranded Clients im Streamserver zu haben. Lag vor allem am instabilen und überbeanspruchten 2,4Ghz Band.

    Hat man hier einen Lag oder Timeout, verbindet VLC automatisch neu als neuer Client. Am Server sind dann aber zwei Clients, weil der erste nicht abgemeldet ist.

  • Nein so einfach kommt Ihr mir nicht davon, aber eines nach dem anderen :)


    Wenn dann produziert Ihr das selber und macht netstat -a und schaut was von den jeweiligen client session da noch zu sehen ist. Wenn wir dann den Unterschied wissen kann ich gerne die nestat methode im Plugin entsprechend erweitern.


    Die sockets bleiben ja auf der streamproxy seite der Dreambox offen also müssten sie auch anzeigbar sein.

  • Ich wollte jetzt auch mal das StreamAdmin Plugin ausprobieren und habe dazu auch gleich versucht die Screens in meinen Skin zu integrieren. Sobald ich die Button-Widgets (<widget source="buttonred" ...) benutze, crasht das Plugin mit einem "AttributeError: 'Label' object has no attribute 'connectDownstream'" Fehler.


    Alle anderen widgets funktionnieren.

  • danke fuer die geduld. Ich muss erst die connection liste komplett umbauen das man dort auch grafiken und mehrzeiligen text mit verschiedenen fonts benutzen kann, im moment sind das nur popelige textzeilen. Aber dafuer brauche ich erst ein Schönes Bespiel. Und solange die logik im hintergrund nicht alles kann was ich mir vorstelle muss die oberflaeche warten. Ich habe das nur mal grob vorgegeben wie es aussehen koennte damit man es ueberhaupt bedienen kann, aber das meiste ist aus dem AutoPin geklaut und muss erst angepasst werden.

  • gutemine was dann die default screens angeht da kann ich dir dann gern helfen ,so das es auch für Fullhd dann default im Plugin alles schön passt .

    Ich hatte deine Version schonmal vorab im Plugin für HD und fullhd angepasst damit du dann siehst das es echt nicht schlimm wird das ganze für HD und fullhd default im plugin zu haben.

    Aber das wird halt erst richtig gehen wenn alles dafür im DreamOS ist ,daher kann ich das halt so noch nicht dir geben .

    Wenn aber das nötige up da ist dann bekommste das und dann kannste auch deine Plugins direkt für HD und Fullhd anpassen (hab das auch bei einigen deiner Plugins hier schon gemacht ) nur normal sollten es die Pluginersteller dann selbst machen und nicht andere die nicht so mit dem Plugin vertraut sind.

    Das wäre dann in Fullhd default (aber es wird dann halt so nur im DreamOS gehen und da du oft in deinen Plugins auch noch andere OE´s mit unterstützt ist es für mich er schwer das für dich an zu passen ,da müsstet du das halt dann selbst machen (wobei du wirklich viel mit copy /paste machen kannst bei deinen screen ;)

  • Das ganze ist natürlich auch so das es sich default dann schön an die genutzten Skins anpasst mit den Bordern oder Skinfarben ,da muss dann kein Skinner der es nicht möchte das alles extra skinnen und das ganze geschrei das es in Fullhd doch schrecklich aussieht wäre dann vorbei .;)




  • Hallo zombi,


    warum fügst du deine Bilder nicht in den Beitrag ein, anstatt sie anzuhängen?


    Einfügen sieht doch viel besser aus.;)

  • ? hab ich doch gemacht ,bin auf Datenanhänge und dann auf Hochladen so wie es auch überall so ist .

    Ist das hier anderst?

    Wenn ich jetzt auf ein Bild drücke kommt dann das Bild groß und unten die Bildergalerie ,so soll es doch sein oder verstehe ich das hier im Board falsch.

  • Nein, du hast deinen Anhang nur "hochgeladen".


    Einfügen geht doch ganz einfach so. (Vorschau einfügen)





    Ich habe es mal in deinem letztem Beitrag editiert.;)