UPDATE Plugin: Advanced Transcode: Streamen alltagstauglich gemacht

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Das ist keine gute Idee, weil das Plugin wie ein Router funktioniert. Wenn du auf z.B Port 9005 streamst, wird das auf den Transcode-Stream-Port der Box weitergeleitet. Wenn du da manuell was verbiegst, geht das in die Hose.
    • So wie ich ihn verstanden habe, hat er ja nur den Port in der Adresse des Streams geändert. Also von 8001 oder 8002 auf 900x. Das ist m.E. kein Problem.

      Bei mir hat es die Änderung der inetd.conf beim Neuaufsetzen meines Images nach der Installation auch wieder gegeben. Und wenn man das Plugin in den Erweiterungen öffnet ist die inetd.conf nachher auch wieder leer bis auf die 1 Zeile mit 8002 beginnend.

      Ob das jetzt durch das Plugin selbst, oder eine Inkompatibilität mit einem Systemplugin ausgelöst wird, ist ja erstmal egal. Fakt ist, dass dieses "Problem" bei mir bisher nur in Verbindung mit dem Advanced Transcode Plugin aufgetreten ist.

      Wenn man weiss, was man dann tun muss, ist es ja auch kein größeres Problem. Nur die Lösung erstmal zu finden, dürfte insbesondere für komplette Laien relativ schwierig sein.

      Aber, wenn man es einmal installiert und die inetd.conf wieder konfiguriert hat, dann läuft es perfekt.
    • Ich glaube, das Zerschießen passiert, wenn man das System-Plugin geöffnet hat und dann einen transcodierten Stream startet.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ostfriese2 ()

    • Also nochmal:

      Standardmäßig steht in der inetd.conf folgendes:
      ...
      8002 stream tcp nowait root /usr/bin/transtreamproxy transtreamproxy
      ...

      Wenn man mit dem Systemplugin den Port auf 8001 ändert, schreibt dieses die Änderung in die inetd.conf.

      da steht dann:
      ...
      8001 stream tcp nowait root /usr/bin/transtreamproxy transtreamproxy
      ...

      Im Code des Systemplugins steht da: file('/etc/inetd.conf', 'w').write(newConfigData)

      Nur dabei kann ein Fehler auftreten.

      Mein Plugin fasst diese Datei gar nicht an. Im Quellcode meines Plugins kommt inetd.conf nicht vor.

      Wie soll denn mein Plugin den Fehler verursachen?
    • Hallo zusammen,

      die inetd.conf war wieder verändert, eventuell lag es an den Berechtigungen. Ich habe es jetzt wieder gerichtet und auf 644 gestellt, stand jetzt funktioniert es. Ich gehe einfach nicht mehr in die transcoding-plugins rein, dann sollte es passen :)

      danke euch!
    • Servus zusammen,
      leider zerschießt es mir die inetd.conf in unregelmäßigen Abständen. Ich weiß zwar wie ich das ganze wieder retten kann, das ist jedoch auf Dauer sehr nervig. Vor allem von unterwegs. Da ich sonst keine Idee habe woran es liegen könnte habe ich mir den von Ostfriese2 erwähnten Code mal angeschaut, siehe unten.
      Leider bin ich noch nicht so tief in der Materie alles zu verstehen, ungefähr tue ich es.

      Sobald es bei mir wieder die Datei zerschossen hat, finde ich in meiner inetd.conf nur die Zeile mit transtreamproxy, die wird ja in Zeile 20-22 so erstellt, sobald er transtreamproxy nicht mehr findet.

      Frage 1:
      Kann ich den Prozess bzw. Zugriffe auf inetd.conf irgendwo mit einer log-datei verfolgen? Vielleicht könnte man dann die Fehlerquelle identifizieren?!

      Frage 2:
      Wenn es keine andere Lösung gibt: Kann ich den Code einfach ändern und entsprechend Zeile 21 drei weitere Zeilen hinzufügen für telnet ftp und streamproxy? Für streamproxy könnte ich ja 'port2' verwenden, ftp und telnet würde ich direkt reinschreiben müssen?

      Oder stelle ich es mir zu einfach vor?

      Python-Quellcode

      1. print "[TranscodingSetup] set port ",port
      2. try:
      3. newConfigData = ""
      4. oldConfigData = file('/etc/inetd.conf').read()
      5. for L in oldConfigData.splitlines():
      6. try:
      7. if L[0] == '#':
      8. newConfigData += L + '\n'
      9. continue
      10. except: continue
      11. LL = L.split()
      12. if LL[5] == '/usr/bin/streamproxy':
      13. LL[0] = port2
      14. elif LL[5] == '/usr/bin/transtreamproxy':
      15. LL[0] = port
      16. newConfigData += ''.join(str(X) + " " for X in LL) + '\n'
      17. if newConfigData.find("transtreamproxy") == -1:
      18. newConfigData += port + " stream tcp nowait root /usr/bin/transtreamproxy transtreamproxy\n"
      19. file('/etc/inetd.conf', 'w').write(newConfigData)
      Alles anzeigen
    • Ich will dir nichts unterstellen @ostfriese2 aber egal wie oft ich das transcoding-Plugin aufrufe (aktuell auf 2 Boxen) aufrufe, es hat mir noch nie die inetd.conf zerschossen. Ich habe aber auch dein Plugin noch nicht benutzt, da ich es nicht brauche.
      Das das transcoding-Plugin auf die inetd.conf zugreift ist ja logisch, aber ich bezweifle, das das die Ursache für kaputte Versionen der Datei ist.
      Da muß es irgendein unglückliches Zusammenspiel geben.

      Hat mal jemand das debug.log aktiviert und reingeschaut, was da passiert? Vllt kann man ja etwas erkennen und an plnick weiterleiten?
      ACHTUNG!!!! Hier folgt eine Signatur:


      Die Benutzung der Suche ist NICHT verboten! D:

      "Hilfe!!!" ist kein sinnvoller Titel für einen neuen Thread, ebensowenig "VU+Zero" oder vergleichbares.

      Keine Hilfe ohne ausgefülltes Profil!
      Kein Netzwerksupport bei manueller IP-Adress-Vergabe :-)
      Kein Support bei portforwardings/ Portfreigaben

      Profil extra angepasst für die arme Emma, die sonst nichts im Leben hat :happy1:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GaborDenes ()

    • Es passiert bei mir auch reproduzierbar bei Installation des Plugins und anschliessendem Neustart und wenn ich über die Erweiterungen das Plugin Advanced Transcode konfigurieren, oder wie das heisst, aufrufe.

      Mit dem systemeigenen Plugin Transcoding konfigurieren, ist das noch nie passiert.

      Wenn man das weiß, ist es ja unproblematisch. So habe ich die Erweiterung ausgeblendet und es funktioniert ja bestens.
    • @alle inetd Betroffenen

      Ich benutze mein Plugin täglich und habe noch nie meine inetd zerschossen. Bis hier diese Meldung kam, wusste ich nicht einmal von der Existenz dieser Datei.

      Da ich nicht Betroffen bin, kann ich den Fehler auch nicht loggen und es ist unmöglich für mich, eine Lösung zu finden.

      Ich fasse, wie schon oft gesagt, diese Datei mit meinem Plugin gar nicht an.

      Ich verspreche aber, mich sofort um eine saubere Lösung zu kümmern, wenn ich ein Fehlerlog von euch bekomme. Wenn kein Log von euch kommt, werde ich eine "dirty Lösung" einbauen, die ähnlich wie @skydigital vorschlägt, die inetd wieder herstellt.

      @GaborDenes Ich vermute auch ein "unglückliches Zusammenspiel". Um das herauszufinden bin ich aber auf die Hilfe der Betroffenen angewiesen.

      Noch mal @skydigital. Das aus "Frage 2" ist gar nicht notwendig. Und nein, du siehst das nicht zu einfach, es wird so oder so eine Lösung geben, und schwierig ist das auch nicht. Ich hätte nur, nach Möglichkeit die Ursache, um das auch sauber zu lösen.

      Danke für eure Mithilfe!
    • @ostfriese2: Wenn ich morgen Mal dazu komme, werde ich Mal ein Debug Log machen, wenn ich das Plugin Aufrufe.

      Oder ich deinstalliere und installiere es nochmal.

      Evtl. Bekomme ich das aber auch erst am WE hin.

      Das Plugin funktioniert hier auch bestens.
    • Ich habe da so eine Vermutung.
      Falls das Code-Schnipsel von @skydigital aus einer anderen Box als der Solo 4k stammt, ist das original Transcoding Setup nicht identisch mit der Solo4k. Dann könnte ich den Fehler eingrenzen und evtl. eine saubere Lösung finden.

      Sagt mir doch bitte, auf welcher Box der Fehler auftritt!
    • @Knifte
      /usr/lib/enigma2/python/Plugins/SystemPlugins/TransCodingSetup/plugin.py

      gerne als Anhang oder PN

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von ostfriese2 ()