| | 1 | ---- |
| | 2 | '''9.4 E2WebIfAPI''' [=#point9.4] ([wiki:Wiki-ge#point0 Inhaltsverzeichnis]) ([WikiStart#point0 Sprachauswahl]) |
| | 3 | ---- |
| | 4 | |
| | 5 | == Einführung == |
| | 6 | Enigma2 Webinterface (WebIf) API wurde für Dreambox definiert. |
| | 7 | Es ist ein Protokoll, welches die Steuerung von Dreambox mittels HTTP-Anfragen erlaubt. |
| | 8 | |
| | 9 | Typische Steuerungsaufgaben sind: |
| | 10 | |
| | 11 | * Programmierung (Timer) und Wiedergabe von Aufnahmen |
| | 12 | * Live-Streaming (TV und Radio) |
| | 13 | * EPG-Funktionen (Anzeige, Suche) |
| | 14 | * Fernbedienung (Remote Control) |
| | 15 | |
| | 16 | Einen guten Überblick zum Protokoll findet Ihr im [http://dream.reichholf.net/wiki/Enigma2:WebInterface DreamboxWIKI]. |
| | 17 | |
| | 18 | == Motivation == |
| | 19 | |
| | 20 | Für TitanNit wurde die Android-App [TiMote#point9.1 tiMote] entwickelt. Mit dieser App steht die oben beschriebene Funktionalität zur Verfügung. D.h. jeder der ein Android-Handy bzw. -Tablett besitzt, kann den TitanNit-Receiver steuern und sogar auf dem Handy fernsehen. Das ist eine coole Sache, oder? |
| | 21 | |
| | 22 | Dieses Glück hat jedoch der Besitzer eines iOS-Geräts (iPhone, iPad) nicht mehr. |
| | 23 | Man kann zwar auch mit einem Web-Browser plattformunabhängig (Windows, Linux, Android, iOS) den Receiver steuern, dies ist aber nicht so komfortabel wie mit tiMote. |
| | 24 | |
| | 25 | Anderseits gibt es sowohl für iOS als auch Android schon fertige Apps für Dreambox-Receiver. Diese Apps basieren auf dem E2-WebIf-Protokoll. Könnte man nicht diese Apps ebenfalls für TitanNit-Receiver verwenden statt eine neue App für iOS zu entwickeln? |
| | 26 | |
| | 27 | == Die Lösung == |
| | 28 | TitanNit besitzt schon ein eigenes Protokoll, welches jedoch mit Enigma2 WebIf nicht kompatibel ist. |
| | 29 | Nach kurzer Analyse wurde festgestellt, dass eine Konvertierung der E2-Anfragen auf TitanNit-Anfragen nicht so schwer ist. |
| | 30 | Deswegen wurde ein E2-Web-Server (e2webserv) entwickelt, welches das Enigma2 WebIf implementiert. Dieser Server empfängt die E2-Anfragen, delegiert die Aufrufe zum lokalen TitanNit Web-Server und die TiatnNit-Antworten wandelt zurück ins XML-Format, welches vom E2-Client erwartet wird. |
| | 31 | |
| | 32 | Auf diese Weise wird die TitanNit-Box jetzt offen für die vorhandene E2-Clientsoftware. |
| | 33 | |
| | 34 | |
| | 35 | == Voraussetzungen == |
| | 36 | |
| | 37 | * Web-Server muss auf dem Receiver aktiviert werden |
| | 38 | * e2webserv muss auf dem Receiver installiert werden |
| | 39 | |
| | 40 | == iOS-Apps == |
| | 41 | |
| | 42 | Folgende Apps habe ich auf meinem iPad2: |
| | 43 | * dreaMote |
| | 44 | * dreaMote Lite |
| | 45 | * e2RemoteHD |
| | 46 | * Dreambox Live |
| | 47 | |
| | 48 | Falls Ihr im App-Store nichts kaufen wollt, dann kann ich dreaMote Lite empfehlen. |
| | 49 | |
| | 50 | Zusätzlich zu der App benötigt Ihr einen Player. |
| | 51 | |
| | 52 | Ich habe folgende Player ausprobiert, welche bei mir gut funktionieren: |
| | 53 | * GoodPlayer |
| | 54 | * BUZZ Player |
| | 55 | * OPlayerHD Lite |
| | 56 | * VLC Player |
| | 57 | |
| | 58 | VLC und OPlayerHD Lite sind frei. |
| | 59 | |
| | 60 | == XBMC == |
| | 61 | |
| | 62 | Falls Ihr die Media-Center-Software [http://xbmc.org/ XBMC] im Einsatz habt, so könnt Ihr mittels Live-TV-Plugin VU+ Euren TitanNit-Receiver direkt einbinden. |
| | 63 | XBMC läuft auf einem PC sowohl unter Windows als auch Linux, ist aber auch für Raspberry Pi verfügbar. |
| | 64 | |
| | 65 | == VLC == |
| | 66 | Mit dem installierten e2webserv könnt Ihr Live-Streaming nur mittels [http://www.videolan.org/vlc/ VLC] (ohne extra Software) auf einem PC (Windows oder Linux) genießen. |
| | 67 | |
| | 68 | Ihr braucht dafür nicht die Kanäle manuell umschalten, es passiert alles automatisch. Damit dies möglich wird, braucht Ihr eine M3U-Playliste. Solche Playliste könnt Ihr pro Favorit generieren lassen und auf dem PC speichern. Danach einfach M3U-Datei mit VLC öffnen und das gewünschte Programm anklicken. |
| | 69 | |
| | 70 | Wie exportiert man die M3U-Datei für eine bestimmte Favoritenliste? |
| | 71 | |
| | 72 | In einem Web-Browser einfach die gewünschte Adresse angeben. |
| | 73 | |
| | 74 | Beispiel (Favorit heißt "Polish"): |
| | 75 | |
| | 76 | [http://192.168.1.1:8080/web/services.m3u?bRef=Polish] |
| | 77 | |
| | 78 | Bei dem Link muss nur die eigene IP-Adresse angegeben werden und bei Namen mit Leerzeichen sollte man "%20" statt des Leerzeichen nehmen. |
| | 79 | |
| | 80 | Beispiel (Favorit heißt "Mein TV", Receiver-IP: 192.168.0.10): |
| | 81 | |
| | 82 | [http://192.168.0.10:8080/web/services.m3u?bRef=Mein%20TV] |
| | 83 | |
| | 84 | == Client-Konfiguration == |
| | 85 | Bitte bei dem E2-Client folgendes konfigurieren: |
| | 86 | * IP-Adresse des Receivers |
| | 87 | * Port: 8080 |
| | 88 | * Streaming Port: 8001 |
| | 89 | |
| | 90 | Zu beachten ist, dass SSL nicht unterstützt wird. |
| | 91 | |
| | 92 | Unten sieht man eine Beispielkonfiguration für dreaMote. |
| | 93 | |
| | 94 | [[Image(DreaMote.png, 384px)]] |
| | 95 | |
| | 96 | == e2webserv.conf == |
| | 97 | |
| | 98 | Die Konfiguration für den Server muss man bei Bedarf manuell anpassen. |
| | 99 | Bei Standard-TitanNit-Konfiguration sollten keine Änderungen in e2webserv.conf notwendig sein. |
| | 100 | |
| | 101 | Bei einer Flash-Installation liegt die Konfigurationsdatei '''e2webserv.conf''' in dem Verzeichnis '''/mnt/swapextensions/etc''' |
| | 102 | |
| | 103 | Hier ist der Inhalt: |
| | 104 | {{{ |
| | 105 | # e2 web port |
| | 106 | port=8080 |
| | 107 | # e2 data port |
| | 108 | dataPort=8001 |
| | 109 | # titan web port |
| | 110 | titanPort=80 |
| | 111 | # titan data port |
| | 112 | titanDataPort=22222 |
| | 113 | # titan host (change it if e2webserv is not running locally on the receiver) |
| | 114 | titanHost=127.0.0.1 |
| | 115 | # automatic switching of channels |
| | 116 | # It is useful if you don't want manually switch a channel on receiver with a single tuner. |
| | 117 | # If it is set to false and you have a single tuner the you can stream only channels located |
| | 118 | # on the same transponder as the current channel active on the receiver. |
| | 119 | autoZap=true |
| | 120 | # log output file |
| | 121 | logFile=/tmp/e2webserv.log |
| | 122 | # maximal log file size in KB. Set it to 0 (default 10KB) to disable logging (maximal allowed value is 1024). |
| | 123 | # When the file limit is reached a backup of the current file is created. |
| | 124 | # It means maximally 2 x maxLogSize KB will be used. |
| | 125 | maxLogSize=10 |
| | 126 | # thread pool size (1..8) |
| | 127 | threadPool=2 |
| | 128 | # Directory where the transponder and bouquet files are located. |
| | 129 | # You don't need to specify it, it will be automatically discovered. |
| | 130 | # But if you you start e2webserv not on the receiver (but e.g. on your Linux server or Windows computer) then you |
| | 131 | # should copy the settings (channel, transponder, provider and all bouquets file) and specify here the location on the local computer. |
| | 132 | titanDir=/mnt/settings |
| | 133 | }}} |
| | 134 | == Links == |
| | 135 | |
| | 136 | * Enigma2 Web-API im [http://www.aaf-digital.info/forum/showthread.php?90948-Enigma2-Web-API-f%FCr-Titan AAF-Forum] |
| | 137 | * Sources auf [https://github.com/gswiatek/e2api4titan GitHub] |
| | 138 | |
| | 139 | [[br]] |
| | 140 | [[br]] |