tellymote - Eine Enigma2 Fernbedienung für iPhone und iPad

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

    • Auch wenn das Problem anscheinend geklärt ist, hier noch mal ein Paar Anmerkungen, wie das mit dem transcodierten Streamen funktioniert.

      Kurzfassung:
      * für transcodiertes Streamen muss im Webinterface immer HTTP aktiv sein (ohne ..S), egal ob mit oder ohne Anmeldung
      * den Port für den transcodierten Strem (8002) muss telly'mote nicht wissen

      Langfassung:
      Die Wiedergabe von transcodierten Streams macht telly'mote eigentlich nicht selbst, sondern überlässt das dem iOS. Der eine Vorteil ist, dass iOS dann zum einen "weiß", dass es gerade einen Steam wiedergibt, und nicht gerade auf die Idee kommt, eben mal ein Paar Updates herunterzuladen. Der zweite und viel wichtige Vorteil ist, dass iOS zum Decodieren die im iPhone/iPad verbaute Hardware verwendet, was sehr effizient ist.
      Die Wiedergabe von untranscodierten Streams kann die Hardware nicht, das muss man über Software machen, was den Prozessor ziemlich beschäftigt. Auch transcodierte Streams kann man über Software decodieren (manche Apps machen das auch), das ist aber nicht besonders schlau, denn der Prozessor ist damit noch viel mehr beschäftigt als mit untranscodierten Streams.

      Um iOS nun aber zu überreden, einen transcodierten Stream wiederzugeben, muss man sich an die Vorschrift halten, und die heißt HTTP Live Streaming (kurz HLS). Ein solches Streaming wird immer mit einem Download eine M3U Datei gestartet, z.B. so:

      http://user:password@ip-adresse:port/web/stream.m3u?ref=1%3A0%3A1%3A6DCA%3A44D%3A1%3AFFFF0152%3A0%3A0%3A0%3A&name=Das%20Erste&device=phone

      Das muss über HTTP (ohne ..S) erfolgen, denn bei jedem HTTPS Zugriff auf die Box gibt es einen Zertifikatsfehler. Im Browser klickt man den Zertifikatsfehler einfach weg, das iOS kann beim Streamen solche Zertifikatsfehler aber nicht leiden, deshalb mus man HTTP verwenden.

      In der heruntergeladenen M3U Datei schließlich steht die Adresse des Streams drin, einschließlich des konfigurierten Ports (meist 8002). Das sieht z.B. so aus:

      #EXTM3U
      #EXTVLCOPT--http-reconnect=true
      #EXTINF:-1,Das Erste
      http://ip-adresse:8002/1:0:1:6DCA:44D:1:FFFF0152:0:0:0:

      Aus diesem Grund muss telly'mote den Port 8002 nicht wissen, denn der steht in der M3U Datei immer mit drin.
    • D.h. man kann ohne VPN gar nicht vom Internet durch Portforwarding des Port 8002 und eines HTTPS Ports alleine streamen, man müßte auch den Port 80 weiterleiten und das ohne Schutz?

      Das hatte ich bisher so gar nicht verstanden, habe aber eben auf meinem Router mal Traces gemacht, weil das Streamen im internen Netz geht, aber aus dem Internet nicht, weil ich nur Port 8002 und einen anderen auf HTTPS weitergeleitet hatte. Habe dann gesehen, dass tellymote beim Streamen auch immer den Port 80 zureifen will, was natürlich nicht geht, weil ich den gar nicht weitergeleitet hatte.

      Dann geht ja definitiv kein Weg an VPN vorbei, um mit tellymode aus dem Internet zu streamen oder?

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

    • Na ja, ganz "ohne Schutz" sollte es hoffentlich nicht sein, denn sinnvollerweise wird man für den Zugriff übers Internet sowieso immer einen eigenen Benutzer anlegen (und nicht root nehmen), und diesem ein sicheres Kennwort geben (also nicht grad 123456).

      Dann wird beim Starten des Streams über HTTP die M3U Datei unverschlüsselt übertragen. Wärst Du in diesem Moment in einem WLAN (Hotspot) angemeldet, und hätte ein Hacker dieses WLAN gekapert, so könnte er also Deine unverschlüsselte M3U Datei abgreifen. Die Frage ist, ob Dich das beunruhigt oder stört. Wenn ja, solltest Du sowieso über ein VPN nachdenken.
    • @'DreamRivers
      Ich verstehe deine Erklärung nicht.
      Woher weiß denn die Vu-Box, ob sie transcodieren soll oder nicht, wenn man den Stream nicht über den jeweiligen Port anfordert?'
    • Der transcodiert Stream wird initial nicht über den Port 8002 angefordert, sondern über einen Aufruf des OpenWebIf, also die URL, welche die M3U Datei herunterlädt.

      telly'mote sagt z.B. dem iOS: Bitte spiele den Stream mit dieser URL http://ip-adresse/web/stream.m3u?ref=

      Das ist also erstmal ein Zugriff aufs OpenWebIf. Und in der damit heuntergeladenen M3U Datei steht die eigentliche URL des Streams drin. So ist die HLS Vorschrift, an die sich iOS hält. Das Herunterladen und Auswerten der M3U Datei macht iOS selbst.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DreamRivers ()

    • Das ist dann im Grunde so, wie man man im OWIF auf das Symbol für das Streamen oder transcodierte Streamen drückt und diese m3u8 Datei dann z.b. dem VLC gibt, richtig?

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

    • habe gerade mal mit dem Safari probiert. Tut auch im internen netz


      was ich aber immer noch nicht hin bekomme ist, wenn das OWIF auch über HTTP ein User/Pw haben will, dann klappt es nicht. Der Streamproxy Prozess beschwert sich darüber, dass der HTTP Client ohne Authentisierung daherkommt.

      Ich habe daher nicht verstanden, wie du das meint, dass es mit HTTP und einem User/Pw wirklich funktioniert.

      Wenn ich z.b. den VU HD Player nutze, dann frage der mich dann vorher nach dem User/Pw und dann klappt es
    • Dann ist mir vermutlich klar, warum ich das nicht hinbekommen. Ich habe in Tellymote die Userdaten eingegeben, damit kann ich die Box auch zufreifen.
      Ich kann aber den streamproxy nicht so einstellen, dass er ohne authentifizierung arbeitet. Liegt vermutlich am openpli und der dortigen Kombination mit dem streamproxy. Der dortige Streamproxy schaut in der settingsdatei nach, ob OWIF mit HTTP auth machen und wenn das so ist, dann will er auch HTTP Authentisierung vom CLient haben. Das ist ja eigentlich eine Einstellung vom OWIF, dass der streamproxy ohne auth arbeiten darf oder? Die gibt es vermutlich so beim VTI
    • Habe gerade mal probiert, ob tellymote auf 8001 ohne transcodierung mit Authentisierung streamen kann. Dazu habe ich im Enigmal mal eingeschaltet, dass HTTP Streaming eine Authentisierung haben soll. Das geht auch nicht.
      D.h. mit Tellymote geht auf dem Streaminport keine Authentisierung, egal of direct oder transcoded.

      Ich hatte mir vorgestellt, dass tellymote die URL, die das OWIF zurückgibt, mit den Authensisierungsdaten anreichert, bevor der Connect zur Box erfolgt.
    • Bei den ganzen Tests mit tellymote ist mir gerade was aufgefallen, was ich mitteilen wollte.

      Ich habe zwei uno4kse Boxen im Haus und beide in tellymote eingerichtet.

      Wenn ich auf die zweite Box gehe, dann sehe ich dort im Bouquet Sendungen mit dem Aufnahmesymbol markiert, die aber von dem ersten Receiver aufgenommen werden. Die Timer für die zweite Box werden aber korrekt angezeigt.

      Wird bei der Markierung der Aufnahmen im Bouquet ggfs bei tellymote in allen Timern aller Boxen nachgeschaut, ob es dort timer gibt für die Sendung? Oder holt sich tellymote die Bouquetliste eventuell von der ersten Box, obwohl ich die zweite ausgewählt habe?
    • Die Markierung zeigt an, dass dass die Sendung auf irgendeinem Deiner Receiver aufgenommen wird. Wenn man auf "Timer ändern" geht (Sendung etwas länger gedrückt halten), dann sieht man auch auf welchem Receiver, bzw. kann die Aufnahe auch von einem auf den anderen Receiver verschieben. (Es gibt glaube ich keine andere App, die das kann.)
      In den Einstellungen gibt es auch bei "Timer" - "Multibox" die Möglichkeit, eine "Geimeinsame Timer-Liste" einzustellen. Dann sieht man in der App bei den Timern immer alle programmierten Timer aller Boxen.
    • Danke, cooles Feature

      Habe das jetzt mit den ganzen Streaming vom Live TV hinbekommen. Habe bei mir auf der Box etwas Code geändert, dass jetzt auch HTTP mit Auth geht und dennoch das Streamen auf dem transcoding Port ohne Auth arbeiten kann.

      Damals bei Dreamdroid klappte das auch mit dem Auth auf dem Transcoding Port, daher hatte ich hier auch gefragt, warum das mit tellymote nicht geht.

      Ein Frage noch zum Abspielen von gespeicherten Filmen. Da scheint kein Transcoding zu gehen oder muss ich da noch irgendwo was einstellen?
    • Doch noch eine Frage zum Streamen aus dem Internet.

      Wenn ich mit Safari bzw chrome nur über HTTPS auf die Box zugreife und dann den streamingport ohne Authentisierung freigeben, dann klappt das auch, ohne dann ich den HTTP OWIF Port freigeben muss.

      Warum genau macht tellymote die Anforderung der m3u8 Datei nicht über https? Tellymote könnte die m3u8 Datei ja noch über HTTPs anfordern und dann dem Safari diese zum Abspielen übergeben, wo dann nur noch auf den Streamingport zugegriffen wird (wenn der nicht selber die M3u8 über https anfordernkann, wobei das direct mit Safari geht), .
    • Wenn Du mit Safari über HTTPS auf die Box zugreifst, dann zeigt der Browser einen Zertifikatsfehler an, weil die Verschlüsselung nicht vertrauenswürdig ist. Im Browser kann man solche Zertifikatsfehler ignorieren, d.h. wegklicken.

      Wenn telly'mote dem iOS sagt: Bitte spiele den Stream mit dieser URL https://ip-adresse/web/stream.m3u, dann gibt es diesen Zertifikatsfehler auch, nur das man ihn nicht wegklicken kann. Es gibt einfach einen internen Fehler und nichts passiert.

      Und zu Deiner vorigen Frage: Nein, Aufnahmen kann man mit telly'mote bisher nicht transcodiert streamen.

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

    • Danke für die Info.

      Wenn tellymote selber die m3u Datei anfordern würde https, so wie tellymote ja auch die anderen Zugriffe über https selber kann und dann die dort enthaltene http stream URL erst dem IOS übergibt, müsste das ohne Zertifikatsprobleme gehen oder geht sowas nicht?

      Ich würde gerne den HTTP nicht weiterleisten müssen und VPN ist dann auch wieder so ein Sache.

      Habe das gerade mal mit dem Timerverschieben von einer auf die andere Box probiert. Das ist echt cool.

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

    • Ja das IOS stellt sich leider immer etwas zickig an, wenn man sich nicht ganz genau an die "Vorschrift" hält. Und bei HLS ist genau so vorgegeben, dass iOS die M3U selbst herunterladen will.

      Mit der Stream-URL kann ich nur auf den Software-Decoder gehen, und das macht wie oben beschrieben überhaupt keinen Sinn (auch wenn das andere Apps vielleicht machen).

      Ich hab aber vielleicht noch eine Idee, was ich probieren könnte. Komme aber frühestens am Wochenende dazu...

      Ansonsten würde ich Dir schon empfehlen, Dich mal mit dem Thema VPN zu beschäftigen. Mit den offenen Ports hast Du immer forschungsfreudige Leute aus aller Welt (China, Russland, Nordkorea ...), die sich mit Deiner Box unterhalten wollen. Und denen ist es gleich, ob sie HTTP oder HTTPS verwenden.
    • Werde das mit dem VPN (IKEv2/IPSEC) mal in Angriff nehmen, ist ja beim IOS irgendwie möglich, aber auch da gibt es immer wieder mal Ärger in irgendwelchen öffentlichen Netzen oder Hotel WLANs, wo dann das IKE nicht hochkommt, weil irgendwelche VPN IKE Ports nicht durchgelassen werden.

      Noch eine Idee.

      man kann ja bei Tellymote auch den Safari zum Stream aufrufen lassen. Wenn bei diesen Safari Aufrufen die HTTPS URL anstatt HTTP für die Anforderung de Streams übergeben wird, dann könnte über diese Methode die Weiterleitung von HTTP wegfallen, zumindest glaube ich das so