
Telerising API - Zattoo, waipu.tv, blue TV & Sky CH für tvHeadend und VLC [Web App]
-
easy4me -
26. Februar 2021 um 21:21 -
Unerledigt
Am Samstag (06.09.25) Vormittag werde ich ein Update der Forensoftware (inkl. aller Plugins) durchführen. Das Forum wird deshalb auf unbestimmte Zeit nicht verfügbar sein. Neuigkeiten wird es im Matrix Chat geben: https://www.kodinerds.net/thread/79927-freischaltung-matrix-chat/
-
-
Nicht ganz, wenn ich etwas flüssiger bin, gibt es eine Spende
-
-
OK. Bei einem großen Teil der Telerising-Quellen gelingt mir das Durchreichen aller Audio-Spuren. Probleme machen aber die Anbieter aus der Schweiz, die die Infrastruktur von Zattoo nutzen (Zattoo CH, Yallo, Teleboy). Bei diesen wird der Stream nicht (fast alle) oder nur stockend (Spiegel TV Konflikte) abgespielt. Mit diesen Anbietern hatte ich aber auch schon mit den früheren Telerising-Quellen Probleme mit ffmpeg. Die Lösung für mich war, Streamlink in die Pipe zu nehmen. Das funktioiert, führt aber dazu, dass es nur noch eine Tonspur gibt. Mir geht es aktuell aber ja gerade darum, die Tonspuren zu behalten. Ist hier eine Lösung möglich?
Mein Verdacht ist, dass bei diesen Quellen dieselbe Problematik wie bei Sweez vorliegt. Wir hatten das Thema hier:
Telerising API - Zattoo, waipu.tv, blue TV & Sky CH für tvHeadend und VLC [Web App] -
gehts den mit nur 1 spur ohne ruckeln? ist vielleicht dns4me einfach nur kacke? wir haben 20 uhr durch, die ihre server duerften wohl grad an ihre grenzen kommen.
-
-
Wie genau sieht deine streamlink pipe aus?
Zumindest bei HLS sollte --hls-audio-select "*" alle Audiospuren berücksichtigen. Achtung, die Gänsefüßchen sind nicht immer einfach in die Kommandozeile zu kriegen. Ich nutzte das aus C++ Quelltext, da geht es ganz normal mit Backslash \"*\" und in einer Unix Shell reicht es vermutlich den ganzen Ausdruck in einfache Hochkommata zu setzen. Wie genau es bei tvh aussehen muss, weiß ich jetzt nicht und hängt davon ab, wie tvh das Kommando startet (z.B. über die shell mit system() oder ...)
-
Beitrag von niwi (
13. August 2025 um 21:20 )Dieser Beitrag wurde vom Autor gelöscht (13. August 2025 um 21:24 ). -
-
gehts den mit nur 1 spur ohne ruckeln? ist vielleicht dns4me einfach nur kacke? wir haben 20 uhr durch, die ihre server duerften wohl grad an ihre grenzen kommen.
Das dachte ich früher auch. Ist aber nicht so. Betroffen sind nur die Zattoo-Klone aus der Schweiz. Und auch nur, wenn nicht Streamlink zwischengeschaltet ist.
Wie genau sieht deine streamlink pipe aus?
Zumindest bei HLS sollte --hls-audio-select "*" alle Audiospuren berücksichtigen. Achtung, die Gänsefüßchen sind nicht immer einfach in die Kommandozeile zu kriegen. Ich nutzte das aus C++ Quelltext, da geht es ganz normal mit Backslash \"*\" und in einer Unix Shell reicht es vermutlich den ganzen Ausdruck in einfache Hochkommata zu setzen. Wie genau es bei tvh aussehen muss, weiß ich jetzt nicht und hängt davon ab, wie tvh das Kommando startet (z.B. über die shell mit system() oder ...)
Wenn ich die von dir genannten Parameter versuche, passiert folgendes:
Codestreamlink --hls-audio-select "*" --hls-subtitles --hls-subtitles-lang "*" http://192.168.1.5:5000/api/zc2/live/sf-1.m3u8 best usage: streamlink [OPTIONS] <URL> [STREAM] streamlink: error: unrecognized arguments: --hls-subtitles --hls-subtitles-lang best
Funktionieren die Parameter bei dir tatsächlich? Welche Version hast du? Bei mir ist es 7.3.0.
Meine funktionierende Streamlink-Lösung (aber halt ohne mehrere Audiospuren) sieht so aus, dass ich folgendes Bashscript angelegt habe:
Bash#!/bin/bash /usr/bin/streamlink --mux-subtitles --stdout "$1" best | ffmpeg -i pipe:0 -vcodec copy -acodec copy -mpegts_service_type advanced_codec_digital_hdtv -f mpegts pipe:1
Ein Zeile mit Pipe in einer M3U-Datei sieht dann so aus:
Die M3U-Dateien lasse ich mir durch ein Python3-Script automatisch erstellen:
Code
Alles anzeigenimport requests # Konfiguration M3U_URL = "http://192.168.1.5:5000/api/tby/file/channels.m3u" OUTPUT_FILE = "/opt/teleboy/teleboy.m3u" PIPE_PREFIX = "pipe:///opt/streamlink.sh " def download_and_prepare_m3u(url, output_path): try: response = requests.get(url) response.raise_for_status() lines = response.text.splitlines() processed_lines = [] i = 0 while i < len(lines): line = lines[i].strip() # Behalte EXTINF-Zeilen bei if line.startswith("#EXTINF"): processed_lines.append(line) i += 1 # Nächste Zeile ist die Stream-URL if i < len(lines): stream_line = lines[i].strip() if stream_line and not stream_line.startswith("#"): # Prüfe, ob URL mit http beginnt, wenn nicht, ergänzen if not stream_line.startswith("http"): stream_line = "http://" + stream_line processed_lines.append(f"{PIPE_PREFIX}{stream_line}") else: processed_lines.append(stream_line) else: processed_lines.append(line) i += 1 # Schreibe Datei (überschreiben erlaubt) with open(output_path, "w") as f: f.write("\n".join(processed_lines)) print(f"Erfolgreich gespeichert unter: {output_path}") except Exception as e: print(f"⌠Fehler: {e}") if __name__ == "__main__": download_and_prepare_m3u(M3U_URL, OUTPUT_FILE)
-
niwi ffmpeg faengt irgendwann nach einer minute an die segmente zu skippen. das ist vielleicht einfach zuviel fuer zattoo. jede verbindung 1 stream. maximal 4 aber hier haben wir 7. oder zattoo drosselt die verbindung weil ihnen das zuviel ist und ffmpeg fast der timestamp nicht mehr. normal tut der client ja 1 video, 1 audio und 1 subtitle auswaehlen.
-
-
niwi ffmpeg faengt irgendwann nach einer minute an die segmente zu skippen. das ist vielleicht einfach zuviel fuer zattoo. jede verbindung 1 stream. maximal 4 aber hier haben wir 7. oder zattoo drosselt die verbindung weil ihnen das zuviel ist und ffmpeg fast der timestamp nicht mehr. normal tut der client ja 1 video, 1 audio und 1 subtitle auswaehlen.
Ich beobachte das Problem aber schon innerhalb der ersten Sekunden, nicht erst nach einer Minute. Und das Problem tritt auch auf, wenn ich gar nicht alle Streams auswähle. Ich kann auch nicht ganz traditionell (ohne Eintrag von custom ffmpeg pipe command) einen Schweizer Zattoo-Clone in TVHeadend einbinden, ohne dass es zu ständigem Stocken kommt.
-
dann hast du definitiv ein anderes problem auf deiner seite. niemand hat solch ein problem.
du solltest dich erstmal darauf konzentrieren auf dem einfachsten weg eine stabile verbindung zu bekommen. ohne dns4me, mal mit vpn. ohne ein docker, direkt auf einem host. an deiner leitung wirds wohl nicht liegen wenn waipu rund laeuft.
oben nutzt du zc2 zattoo und dan tby teleboy. hast du bei zattoo ein abo oder ist das alles free? wuerde sicher auch ein grund sein.
-
-
dann hast du definitiv ein anderes problem auf deiner seite. niemand hat solch ein problem.
Mag sein. Allerdings kenne ich das Problem schon länger mit unterschiedlichen Systemen.
du solltest dich erstmal darauf konzentrieren auf dem einfachsten weg eine stabile verbindung zu bekommen. ohne dns4me, mal mit vpn.
Diesen Ratschlag verstehe ich nicht. Ich habe doch klar geschrieben, dass ich einen stabilen Empfang habe, wenn ich streamlink in die pipe aufnehme. Warum soll ich dann auf dns4me verzichten?
ohne ein docker, direkt auf einem host.
Ich nutze kein Docker. Ich nutze Proxmox.
an deiner leitung wirds wohl nicht liegen wenn waipu rund laeuft.
Korrekt.
oben nutzt du zc2 zattoo und dan tby teleboy. hast du bei zattoo ein abo oder ist das alles free? wuerde sicher auch ein grund sein.
Ich bin nicht sicher, was du meinst. Ich nutze alle Schweizer Dienste im Moment kostenlos. Ich habe mein Zattoo-CH-Abo im Februar gekündigt, weil ich in den Monaten davor immer wieder Unterbrechungen hatte. Besonders gravierend war es rund um große Sportereignisse. Da ich lange zahlender Kunde war, finde ich es ok, nun erst einmal eine Weile nur kostenlos unterwegs zu sein.
-
Ich bin dann an dieser Stelle erstmal raus aus dem Thema.
-
-
Hallo allerseits, echt super, was ihr hier in eurer Freizeit auf die Beine stellt!!!
Auch ich schreibe heute hier zum ersten mal, habe aber schon viel gelesen.
Aber wahrscheinlich noch nicht genug... In Verson 14.8 sollen ja die Webpage-Files lokal gespeichert werden.
Aber ich finde die nirgendwo in Ordnerbaum telerising. Die wären für mich besonders für die Aufnahmen interessant.
Ach ja ich habe einen schweizer Zattoo account, falls das wichtig ist.
-
RudiRoechel app/static
aber wen du nicht findest was du suchst, dann meinst du sicher was anderes als "webpage-files"
-
-
Teleboy und Zattoo kann ich über Telerising über Tivimate und E2 Receiver abspielen.
Waipu nur die HLS Streams.
Gibt es eine Möglichkeit, dass die Waipu drm DASH Streams auch über TivImate abgespielt werden können? -
RudiRoechel app/static
aber wen du nicht findest was du suchst, dann meinst du sicher was anderes als "webpage-files"
Richtig, dann meine ich doch was anderes. Es gibt zu jeder Sendung auf zattoo infos in der Webapp. Die bekommt man auch wunderbar als json z.B. unter https://zattoo.com/zapi/v2/cached…m_ids=385911007 der Usedomkrimi von jetzt.
Ich dachte, das wären die gleichen IDs wie in der recordings.m3u8 z.B. http://server:5000/api/zc2/pvr/792164825/get.m3u8, also hier die zc2/pvr/792164825. Nur die stimmen eben nicht überein. Ich würde gerne zu meinen Aufnahmen die passenden json Daten herunterladen.
-
-
Die bekommt man auch wunderbar als json
Spoiler anzeigen
Code
Alles anzeigen{ "success": true, "programs": [ { "bo": false, "c_ids": [ 1 ], "channel_name": "Das Erste HD", "cid": "ard", "d": "Den Schleuser Grzegorz Kuchar bringt acht Fl\u00fcchtlinge nach Deutschland. Obwohl die kleine Amira unter Bauchschmerzen leidet, will der Schleuser nicht anhalten, um Hilfe zu holen. Und so ist das M\u00e4dchen tot, als der Transporter auf Usedom ankommt.", "e": 1754611380, "e_no": 21, "et": "Geburt der Drachenfrau", "i_t": "a6ba4472e7520c3e5a45", "id": 385066862, "imdb_id": null, "max_ry_u": 1755216180, "r_e": true, "rg_u": 1755216180, "ry_u": 1755216180, "s": 1754605800, "s_no": 1, "ser_e": true, "ser_i_t": "1e60fea1454aa740f371", "t": "Der Usedom-Krimi", "tms_id": "EP020276640021", "ts_id": 119464, "year": 2023, "yp_r": "FSK 12", "yp_req": false, "r": {}, "cc": [], "country": "DEU", "cr": { "actor": [ "Katrin Sass", "Till Firit", "Milena Drei\u00dfig", "Rainer Sellien", "Jana Julia Roth", "Rikke Lylloff", "Marion Kracht", "J\u00f6rg Sch\u00fcttauf", "Lilly Dreesen", "Ada Philine Stappenbeck" ], "director": [ "Grzegorz Muskala" ] }, "i": "cms/a6ba4472e7520c3e5a45/format_480x360.jpg", "i_url": "http://images.zattic.com/cms/a6ba4472e7520c3e5a45/format_480x360.jpg", "c": [ "Series" ], "cast": [ { "r": "Cast", "f_n": "Katrin Sass", "c_n": "Karin Lossow", "i_t": "019bc21be279bb664dd9" }, { "r": "Cast", "f_n": "Till Firit", "c_n": "Rainer", "i_t": null }, { "r": "Cast", "f_n": "Milena Drei\u00dfig", "c_n": "Katharina", "i_t": "3fea59c33e89dbc604c0" }, { "r": "Cast", "f_n": "Rainer Sellien", "c_n": "Holm", "i_t": "bbcf2f2dfc9574290f38" }, { "r": "Cast", "f_n": "Jana Julia Roth", "c_n": "Dorit", "i_t": null }, { "r": "Cast", "f_n": "Rikke Lylloff", "c_n": "Ellen", "i_t": "cd7544bd3b546d847975" }, { "r": "Cast", "f_n": "Marion Kracht", "c_n": "Patrizia", "i_t": "3ac81d749fcb42085fd7" }, { "r": "Cast", "f_n": "J\u00f6rg Sch\u00fcttauf", "c_n": "J\u00f6rn", "i_t": "b9ad8aa5b20284e66de6" }, { "r": "Cast", "f_n": "Lilly Dreesen", "c_n": "Lara", "i_t": null }, { "r": "Cast", "f_n": "Ada Philine Stappenbeck", "c_n": "Fabienne", "i_t": null } ], "crew": [ { "r": "Director", "f_n": "Grzegorz Muskala", "i_t": null } ], "g": [ "Crime" ] } ] }
hm ich seh da jetzt nichts was wir im epg "besser" haben? gbs da sonnst mehr infos?
edit: naja die cast ist schon nicht schlecht. hast auf eine art recht
-
Es sind unterschiedliche IDs, Telerising bedient die Aufnahme-IDs, für die entsprechenden Programminfos gibt es eigene IDs.
-
-
-
Spoiler anzeigen
Code
Alles anzeigen{ "success": true, "programs": [ { "bo": false, "c_ids": [ 1 ], "channel_name": "Das Erste HD", "cid": "ard", "d": "Den Schleuser Grzegorz Kuchar bringt acht Fl\u00fcchtlinge nach Deutschland. Obwohl die kleine Amira unter Bauchschmerzen leidet, will der Schleuser nicht anhalten, um Hilfe zu holen. Und so ist das M\u00e4dchen tot, als der Transporter auf Usedom ankommt.", "e": 1754611380, "e_no": 21, "et": "Geburt der Drachenfrau", "i_t": "a6ba4472e7520c3e5a45", "id": 385066862, "imdb_id": null, "max_ry_u": 1755216180, "r_e": true, "rg_u": 1755216180, "ry_u": 1755216180, "s": 1754605800, "s_no": 1, "ser_e": true, "ser_i_t": "1e60fea1454aa740f371", "t": "Der Usedom-Krimi", "tms_id": "EP020276640021", "ts_id": 119464, "year": 2023, "yp_r": "FSK 12", "yp_req": false, "r": {}, "cc": [], "country": "DEU", "cr": { "actor": [ "Katrin Sass", "Till Firit", "Milena Drei\u00dfig", "Rainer Sellien", "Jana Julia Roth", "Rikke Lylloff", "Marion Kracht", "J\u00f6rg Sch\u00fcttauf", "Lilly Dreesen", "Ada Philine Stappenbeck" ], "director": [ "Grzegorz Muskala" ] }, "i": "cms/a6ba4472e7520c3e5a45/format_480x360.jpg", "i_url": "http://images.zattic.com/cms/a6ba4472e7520c3e5a45/format_480x360.jpg", "c": [ "Series" ], "cast": [ { "r": "Cast", "f_n": "Katrin Sass", "c_n": "Karin Lossow", "i_t": "019bc21be279bb664dd9" }, { "r": "Cast", "f_n": "Till Firit", "c_n": "Rainer", "i_t": null }, { "r": "Cast", "f_n": "Milena Drei\u00dfig", "c_n": "Katharina", "i_t": "3fea59c33e89dbc604c0" }, { "r": "Cast", "f_n": "Rainer Sellien", "c_n": "Holm", "i_t": "bbcf2f2dfc9574290f38" }, { "r": "Cast", "f_n": "Jana Julia Roth", "c_n": "Dorit", "i_t": null }, { "r": "Cast", "f_n": "Rikke Lylloff", "c_n": "Ellen", "i_t": "cd7544bd3b546d847975" }, { "r": "Cast", "f_n": "Marion Kracht", "c_n": "Patrizia", "i_t": "3ac81d749fcb42085fd7" }, { "r": "Cast", "f_n": "J\u00f6rg Sch\u00fcttauf", "c_n": "J\u00f6rn", "i_t": "b9ad8aa5b20284e66de6" }, { "r": "Cast", "f_n": "Lilly Dreesen", "c_n": "Lara", "i_t": null }, { "r": "Cast", "f_n": "Ada Philine Stappenbeck", "c_n": "Fabienne", "i_t": null } ], "crew": [ { "r": "Director", "f_n": "Grzegorz Muskala", "i_t": null } ], "g": [ "Crime" ] } ] }
hm ich seh da jetzt nichts was wir im epg "besser" haben? gbs da sonnst mehr infos?
edit: naja die cast ist schon nicht schlecht. hast auf eine art recht
Richtig, cast ist drin und eben auch für "alte" Aufnahmen. Ich habe da teilweise Sachen, die mehrere Jahre alt sind und hätte dann gerne die Infos. Dachte gerade schon in der url der Bilder/Cover ist ja auch so eine Art ID drin aber die passt auch nicht überein. Man bekommt die ID schon. Wenn man im Browser mit der Maus über den Eintrag in der Programmübersicht geht bekommt man schon die ID als Teil der URL wenn die "Detail" Ansicht geöffnet wird. Aber bei mehren 100 Aufnahmen hätte ich dazu nur wenig Lust
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!