Ich nutz(t)e seit einer Weile auch die alte Telerising-API in Verbindung mit Emby. Hat einwandfrei funktioniert. Vor ein paar Tagen hat meine Freundin dann festgestellt, dass sie kein ARD mehr auf unserem Fernseher gucken kann. Da bin ich darauf gestoßen, dass die alte API nicht mehr supportet wird und es jetzt eine neue API gibt.
Habe diese nun eingerichtet und stoße auf das gleiche Problem wie Proxan:
danke für dein script leuft über vlc sehr gut allerdings versuche ich schon seit tagen es auf jellyfin zum laufen zu bringen aber es geht einfach nicht. (404 error laut jellyfin [definition='1','0']log[/definition] der player läd läd läd passiert aber nichts)das alte script hat funktioniert.
Die alte API lief in VLC und Emby (Jellyfin ist ja auch quasi Emby, da Emby-Fork), aber eben nicht mehr alle Sender. Die neue API läuft in VLC, da auch mit allen Sendern, aber nicht mehr in Emby/Jellyfin. Emby meldet nur "Wiedergabefehler: Derzeit sind keine kompatiblen Streams verfügbar. Bitte später erneut versuchen oder den Systemadministrator für weitere Informationen kontaktieren."
Die neue API meldet dabei nichts weiter als das hier:
Mar 25 12:53:34 t-telerising sudo[167]: 172.19.1.8 - - [25/Mar/2021 12:53:34] "#033[37mGET /api/1u1/live/ard HTTP/1.1#033[0m" 200 - Mar 25 12:53:35 t-telerising sudo[167]: 172.19.1.8 - - [25/Mar/2021 12:53:35] "#033[37mGET /api/1u1/live/ard HTTP/1.1#033[0m" 200 - Mar 25 12:53:35 t-telerising sudo[167]: 172.19.1.8 - - [25/Mar/2021 12:53:35] "#033[37mGET /api/1u1/live/ard HTTP/1.1#033[0m" 200 -
Der [definition=12,3]Debug-Log[/definition] von Emby meldet das hier:
021-03-25 12:53:33.753 Info LiveTvManager: Opening channel stream from Emby, external channel Id: m3u_51726a78b21ba9b07685ac02a6964e7d0bf5ffba00aaaa78e50aef7a83ce6e88
2021-03-25 12:53:33.753 Info LiveTV: Streaming Channel m3u_51726a78b21ba9b07685ac02a6964e7d0bf5ffba00aaaa78e50aef7a83ce6e88
2021-03-25 12:53:33.754 Info SharedHttpPipelineSource: Opening SharedHttpPipelineSource Live stream from http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:33.754 Info HttpClient: GET http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:34.662 Info HttpClient: Http response 200 from http://t-telerising/api/1u1/live/ard after 908ms. HeadersServer=Werkzeug/1.0.1 Python/3.8.0, Date=Thu, 25 Mar 2021 11:53:34 GMT
2021-03-25 12:53:34.664 Info SharedHttpPipelineSource: Beginning SharedHttpPipelineSource stream to /var/lib/emby/transcoding-temp/06a388d046a34b4bb8a4ac23ebb0f108.ts
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] GraphRunner: Initialize GraphRunner
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] SharedHttpPipelineSource: OpenOutput
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] GraphRunner: Open Output
2021-03-25 12:53:34.665 Info M3UTunerHost: Live stream opened after 910,9528ms
2021-03-25 12:53:34.665 Info LiveTV: Returning mediasource streamId 37789fb80ca1efcce1bfdb195a485070, mediaSource.Id 37789fb80ca1efcce1bfdb195a485070, mediaSource.LiveStreamId null
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] MediaSourceManager: Waiting 3000ms before probing the live stream
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] SharedHttpPipelineSource: Create GraphRunner
2021-03-25 12:53:34.665 [definition='1','3']Debug[/definition] GraphRunner: Initialize RunAsync
2021-03-25 12:53:34.666 [definition='1','3']Debug[/definition] GraphRunner: Create Packetizer
2021-03-25 12:53:34.666 [definition='1','3']Debug[/definition] GraphRunner: PipelinePacketizer: Initialize
2021-03-25 12:53:34.666 [definition='1','3']Debug[/definition] GraphRunner: PipelinePacketizer: Open input
2021-03-25 12:53:34.666 [definition='1','3']Debug[/definition] GraphRunner: PipelinePacketizer: Start loop
2021-03-25 12:53:34.666 Info SharedHttpPipelineSource: Remote server closed stream http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:34.666 Info SharedHttpPipelineSource: Retry opening stream http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:34.666 Info SharedHttpPipelineSource: Opening SharedHttpPipelineSource Live stream from http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:34.666 Info HttpClient: GET http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.425 Info HttpClient: Http response 200 from http://t-telerising/api/1u1/live/ard after 759ms. HeadersServer=Werkzeug/1.0.1 Python/3.8.0, Date=Thu, 25 Mar 2021 11:53:35 GMT
2021-03-25 12:53:35.425 Info SharedHttpPipelineSource: Remote server closed stream http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.425 Info SharedHttpPipelineSource: Retry opening stream http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.425 Info SharedHttpPipelineSource: Opening SharedHttpPipelineSource Live stream from http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.425 Info HttpClient: GET http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.663 [definition='1','3']Debug[/definition] GraphRunner: Initial wait
2021-03-25 12:53:35.725 Info HttpClient: Http response 200 from http://t-telerising/api/1u1/live/ard after 301ms. HeadersServer=Werkzeug/1.0.1 Python/3.8.0, Date=Thu, 25 Mar 2021 11:53:35 GMT
2021-03-25 12:53:35.725 Info SharedHttpPipelineSource: Remote server closed stream http://t-telerising/api/1u1/live/ard
2021-03-25 12:53:35.725 Error SharedHttpPipelineSource: Shut down stream from http://t-telerising/api/1u1/live/ard - The operation does not allow more than 2 retries within 00:05:00
Alles anzeigen
Vollständiger Log im Anhang.
Ich kann dabei irgendwie noch nicht so richtig sehen, was da schief läuft bzw. warum das schief läuft. Liefert die neue API die Playlisten bzw. speziell die einzelnen Sender anders aus als die alte API?
Ich habe mal verglichen. ARD in der alten API:
#EXTINF:0001 tvg-id="ARD.de" group-title="Main Program" tvg-logo="https://images.zattic.com/logos/2a2a4aee64bbd6f7f817/black/210x120.png", Das Erste HD
http://172.19.1.7:80/index.m3u8?channel=ard
Und ARD in der neuen API:
#EXTINF:0001 tvg-id="ARD.de" group-title="Main Program" tvg-logo="https://images.zattic.com/logos/2a2a4aee64bbd6f7f817/black/210x120.png", Das Erste HD
http://t-telerising/api/1u1/live/ard
Unterschied: Die alte API liefert direkt eine m3u8-Datei, die neue nicht (da kommt eine Datei "ard" ohne Dateiendung raus). Aber macht das wirklich den Unterschied? Erkennen Emby und JellyFin das deshalb nicht? Noch ein Blick in das, was unter dem Link zurückgeliefert wird - alte API (Tokens entfernt):
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-group",NAME="deu",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="deu",URI="https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_audio_bw_128_num_0_tid_2_p_10_l_de_nd_1600_mbr_5000.m3u8?z32=[...]"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-group",NAME="deu",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="deu",URI="https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_audio_bw_128_num_0_tid_2_p_10_l_de_nd_1600_mbr_5000.m3u8?z32=[...]"
#EXT-X-STREAM-INF:BANDWIDTH=8000000,CODECS="avc1.4d4020,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=50,AUDIO="audio-group",CLOSED-CAPTIONS=NONE
https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_video_bw_7800_num_0.m3u8?z32=[...]
neue API:
#EXTM3U
#EXT-X-VERSION:5
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="deutsch",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="de",URI="https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_audio_bw_128_num_0_tid_2_p_10_l_de_nd_1600_mbr_8000.m3u8?z32=[...]"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="other (mis)",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="mis",URI="https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_audio_bw_128_num_2_tid_4_p_10_l_mis_nd_1600_mbr_8000.m3u8?z32=[...]"
#EXT-X-STREAM-INF:BANDWIDTH=8000000,CODECS="avc1.4d402a,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=50,AUDIO="audio",CLOSED-CAPTIONS=NONE
https://fr5-0-hls5-live.zahs.tv/HD_ard/t_track_video_bw_7800_num_0_tid_1_nd_1600_mbr_8000.m3u8?z32=[...]
Ein paar feine Unterschied gibt es schon, beispielsweise heißt die GROUP-ID nun "audio" statt "audio-group" und die LANGUAGE ist nun "de" statt "deu", ebenso ist der NAME "deutsch" statt "deu", aber macht das einen Unterschied?
Ich vermute gerade eher, dass Emby die Playlists nicht erkennt, weil sie keine m3u8-Endung mehr haben, aber das ist lediglich eine Vermutung. Hat noch jemand eine Idee?