Das Stream-Uhzeit-Dingens ist cool
[RELEASE] Kodi-Addon-ARDundZDF
-
rols1 -
28. Dezember 2018 um 12:59 -
Unerledigt
-
-
-
-
Und könnte für mich Standard auf ON stehen
und ausgerechnet bei den Lokalzeit-Streams klappt's nicht..
Irgendwie tut sich inputstream.adaptive mit den Streams aus Köln schwer, bei einigen Event-Streams des WDR hakt es auch.
Btw: bin z.Z. beim Systemupgrade - Verzögerungen beim Support sind möglich.
/R
-
und ausgerechnet bei den Lokalzeit-Streams klappt's nicht..
Irgendwie tut sich inputstream.adaptive mit den Streams aus Köln schwer, bei einigen Event-Streams des WDR hakt es auch.
Hallo !
1. Ich würde Dir empfehlen, in der Funktion "ShowSeekPos" statt der Code-Sequenz:
Codexbmc.sleep(2000) # Gedenksek. für Raspi u.ä., sonst LastSeek=0 if player.isPlaying() == False: # sollte hier nicht mehr passieren PLog("player_is_off") return TotalTime = int(player.getTotalTime()) # sec, float -> int, max. Puffergröße LastSeek = int(player.getTime()) # Basis-Wert für akt. Uhrzeit
die folgende zu verwenden:
Code
Alles anzeigen# Maximal 10 Gedenksekunden bis sich der Player initialisiert hat (Raspi, empirisch) i = 0 TotalTime = 0 while not monitor.waitForAbort(1) and i < 10: xbmc.sleep(100) if player.isPlaying(): TotalTime = int(player.getTotalTime()) if TotalTime: break i += 1 if not TotalTime: PLog("player_is_off") return LastSeek = int(player.getTime())
2. Darf ich die Funktion "ShowSeekPos" bzw. die Funktionalität "Stream-Uhrzeit einblenden" für die ARD- und ZFD-Addons aus Gigathek verwenden ?
Ist ein cooles Feature -
-
Ich würde Dir empfehlen, in der Funktion "ShowSeekPos" statt der Code-Sequenz:
ja, das ist natürlich sauberer - besten Dank.
Darf ich die Funktion "ShowSeekPos" bzw. die Funktionalität "Stream-Uhrzeit einblenden" für die ARD- und ZFD-Addons aus Gigathek verwenden ?
na klar,versteht sich doch unter uns Schraubern von selbst.
Ich bin etwas überrascht, dass die Option so gut ankommt. Immerhin fehlt noch ein Filter für die Konserven-Streams. Bei denen finde ich die Uhrzeitangabe etwas merkwürdig. Außerdem will es bei einigen echten Live-Streams partout nicht klappen. Der Blick ins Kodi-Log zeigt, dass auch inputstream sich dabei abmüht. Hier hoffe ich noch auf eine Lösung.
/R
-
ja, das ist natürlich sauberer - besten Dank.
Editiert, s.o.
-
-
Editiert, s.o.
du meintest wahrscheinlich xbmc.sleep(1000) für die 10 Gedenksekunden?
Ich übernehme es und stelle die monitor-Initialisierung noch vor die Schleife.
/R
-
du meintest wahrscheinlich xbmc.sleep(1000) für die 10 Gedenksekunden?
Ich übernehme es und stelle die monitor-Initialisierung noch vor die Schleife.
/R
Nee, ich dachte: maximal 10 Schleifendurchläufe mit jeweils einer Sekunde Wartezeit.
monitor.waitForAbort(1) blockiert laut Doku eine Sekunde, oder kehrt sofort zum Aufrufer zurück wenn Abbruch bzw. wenn Kodi beendet wird.
Das xbmc.sleep(100) ist nur zur Sicherheit, da ich nicht weiss was die Funktion monitor.waitForAbort() intern genau macht, vielleicht sleep() vielleicht auch nicht.
So hast Du es ja auch in der zweiten Schleife implementiert, erst monitor.waitForAbort(2) als Schleifenbedingung und dann als erste Anweisung der Schleife ein xbmc.sleep(500).
Kannst ja mal schauen ob WDR Lokalzeit damit funktioniert.
-
-
Nee, ich dachte: maximal 10 Schleifendurchläufe mit jeweils einer Sekunde Wartezeit ( monitor.waitForAbort(1)wartet laut Doku eine Sekunde, oder kehrt sofort zum Aufrufer zurück wenn Abbruch bzw. wenn Kodi beendet wird )
pardon, Fehler meinerseits. Die Zeile hatte ich aus dem Modul playlist im Addon kopiert - ohne Prüfung, da funktionsfähig.
Logisch passender wäre hier while monitor.waitForAbort(), ohne Verneinung. Es geht im Thread ja nur darum, auf eine äußere Abbruchbedingung im Addon zu reagieren. Mit der Verneinung beginnt die Schleife immer neu nach dem Timeout - daher funktioniert dies ebenfalls. Die Größe des Timeouts hier ist also mit oder ohne Verneinung irrelevant.
Ich mache aber vorsichtshalber noch ein paar Versuche, denn irritierend war bisher, dass inputstream bei einigen Streams endlos buffert, wenn die Schleifen nur mit xbmc.sleep() laufen. Ich hatte erwartet, dass damit für die Kodi-Threads genügend Prozessorzeit übrig bleibt. Das hat sich erst mit der Verwendung der monitor-Funktion gebessert. Übrigens scheint auch waitForAbort selbst in manchen Fällen ein Wackelkandidat zu sein (siehe https://forum.kodi.tv/showthread.php?tid=355930).
Leider bin z.Z. immer noch mit dem Systemupgrade meines Linux-PC beschäftigt. Vielleicht wartest du besser noch ein paar Tage bis zur Übernahme in deine Addons.
/R
-
Vielleicht wartest du besser noch ein paar Tage bis zur Übernahme in deine Addons.
Das sowieso.
Wird erst mal intensiv auf meinem Produktiv- bzw. Wohnzimmer-System im Dauerbetrieb gestestet.
-
-
Kannst ja mal schauen ob WDR Lokalzeit damit funktioniert.
ich hatte nach meinem PC-Upgrade eine größere Testreihe mit ca. 30 verschiedenen Live-Streams des Addons (Überregional, Regional, Privat, ARD- und ZDF-Event-Streams. Die wdrlokalzeit-Streams als hartnäckigste Verweigerer verwendete ich als Basis für unterschiedliche Wait-Varianten, um die zeitlichen Verzögerungen bei zu berücksichtigen. Einige Auffälligkeiten und weitere Hinweise habe ich in der Kopfdoku des Threads ShowSeekPos gelistet. Dabei befindet sich auch eine allgemeine Einschätzung zur Problemlage:
Zitat# inputstream hat mit einigen Streams Syncprobleme
# (Video- und/oder Sound-Streams). Dies kann zu endlosem Bufern führen,
# wenn das Addon nach Playerstart Funktionen des Players abfragt (getTime,
# getTotalTime). Dabei spielen Zeitverzögerungen (time.sleep, xbmc.sleep,
# waitForAbort) offensichtlich keine Rolle.
Die von dir empfohlene Warteschleife habe ich in die Funktion PlayVideo verlegt. Dort setzt das Addon xbmc.Player().showSubtitles(), True oder False - je nach Setting und muss daher dort bereits auf den Player warten. Eine zweite Warterunde im Thread ist laut den Testergebnisssen irrelevant.
Unklar bleibt für mich, warum es im Thread ShowSeekPos bei Syncproblemen zum Blockieren kommt, was sich in endlosem Buffern äußert. Die 1 Sekunde xbmc.sleep in der waitForAbort-Schleife müsste das eigentlich verhindern. Hier möchte ich aber nicht noch mehr Zeit investieren.
Btw: die Tests haben mir geholfen, die xbmc-Funktion monitor.waitForAbort() richtig einzusetzen - danke für den Stupser.
Interessant: auch bei meinen Tests auf dem Raspi 3b+ war der Player jeweils bereits nach 1 Sekunde verfügbar (s. Log-Anweisungen). Daher habe ich die max. Wartezeit von 10 auf 5 Sek. verringert. Eine Verfügbarkeit des Players (bei Verwendung von inputstream.adaptive) bedeutet aber nicht, dass der Stream abspielbereit ist. Die Wiedergabe erfolgt erst nach erfolgreicher Synchronisation durch inputstream. Leider liefert die Abfrage player.getTime() während des Syncs bereits Werte, die stark differieren können - also keine verlässliche Basis für eine Entscheidung, den Stream für die Nutzung der Stream-Uhrzeit zu verwerfen. Sync-Probleme wirft inputstream zwar im Kodi-Log aus, ich finde aber im Wicki von inputstream keine Schnittstelle zu diesem Bereich.
Ganz schön viel Aufwand für so ein kleines Goodie.
Das gestrige Einzelupdate util.py enthält den aktuellen Stand. Das Addon-Update auf V4.7.8 folgt voraussichtlich erst am 16.07.2023.
/R
-
Update V4.7.8 Fixes
1. Stream-Uhrzeit (Nachbesserung): Livestreams separiert (Videos ausgeschlossen), verbesserte Erkennung von Sync-Problemen. Laut den Tests scheiden alle Livestreams für die Stream-Uhrzeit aus, die am Beginn des Zeitpuffers starten (normal ist der Start am Ende des Puffers oder an der vorgeschlagenen letzten Position). Bei diesen Streams hat inputstream.adaptive entweder Synchronisations-Probleme oder blockiert die Bedienung mit einem Ladekreis. Zu den betroffenen Livestreams gehören sämtliche WDR-Lokalzeitstreams (daher deaktiviert für die Stream-Uhrzeit) sowie die ZDF-Event-Streams (Addon-Info "Stream-Uhrzeit hier nicht möglich").
2. ARD Event Streams: Url-Check und Fehlermeldung bei nicht verfügbaren Streams ergänzt.
3. Titel ganzer Sendungen markieren (Kennzeichnungstabelle in full_shows_ARD): Anpassung an Sekundenformat der ARD (früher Minuten), Beispielsendungen: quer, extra 3, Anne Will u.a.
Details siehe Menü Info -> Änderungsliste
/R
-
-
Update V4.7.8 ZDF-Event-Livestreams (i.Z.m. Fußball-Frauen-WM)
Anzeige der Verfügbarkeit im Info-Text ergänzt (fehlte seit Neuauflage des ZDF-Codes Ende April), Kennzeichnung im Ttitel. Siehe Bilder ZDF-Live-Info und ZDF-Live-Now.
Edit: auf der ZDF-Webseite sind einige Livebeiträge mit den Event-Streams "WDR Spezial" (1 - 5) verlinkt. Eine direkte Verfolgung ist im Addon leider nicht möglich. Dieses Links sind aber zusammen mit den übrigen "ARD Event Streams" hier erreichbar: 1. "TV-Livestreams", 2. "ARD sportschau.de (WDR)"Edit2: bei den Videoquellen der ZDF-Event-Livestreams ist nach dem Update noch ein abweichendes Format aufgetreten. dies wird mit Einzelupdate ardundzdf.py berücksichtigt.
Weitere Änderungen und Details siehe Menü Info -> Änderungsliste.
/R
-
Update V4.7.8 ZDF-Event-Livestreams (i.Z.m. Fußball-Frauen-WM)
Anzeige der Verfügbarkeit im Info-Text ergänzt (fehlte seit Neuauflage des ZDF-Codes Ende April), Kennzeichnung im Ttitel. Siehe Bilder ZDF-Live-Info und ZDF-Live-Now.
Edit: auf der ZDF-Webseite sind einige Livebeiträge mit den Event-Streams "WDR Spezial" (1 - 5) verlinkt. Eine direkte Verfolgung ist im Addon leider nicht möglich. Dieses Links sind aber zusammen mit den übrigen "ARD Event Streams" hier erreichbar: 1. "TV-Livestreams", 2. "ARD sportschau.de (WDR)"Hi rols1 aktuell läuft bei der Fußball Frauen WM das Spiel im zwischen Panama - Jamaika als ZDF Live Stream. Im Addon kann ich es auch unter ZDF Sportstudio -> Highlights mit dem Zusatz JETZT LIVE finden. Allerdings wird dort der Fehler "leider kein Video verfügbar" ausgegeben. Auch unter der anderen genannten Quellen (ZDF bzw. ARD Event Streams) ist nichts zu finden, haben eben allen einzelnen Sender versucht. Gibt es eventuell noch weitere Streaming Links beim ZDF?
Gruß Weri
-
-
Warum nutzt du nicht den Live Stream?
-
Weri: bei mir klappte es sowohl über das Menü ZDF Sportstudio als auch über das Startmenü -> Live. Es könnte ein Problem mit dem Cache vorliegen, wenn bei dir die Seite bereits vor dem Start der Übertragung geladen war (das war es bei mir nicht). Überprüfung läuft..
/R
-
-
Ja Bobbi2021 , aktuell wird das Spiel auch im regulären TV übertragen. Dies ist mir schon bewusst. Mir geht es allerdings insbesondere um die ZDF-Event Streams.
rols1 In diesem Fall müsste es doch an der genannten Stelle zumindest einen Link zum aktuellen Live Programm vom ZDF anstatt der Fehlermeldung geben oder?
Edit:
Weri: bei mir klappte es sowohl über das Menü ZDF Sportstudio als auch über das Startmenü -> Live. Es könnte ein Problem mit dem Cache vorliegen, wenn bei dir die Seite bereits vor dem Start der Übertragung geladen war (das war es bei mir nicht). Überprüfung läuft..
/R
Ich hatte auch erst nach dem Beginn des Spiels versucht über das ZDF Menü den Link zu starten. Auch nach einem Neustart von Kodi kommt bei mir nach wie vor die Fehlermeldung. Der normale TV-Livestream läuft. Ich nutze Kodi 20.1 mit Android. Hängt es vielleicht damit zusammen?
Gruß Weri
-
In diesem Fall müsste es doch an der genannten Stelle zumindest einen Link zum aktuellen Live Programm vom ZDF anstatt der Fehlermeldung geben oder?
nein, denn die Url zur Videoquelle liefert ja die relevanten Streams - in diesem Fall. Leider gibt die selbe Url vor dem Beginn der Übertragung keine Quelle aus. Diese Url wird zur Zeit noch im Cache gespeichert. Ich suche nach einer Möglichkeit, den Cache für die Livestreams zu unterbinden.
/R
-
-
Weri: könntest du bitte zum "Werifizieren" nochmal den Livezugang über das Menü ZDF-Sportstudio versuchen. Vorher bitte mindestens 5 Minuten kein ZDF-Menü aufrufen bzw, falls bereits aktiv, mindestens 5 Minuten bis zum Umschalten warten. Ich könnte sonst erst wieder am MO-Morgen beim Spiel Japan-Spanien abgleichen.
/R
-
Weri: könntest du bitte zum "Werifizieren" nochmal den Livezugang über das Menü ZDF-Sportstudio versuchen. Vorher bitte mindestens 5 Minuten kein ZDF-Menü aufrufen bzw, falls bereits aktiv, mindestens 5 Minuten bis zum Umschalten warten. Ich könnte sonst erst wieder am MO-Morgen beim Spiel Japan-Spanien abgleichen.
/R
Habe es gerade noch einmal auf einem anderen Gerät versucht: Kodi 20.1 auf Basis iOS. Da kommt immer noch der Fehler, auch nach 5min warten.
Gruß Weri
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!