Ich denke es wird langsam Zeit eine Übersicht der möglichen alternativen Empfangswege von MagentaTV zu erstellen.
Da ich selbst nicht alles ausprobieren kann, ist das hier als Wiki ausgelegt und jeder ist eingeladen sich zu beteiligen, Beiträge zu ergänzen oder zu korrigieren.
Datenquelle
Grundsätzlich stehen die unverschlüsselt als Multicast zu empfangenden Sender in der Multicast-Adressliste zur Verfügung.
Dort findet ihr bereits fertige Playlist in gängigen Formaten. Welches Format für welches Programm benutzt werden kann müsst ihr im Zweifel ausprobieren oder den Hersteller fragen. In den nachfolgenden Abschnitten sind einige Beispiele, die ihr idealerweise direkt übernehmen könnt.
Empfangsgeräte mit Multicast-SSM-Support
Mit der Abschaltung der alten Entertain Streams ist SSM zwingend zum Empfang der Sender erforderlich. Neben dem Endgerät muss auch euer Heimnetz mit IGMPv3 arbeiten und euer Router einen IGMP-Proxy besitzen, der die IGMP Requests aus dem Heimnetz ins Telekom-Netz weiterleitet.
Für letzteres empfiehlt sich ein Gerät, das offiziell MagentaTV unterstützt. Eine Liste der von der Telekom vertriebenen Geräte findet ihr hier: https://www.telekom.de/hilfe/festnetz-internet-tv/magentatv/installation/geeignete-speedport-router
VLC
Die wohl bekannteste Variante die Sender abseits eines Media Receivers zu empfangen ist der VLC. Diese Softwarelösung ist kostenlos, läuft auf vielen Geräten und ist daher gut dazu geeignet bei Problemen die “Gegenprobe” zu machen.
Der VLC kommt mit fast allen Playlist-Formaten zurecht. Empfohlen ist derzeit die Playlist im XSPF-Format, da diese auch Senderlogos enthält. Ansonsten gibt es aber keine Unterschiede zu den anderen Playlists.
Wenn ihr das Protokoll rtp:// mit dem VLC verknüpft, könnt ihr auch die in der Liste angegebenen Links klicken. Bei VLC für Android sollte das von Haus aus funktionieren. Bei anderen Betriebssystemen müsst ihr diese Verknüpfung ggf. selbst vornehmen. Unter Windows könnt ihr dazu z.B. diese Registry Datei herunterladen, mit einem Texteditor eurer Wahl den Pfad zu VLC anpassen und in eure Registry übernehmen.
dvbviewer
dvbviewer ist kostenpflichtig, bietet jedoch weitaus mehr Komfort, als es bspw. der VLC bieten kann. Neben dem Abspielen der aktuellen Sender beinhaltet dvbviewer jede Menge weiterer Funktionen wie Aufnahmen, Timeshift, EPG, ein TV-taugliches Interface, Fernsteuerung etc.
Für den dvbviewer nehmt ihr am besten die fertige Kanalliste und importiert diese mit dem Kanallisten-Editor in dvbviewer.
Die angebotene Transponderliste ist für das in dvbviewer enthaltene TransEdit. Dort könnt ihr die Transponder importieren und scannen, analysieren, editieren.
TVHeadend
TVHeadend ist eine Software, die einerseits als Proxy für den Live-Stream dienen kann, andererseits aber auch Sendungen aufnehmen kann. Zu den weiteren Funktionen zählt die Möglichkeit EPG Daten zu verarbeiten. Im Prinzip wie der Name andeutet ein eigenes kleines Headend für Zuhause.
SSM ist für TVHeadend auch noch relativ neu und funktioniert nach eigener Erfahrung erst ab TVHeadend 4.3. Solltet ihr also z.B. auf die fertigen Debian/Ubuntu Pakete zurückgreifen wollen, so müsst ihr derzeit dafür den “unstable” Branch wählen.
Für TVHeadend findet eine eigene M3U in der Datenbank, da noch weitere Daten, wie die Kanalposition und das Kanallogo extra mitgegeben werden können. Prinzipiell sollte aber auch die “normale” M3U funktionieren, wenn ihr diese Daten sowieso selbst anpassen wollt.
Da es verschiedene EPG Anbieter gibt, fehlt die EPG ID (die sich je nach Quelle leider unterscheidet) noch in der M3U. Das ist für eine zukünftiges Update allerdings in Planung. Bis dahin müsst ihr die Kanäle selbst verknüpfen.
Netzwerk anlegen
Als ersten Schritt müsst ihr ein neues Netzwerk in TVHeadend anlegen. Klickt euch dazu durch zu Configuration/DVBInputs/Networks/Add und wählt das IPTV Automatic Network.
Im erscheinenden Dialog braucht tragt ihr neben einem Namen eurer Wahl die URL der M3U ein und entfernt den Haken bei “scan after creation” (denn mit den Standardeinstellungen wird das sowieso nicht funktionieren) und setzt den Haken bei “Enabled”. Wenn ihr wollt, könnt ihr hier je nach verfügbarer Bandbreite auch die Gesamtbandbreite oder die Anzahl gleichzeitiger Streams begrenzen. Dann klickt ihr am Ende der Seite auf “Create”.
Muxes anpassen und Services scannen
Im nächsten Schritt müsst ihr die vom Netzwerk angelegten Muxe noch anpassen. Dazu klickt ihr zunächst auf das Tab “Muxes”, ändert unten rechts die Einträge pro Seite auf “All” und wählt dann alle Einträge aus (1. Eintrag anklicken, Strg + A drücken), und klickt auf Edit. Folgende Einstellungen solltet ihr im Dialog anpassen
- EPG Scan: Ich würde hier auf “Disable” stellen, ihr könnt es aber auch aktiviert lassen. Der Effekt ist, dass bei aktiviertem EPG Scan TVHeadend regelmäßig alle Kanäle abfrägt und nach EPG Daten scanned. Der Nachteil: das belegt natürlich Bandbreite auf eurem Anschluss, die ihr vielleicht anderweitig nutzen wollt. Ausserdem enthalten die Streams lediglich die aktuell laufende und die nachfolgende Sendung. Sonderlich wertvoll ist die Option also so oder nicht. Insbesondere, wenn ihr im weiteren Verlauf einen EPG Anbieter einrichtet, der für Tage im Voraus Daten liefert. Solltet ihr das nicht tun wollen oder wollt hier immer aktuelle Daten zur gerade laufenden Sendung, könnt ihr es natürlich aktiv lassen.
- Scan Status: Setzt den Wert auf “PEND” um im Anschluss direkt den Scan zu starten
- Interface: die wichtigste Einstellung. Ohne ein gewähltes Netzwerkinterface funktioniert der Scan nicht. Wählt hier also das Netzwerkinterface aus über den der Multicast empfangen werden kann.
Bestätigt dann die Einstellungen mit “Save” am Ende der Seite.
Nach und nach sollten der Scan Status auf IDLE und der Scan result auf “OK” wechseln.
Service Mapping
Anschließend müsst ihr aus den Services Kanäle machen. Dazu klickt ihr auf das “Services” Tab und wählt “Map services”, “Map all services”
Hier könnt ihr eigentlich alle Haken entfernen, verschlüsselte Kanäle sind nicht in der Playlist, ein mergen funktioniert mit der Playlist nicht und ist meiner Meinung nach auch nicht sinnvoll. Es wäre zwar möglich die SD Kanäle ohne SD-Endung zu benennen und dann TVHeadend die HD Endung entfernen zu lassen und dann gleichnamige Kanäle zusammen zu fügen, allerdings ist es dann eher Glückssache, ob er resultierende Kanal in SD oder HD Qualität ist.
Die type-based tags funktionieren ebenfalls nicht richtig, da bei MagentaTV auch die SD Kanäle in H264 ausgestrahlt werden und TVHeadend diese dann als HDTV tagged.
Klickt abschließend auf “Map services”.
Damit sollte das Grundsetup abgeschlossen sein und ihr müsstet mit einem Client für TVHeadend die Kanäle sehen.
Für einen Schnelltest am PC bietet sich die Chrome App Movian an (in das Suchfeld die Adresse htsp://ServerIP eintragen). Ein anderer beliebter Client wäre Kodi.
EPG
Wie schon angedeutet, könnt ihr externe EPG Quellen an TVHeadend anbinden und mit den gerade eingerichteten Kanälen verknüpfen.
Hier führen viele Wege nach Rom. Um den Weg möglichst einfach zu gestalten, gibt es in der Datenbank passende M3Us für verschiedene EPG Anbieter. Im Moment beschränkt sich das allerdings auf den allseits beliebten Rytec EPG. Diesen gibt es unter immer wieder anderen Mirror-Adressen, so dass ihr hier am besten selbst Google bemüht. Für die frei empfangbaren Sender empfiehlt sich die rytecDE_Basic Datei.
Diese müsst ihr mit einem Grabber in TVHeadend importieren. Auch hier gibt es vielfältige Möglichkeiten. Am flexibelsten ist vermutlich das Modul External: XMLTV, das ihr direkt in den Grabber Modulen aktivieren könnt.
Nun müsst ihr nur noch die Daten an die angegebene Datei streamen. Dazu könnt ihr euch ein einfaches Script bauen. Eine gute Vorlage findet ihr z.B. hier: https://www.kodinerds.net/index.php/Thread/59348-SHELLSCRIPT-Rytec-EPG-Grabber-für-TvHeadend/
Beim Anlegen des IPTV Automatic Networks benutzt ihr einfach die passende URL. Im Fall vom angesprochenen EPG Anbieter wäre das https://db.iptv.blog/multicastadressliste/tvheadend/rytecDE_Basic
Dann scannt ihr wieder und nachdem ihr die Services gemapped habt, sollten die Kanäle direkt mit den EPG Kanälen verknüpft sein.
Ggf. müsst ihr danach noch mal einen EPG importieren.
In den Logs solltet ihr dann in etwa sowas sehen
2020-02-15 17:42:51.336 xmltv: xmltv: grab took 1 seconds
2020-02-15 17:42:53.216 xmltv: xmltv: parse took 1 seconds
2020-02-15 17:42:53.216 xmltv: xmltv: channels tot= 73 new= 0 mod= 0
2020-02-15 17:42:53.216 xmltv: xmltv: brands tot= 0 new= 0 mod= 0
2020-02-15 17:42:53.216 xmltv: xmltv: seasons tot= 0 new= 0 mod= 0
2020-02-15 17:42:53.216 xmltv: xmltv: episodes tot= 0 new= 0 mod= 0
2020-02-15 17:42:53.216 xmltv: xmltv: broadcasts tot=12669 new=12669 mod= 0
Und der EPG sollte gefüllt sein: