[RELEASE] Kodi-Addon-ARDundZDF

  • Welche Taste auf der Fernbedienung ist das dann?

    pardon - ich habe erst jetzt einen Blick in die verlinkte lircmap-xml geworfen. Da war meine Antwort Zurück-Taste nicht wirklich hilfreich.
    Vermutlich machst du aber eigene Versuche. Da ich selbst keine Fernbedienung für Kodi nutze (selbst für den RP3 am TV schubse ich eine Maus), würde es mich freuen, wenn du verwertbare Ergebnisse teilen kannst.

    /R

  • pardon - ich habe erst jetzt einen Blick in die verlinkte lircmap-xml geworfen. Da war meine Antwort Zurück-Taste nicht wirklich hilfreich.
    Vermutlich machst du aber eigene Versuche. Da ich selbst keine Fernbedienung für Kodi nutze (selbst für den RP3 am TV schubse ich eine Maus), würde es mich freuen, wenn du verwertbare Ergebnisse teilen kannst.

    /R

    Für Experimente feht mir momentan leider die Zeit.

    Die Zurück-Taste war's jedenfalls nicht, auch keine andere Taste auf meiner FB, und da sind wirklich alle Tasten für Kodi akiviert.

    Ich warte deshalb einfach ab bis die Sendungen über die Kapitelmarken anwählbar sind.

  • Die Zurück-Taste war's jedenfalls nicht, auch keine andere Taste auf meiner FB, und da sind wirklich alle Tasten für Kodi akiviert.

    schade, ich hatte gehofft, dass bei anderen FB's mindestens irgendeine Taste die beiden verwendeten Key-Codes trifft.
    Falls du doch noch zu eigenen Versuchen kommst: im KeyListener() im Modul util kann jeder empfangene Code (action.getButtonCode()) geloggt werden. Dazu ist die entspr. Zeile in der Funktion onAction wieder auszukommentieren:

    Code
        def onAction(self, action):
            actionId = action.getId() 
            if actionId == self.ACTION_MOUSE_RIGHT_CLICK:
                self.key = "61467"                # hier für rechte Maustaste 
            else:        
                code = action.getButtonCode()
                #PLog("code: " + str(code))                    # [definition='1','3']Debug[/definition]
                self.key = None if code == 0 else str(code)
                
            self.close()

    Ob es mit den Kapitelmarken was wird? Ich etwas skeptisch ..

    /R

  • Mal was anderes: Kann es sein dass die ARD wieder an der Technik herumgespielt hat?

    Die Livestreams "Das Erste" und "BR Süd" sind seit heute ohne Ton, während z.B. "HR" und "WDR" noch gehen.

    Kann ich hier bei mir reproduzieren unter 18.9 Leia und 19.3 Matrix.

    Am ARDundZDF-Addon liegt's mit Sicherheit nicht, das hat m.E. vermutlich etwas mit einer neuen Audio-Codierung zu tun, mit der Kodi und/oder InputStream nicht klarkommt.

  • Kann ich hier bei mir reproduzieren unter 18.9 Leia und 19.3 Matrix.

    beide BR-Livestreams sind auch bei mir mit Kodi 20.2 ohne ton. inputstream.adaptive meldet im Log:

    Code
    CURLOpen returned an error, download failed: https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_audio1_128.m3u8

    Mit dem Streamlink von BR-Süd kann auch mein VLC(3.0.18 Vetinari) nichts anfangen (weder Bild, noch Ton). Die Codecs werden im Menü Codec erkannt und gelistet, aber der Stream selbst scheint unverdaulich. Im Web funktionierts.

    /R

  • ffprobe meldet beim Stream von BR-Süd:

    Code
    [https @ 0x557bd5ffe000] HTTP error 404 Not Found
    [hls @ 0x557bd5c1cbc0] keepalive request failed for 'https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_audio2_KS_128.m3u8' with error: 'Server returned 404 Not Found' when parsing playlist
    [hls @ 0x557bd5c1cbc0] Opening 'https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_audio2_KS_128.m3u8' for reading
    [https @ 0x557bd61c5f00] HTTP error 404 Not Found
    [hls @ 0x557bd5c1cbc0] parse_playlist error Server returned 404 Not Found [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_audio2_KS_128.m3u8]
    [hls @ 0x557bd5c1cbc0] Empty segment [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_640p_1200.m3u8]
    [hls @ 0x557bd5c1cbc0] Empty segment [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_1920p_5000.m3u8]
    [hls @ 0x557bd5c1cbc0] Empty segment [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_1280p_3200.m3u8]
    [hls @ 0x557bd5c1cbc0] Empty segment [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_960p_1600.m3u8]
    [hls @ 0x557bd5c1cbc0] Empty segment [https://bfr-suedde.akamaized.net/hls/live/2020412-b/bfs_sued_de/master_480p_700.m3u8]

    Gestern war es noch nicht so, das kann ich auch bestätigen.

    /R

  • Info zur Sendungsnavigation im Zeitpuffer bei ARD-Livestreams (Post #3.101 ff.):

    Die Kapitelmarken habe ich nach mehrstündigen erfolglosen Versuchen aufgegeben. Meine Hoffnung war, die von PvD freundlicherweise ausformulierte Skin-Erweiterung zu nutzen, ohne Änderungen am bestehenden Skin vorzunehmen. Dazu sollte die DialogSeekbar.xml zur Laufzeit auf die geänderte Kopie im Addon umgebogen werden (ähnlich der slides.xml für die addoninterne Slideshow-Funktion).

    Es ist mir jedoch nicht einmal gelungen, Kapitelmarken in einem geänderten Skin zu setzen. Das Setzen und Auslesen der Property mit einer CSV-Liste funktioniert zwar, aber sichtbare Markierungen in der Seekbar konnte ich nicht erzeugen.

    Mehr Zeit möchte ich nicht investieren, da mit der Sendungsliste auf Tastendruck eine Lösung existiert. Anpassungen dieser Lösung an Fernbedienungen sollte ohne größeren Aufwand möglich sein.

    /R

  • Hmm, eigentlich schade. Ich möchte Dich aber trotzdem bitten, die Property mit den csv-Daten im Code zu lassen (auch wenn es totes Fleisch ist), dann kann ich damit etwas rumspielen.

    VG

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ich möchte Dich aber trotzdem bitten, die Property mit den csv-Daten im Code zu lassen (auch wenn es totes Fleisch ist), dann kann ich damit etwas rumspielen.

    ja, gerne. Im Einzelupdate util.py habe ich die Funktion ShowSeekPos() nach der Bereinigung die funktionierenden Zeilen wieder eingefügt:

    Code
    def ShowSeekPos(player, url):                            # "Streamuhrzeit"
        PLog('ShowSeekPos: ' + url)        
        import resources.lib.EPG as EPG
    
        marks="0.00,6.66,6.66,13.2,19.8,19.8,27.4"            # @PvD  14.10.023
        xbmcgui.Window(10000).setProperty("ardundzdf",marks)# control -> DialogSeekbar.xml
        PLog(xbmcgui.Window(10000).getProperty("ardundzdf"))# OK
    ..

    Zeitweise hatte ich dem range-control in der DialogSeekbar.xml auch eine id verpasst, um darüber direkt Eigenschaften zu ändern (id=403) - auch erfolglos. Ehrlich gesagt, kann ich mich mit der Skin-Thematik nicht so richtig anfreunden. Das hatte mich schon abgeschreckt, als ich mit dem Addon von Plex gewechselt bin und erklärt wohl meine gelegentliches Beharren auf dem Standard-Skin.

    Es würde mich freuen, wenn dir eine Umsetzung gelingt (wem auch sonst). Die Darstellung der Sendungen im Zeitpuffer würde damit sinnvoll ergänzt.

    Aber vergeude besser nicht zu viel Zeit damit. Immerhin profitieren davon nur die ARD-Livestreams und einige Livestreams haben ihre Macken, wie sich am Beispiel BR gerade wieder zeigt. Außerdem leidet bei einigen Streams (nicht nur der ARD) das inputstream-Addon unter Sync-Problemen. Bei diesen müssen sich dann auch die Kapitelmarken verabschieden, so wie es jetzt bereits mit der Sendungsnavigation der Fall ist.

    /R

  • danke. Ich konnte es zwar nicht navollziehen, aber offensichtlich können Daten bei einzelnen Sätzen fehlen.

    Eine Ausnahmebehandlung verhindert künftig den Absturz + zusätzliche Logzeilen erleichtern die Fehlersuche.

    Einzelupdate EPG.py

    Funktioniert gerade, daher kann ich hier aktuell nicht mit Logdaten helfen.

    nochmal: ohne Debug-Log stochere ich hierbei nur im Nebel (bitte keinen Log-Auszug).

    Log steht hier: https://bokomoko.de/~rd/kodi/kodi_…langsames_laden.[definition='1','0']log[/definition]

    Um 20:43 habe ich zum zweiten Mal die regionalen Sender aufgerufen. Hat dieses Mal 34 Sekunden gedauert, bis die Liste erschien.

  • Log steht hier

    OK, Log konnte ich mir ansehen. Die Ursache für die Verzögerung liegt auf der Hand: es ist das Setting "TV-Live-Sender: aktuelle Sendung zeigen - dauert länger" aktiviert (siehe Bild). So wird für jeden Sender in der Liste einzeln der Hinweis zu aktuellen Sendung geladen - siehe auch dazu Post #3.168. Probiere es doch bitte mal ohne diese Option. Dann fehlt zwar der Sendungshinweis, aber der ist via Kontextmenü erreichbar, dann sogar für den aktuellen Tag ab aktueller Uhrzeit.

    /R

  • OK, Log konnte ich mir ansehen. Die Ursache für die Verzögerung liegt auf der Hand: es ist das Setting "TV-Live-Sender: aktuelle Sendung zeigen - dauert länger" aktiviert (siehe Bild). So wird für jeden Sender in der Liste einzeln der Hinweis zu aktuellen Sendung geladen - siehe auch dazu Post #3.168. Probiere es doch bitte mal ohne diese Option. Dann fehlt zwar der Sendungshinweis, aber der ist via Kontextmenü erreichbar, dann sogar für den aktuellen Tag ab aktueller Uhrzeit.

    /R

    Ohne die Option geht es deutlich schneller. Aber ich hätte erwartet, dass da nur für den ersten Aufruf des Überregional Menüs zutrifft. Beim zweiten Aufruf sollte der EPG im Cache sein und deshalb viel schneller gehen (?)

  • Beim zweiten Aufruf sollte der EPG im Cache sein und deshalb viel schneller gehen (?)

    Im Addon spielte das EPG erst i.Z.m. dem Recording eine Rolle, siehe Settings-Recording-TV-Live. Die Cache-Option EPG im Hintergrund laden (12 Std.-Intervall) befindet sich daher auch in der Setting-Kategorie Recording TV-Live. Davon profitieren auch die Listen im Menü TV-Livestreams.

    Allerdings ist die Beschleunigung nicht sehr stark, da die gespeicherten html-Seiten für jeden einzelnen Sender teilweise größer als 1 Megabyte sind.

    Diese Option kannst du also noch aktivieren, wenn du im Menü TV-Livestreams auf die aktuellen Sendungen nicht verzichten willst - siehe Bild und Wiki
    Edit: die Option startet nach dem nächsten Menüwechsel und informiert via Notification bei Start und Ende.

    Ich nehme deine Anfrage aber zum Anlass, den EPG-Code auf mögliche Verbesserungen zu prüfen.

    /R

    Edit2: die Prüfung Codeverbesserung (Ablage xml-Format vs. 2-Dim-Array) ergab keine Laufzeitverbesserung. Die relative lange Ladezeit beim Nachladen des EPG erklärt sich dadurch, dass für das Recording das komplett verfügbare 12-Tage-EPG von today.de geladen wird.

  • [...]

    Allerdings ist die Beschleunigung nicht sehr stark, da die gespeicherten html-Seiten für jeden einzelnen Sender teilweise größer als 1 Megabyte sind.

    [...]

    Vielen Dank für die ausführliche Antwort. Was ich nicht verstehe ist, warum die die gesamten HTML Seiten abspeichern musst. Würde es nicht reichen die relevanten Infos in einem passenden Format abzuspeichern?

  • Würde es nicht reichen die relevanten Infos in einem passenden Format abzuspeichern?

    Info: die html-Seiten müssen ja trotzdem in einem kürzeren Abstand neu von tvtoday geladen werden, um etwaiige Programmänderungen zu berücksichtigen (im Addon sind 12 Std. fest eingestellt.) Eine Formatkonvertierung und Ablage, z.B. im xml-Format, bringt keine spürbare Verbesserung gegenüber der string-Auswertung. Letztere läuft relativ flott, da die EPG-Infos für jede Sendung kompakt in der Seite liegen. So war das Ergebnis der heutigen Tests. Und bei Nutzung der Option "EPG im Hintergrund laden" muss man nur dann länger warten, wenn beim nächsten Aufruf einer der TV-Listen 12 Stunden vorbei sind.

    Wenn du es genau wissen wilst, schaust du dir das Modul EPG selbst an und vergleichst den Code mit einer Beispielseite, z.B. für Deutschlandfunk https://www.tvtoday.de/programm/standard/sender/dwtv.html.

    Ich kann mir auch andere EPG-Konzepte vorstellen, die würden aber größere Umbauten erfordern.

    /R

    Edit: Wiki zum Thema EPG-Daten mit Bildern aktualisiert.

  • Update V4.8.8

    die wichtigsten Fixes und Aktualisierungen:

    • ZDF-HBBTV: Sonderbehandlung für die DGS-Streams (Deutsche Gebärdensprache): Kennzeichnung in Einzelauflösungen, Ausfilterung bei Sofortstart. Für die Nutzung der ZDF-HBBTV-DGS-Streams müssen also die Einzelauflösungen statt Sofortstart gewählt werden.
    • Menü Infos + Tools: zusätzl. Button "Refresh: Addon-Cache für TV-Livestream-Quellen". Damit kann auf den Setting-Zugriff verzichtet werden, falls aus irgendeinem Grund die Streamquellen aktualisiert werden sollen ( hätte ich schon lange machen sollen, hilft ungemein beim Testen).

    Daneben gab es eine Reihe von kleineren Fixes bei: ARDSportLiga3, Audiothek, ZDFMediathek und EPG. Die Anfragen von rdorsch habe ich für eine Aktualisierung des Wiki auf Github ff. (mit Bildern) genutzt.

    /R

  • Info: die html-Seiten müssen ja trotzdem in einem kürzeren Abstand neu von tvtoday geladen werden, um etwaiige Programmänderungen zu berücksichtigen (im Addon sind 12 Std. fest eingestellt.) Eine Formatkonvertierung und Ablage, z.B. im xml-Format, bringt keine spürbare Verbesserung gegenüber der string-Auswertung. Letztere läuft relativ flott, da die EPG-Infos für jede Sendung kompakt in der Seite liegen. So war das Ergebnis der heutigen Tests. Und bei Nutzung der Option "EPG im Hintergrund laden" muss man nur dann länger warten, wenn beim nächsten Aufruf einer der TV-Listen 12 Stunden vorbei sind.

    Wenn du es genau wissen wilst, schaust du dir das Modul EPG selbst an und vergleichst den Code mit einer Beispielseite, z.B. für Deutschlandfunk https://www.tvtoday.de/programm/standard/sender/dwtv.html.

    Ich kann mir auch andere EPG-Konzepte vorstellen, die würden aber größere Umbauten erfordern.

    /R

    Edit: Wiki zum Thema EPG-Daten mit Bildern aktualisiert.

    "EPG im Hintergrund laden (12 Std.-Intervall)" hatte ich aktiviert.

    So wie ich Dich verstehe, liest Du die Informationen beim zweiten Aufruf der TV Livestreams->Überregional innerhalb von kurzer Zeit vom Dateisystem. Mich überrascht, dass das über 30 Sekunden dauert.

    Wenn dem so ist, dann ist doch in der dwtv.html Datei mehr als 90% Overhead, der beim Lesen wegfallen würde, wenn Du nur die relevanten Infos auf das Dateisystem schreiben würdest. Das müsste dann doch 10x schneller gehen (?).

  • Wenn dem so ist, dann ist doch in der dwtv.html Datei mehr als 90% Overhead, der beim Lesen wegfallen würde, wenn Du nur die relevanten Infos auf das Dateisystem schreiben würdest. Das müsste dann doch 10x schneller gehen (?)

    der Gedanke liegt nahe - vergiss aber nicht den ursprünglichen Zweck des EPG, nämlich Aufnahmen zu ermöglichen. Relevant ist daher das komplette EPG. Zudem wird von der html-Seite wird nur der Textblock mit den EPG-Daten gespeichert.

    Egal, diskutieren ohne Konzept- und Codebezug bringt uns hier nicht weiter. Ich habe aber die Idee, die API-EPG-Daten von ARD und ZDF zusätzlich für die Anzeige der aktuellen Sendung in Überregional und Regional zu nutzen. Dabei handelt es sich um die für die VERPASST-Menüs verwendeten Quellen. Sowie Zeit zur Verfügung steht..

    /R

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!