Kurioses Verhalten bzgl. picons

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kurioses Verhalten bzgl. picons

    Hier aus dem Forum und von anderswo habe ich gelernt, dass für picons und für IPTV die 4 Werte zu SID, ONID, TSID, Namespace aus der ServiceRef maßgeblich sind. Funktioniert wunderbar bei EPG, beispielsweise zeigt der Stream (von Telekom MagentaTV):

    Quellcode

    1. #SERVICE 5002:0:19:2B5C:41B:1:FFFF0000:0:0:0:rtp%3a//@239.35.10.1%3a10000:Das Erste HD
    2. #DESCRIPTION Das Erste HD


    das EPG an (kommt aus dem Vodafone Kabelnetz, das Erste HD mit serviceref 1:0:19:2B5C:41B:1:FFFF0000:0:0:0:). Soweit, so gut. Leider wird picon nicht angezeigt (Filename 1_0_19_2B5C_41B_1_FFFF0000_0_0_0.png).

    Anders sieht es bei das Erste (SD) aus, serviceref 1:0:1:6DCA:44D:1:FFFF0000:0:0:0:, IPTV Stream #SERVICE 5002:0:1:6DCA:44D:1:FFFF0000:0:0:0:rtp%3a//@239.35.10.4%3a10000:Das Erste, picon 1_0_1_6DCA_44D_1_FFFF0000_0_0_0.png. Hier wird wie gewünscht picon in der IPTV-Senderliste angezeigt (und epg auch korrekt). Ließ mich eine Weil puzzlen. Bei Webradio-Streams funktionieren die picons auch nicht (jeweils natürlich, wenn nicht zusätzlich die 5002_0... / 4097_0....pgn installiert sind).
    Für mich sieht es so aus, als wäre da was im Image hart-kodiert (für picon, nicht für epg): Wenn beispielsweise "5002er" picon nicht gefunden wird, lade 1_0_1_xxx. Deswegen funktioniert das auch bei Das Erste (SD). Die HD-Kabel-Sender haben bei mir aber 1:0:19, Radio natürlich 1:0:2... - und da funktioniert das nicht … Falls das stimmt: zumindest die zweite hartcodierte 1 ist meines Erachtens fehlerhaft.
    EPG funktioniert jeweils problemlos!
    (Andere Images habe ich nicht probiert)
  • Hast du mal Picons mit Namen probiert? Das sollte bei uns auch gehen.
    Es ist aber kein genrelles Problemb bei 5002, Sieht man ja am Picon von Sky Sprt News im IPTV Deutschland. Das Picon ist da.
    Meine Bastelboxen: Mut@nt HD51 | GB Quad 4K | Mut@nt HD60 | OSMIO4K | HIS 4k Combo+

    ... Keinen Support per PN ... bitte stellt eure Fragen ins Forum!...

    ~ Benutzung OpenHDF Image ~ Benutzung der HDF-Toolbox ~ FAQ und Linksammlung ~ Build und Foren Server Spendenaktion ~
  • Nach meiner Interpretation verhält es sich bei Sky Sport News wie bei Das Erste (SD) in meinem Beispiel, da wird ja auch picon angezeigt.

    #SERVICE 5002:0:1:25:F:85:C00000:0:0:0:https%3a//eventhlshttps-i.akamaihd.net/hls/live/263645/ssn-hd-https/indexvideo-3400.m3u8:Sky Sport News

    5002:0:1:x - da lädt das png mit 1_0_1_x.png, hier 1_0_1_25_F_85_C00000_0_0_0.png. Das png ist auf meiner Box installiert. Kommt offenbar aus dem Image (ich habe Kabel, und der Namespace des PNGs ist von Satellit)
    5002:0:19:x - da lädt das png mit 1_0_19_x.png nicht. (Aber wie ich geschrieben habe, EPG vom 1_0_19_x-Sender geht).

    Wenn ich 4097/5002_0_2/19_xxxx.png Namen vergebe für die pngs (was Doppelung der Dateiinhalte oder mühsame zusätzlich Links bedeutet) gehen natürlich die Picons.

    Wie ist der Algorithmus, der die pngs mit Namen findet?
    - Groß-/Kleinschreibung?
    - Leerzeichen?
    - Sonderzeichen wie "+" oder "/"?
  • Danke dir, Koivo! War genau was ich suchte. Das könnte auch andere interessieren, daher übersetze ich das mal in Sprache. (Warnung, kann kein Python programmieren - habe mir das erschlossen aus Kenntnis anderer Programmiersprache, ohne weitere Überprüfung - bitte gerne jemand prüfen.)

    Wenn man im HDF-Image Picons mit Sendernamen als Dateiname nutzen will, bitte den Dateinamen so erzeugen.

    1. Sendernamen nehmen
    2. Zeichen "&" ersetzen durch "and"
    3. Zeichen "+" ersetzen durch "plus"
    4. Zeichen "*" ersetzen durch "star"
    5. Jetzt alles klein schreiben
    6. Alle Zeichen außer a-z und außer 0-9 streichen (auch äöüßèé… streichen)
    7. ".png" als Dateiendung (und muss dann natürlich auch png-Format besitzen)

    Beispiele (ungeprüft, Namen aus meiner lamedb).

    R 'n' B & Soul Classics
    -> rnbandsoulclassics.png

    MDR THÜRINGEN EF
    -> mdrthringenef.png

    Vielleicht kann mir noch jemand erklären, was die Codezeile

    Quellcode

    1. name = unicodedata.normalize('NFKD', unicode(name, 'utf_8', errors='ignore')).encode('ASCII', 'ignore')


    aus "name" macht. Konnte ich mir auf Anhieb nicht herleiten.

    Zum Code und meinem ursprünglichem Problem, schreibe ich noch in separatem Beitrag.
  • Obwohl ich kein Python kann, habe ich schnell gesehen, wieso picons bei IPTV-Streams nicht funktionieren, wenn man beispielsweise auf 1:0:19:x Sender (für die picons vorhanden sind) referenzieren will. Habe ohne Python-Kenntnis mutig auf der Box Picon.pyo umbenannt und modifiziertes Picon.py dort hinkopiert. Und - Senderliste zeigt IPTV/Webradio-Picons wie gewünscht (und erwartet) :)

    Folgenden Patch bitte mal prüfen:

    Unterschiede-Datei

    1. --- Picon.py.old
    2. +++ Picon.py
    3. @@ -81,13 +81,7 @@
    4. pngname = findPicon(sname)
    5. if not pngname:
    6. fields = sname.split('_', 3)
    7. - if len(fields) > 2 and fields[2] != '1': #fallback to 1 for services with different service types
    8. - fields[2] = '1'
    9. if len(fields) > 0 and fields[0] != '1': #fallback to 1 for IPTV streams
    10. - fields[0] = '1'
    11. - if len(fields) > 0 and fields[0] == '5001': #fallback to 1 for IPTV streams
    12. - fields[0] = '1'
    13. - if len(fields) > 0 and fields[0] == '5002': #fallback to 1 for IPTV streams
    14. fields[0] = '1'
    15. pngname = findPicon('_'.join(fields))
    16. if not pngname: # picon by channel name
    Alles anzeigen


    Wenn meine Interpretation von Python korrekt ist, sind die Prüfungen nach 5001 und 5002 eh redundant, weil das schon vorher abgefangen durch != 1 (Code funktionierte ja auch für 4097, ohne dass das explizit aufgeführt ist). Das entscheidende aber ist, dass man das "fields[2]" nicht auf 1 setzt. Wieso ist das da? Verlässt sich eine Komponente darauf, und macht da undurchsichtige Tricks? Das das komisch ist, sieht man leicht bei Radio. Über Tuner fangen Servicerefs mit 1:0:2 an. Man hat dann auf der Box 1_0_2...pgn. Hat man den gleichen Sender als Webradio (möchte man vielleicht nutzen, weil Tuner belegt durch Aufnahme), und will EPG und will sich an Konventionen halten (2->Radio), wird die Serviceref mit 4097:0:2 anfangen. Der ursprüngliche Code bügelt die 2 auf 1 runter -> das vorhandene picon wird nicht gefunden.

    Übrigens, ähnlicher, aber nicht identischer, Code ist noch in PiconRes.py. Kann nicht beurteilen, was wann genutzt wird. Mir scheint, das ist auch noch an anderen Stellen vergraben. Weil: nach meiner Änderung funktionieren die "Tuner-pngs" für IPTV/Webradio in der Senderliste, auch wenn man mit Nummerntasten zappt als große Grafik in der Bildschirmmitte. Aber nicht (in allen Fällen?) in der Statusleiste (?) unten bei Channel+ / Channel -. Standard XionHD Skin.
  • Der Xion hat einen eigenen Picon Renderer XionHDFXPicon. Das mit deinem Patch bau ich mal ein.
    Der sollte auch beim Xion Renderer funktionieren.
    Meine Bastelboxen: Mut@nt HD51 | GB Quad 4K | Mut@nt HD60 | OSMIO4K | HIS 4k Combo+

    ... Keinen Support per PN ... bitte stellt eure Fragen ins Forum!...

    ~ Benutzung OpenHDF Image ~ Benutzung der HDF-Toolbox ~ FAQ und Linksammlung ~ Build und Foren Server Spendenaktion ~
  • Meine Bastelboxen: Mut@nt HD51 | GB Quad 4K | Mut@nt HD60 | OSMIO4K | HIS 4k Combo+

    ... Keinen Support per PN ... bitte stellt eure Fragen ins Forum!...

    ~ Benutzung OpenHDF Image ~ Benutzung der HDF-Toolbox ~ FAQ und Linksammlung ~ Build und Foren Server Spendenaktion ~
  • Habe alle Patches mal manuell direkt auf meiner Box angewendet - jetzt scheint alles wie erwartet zu funktionieren. (Ich habe viele Einstellungen auf Default. Ob das auch funktioniert, wenn man picons auf HDD/USB verschiebt und in anderen komplexeren Situationen, beurteile ich hier nicht) Danke dir nochmals! Klasse auch, die schnelle Reaktion!

    Kleiner Hinweis, ohne mich da wirklich auszukennen. Durch Wechsel des renders bei XionHD wird der Suchpfad für die picons geändert (so scheint es mir zumindest). Könnte gut sein, dass manche Benutzer damit in manchen Screens hochskalierte picons schlechter Auflösung sehen, obwohl sie bessere XPicons installiert haben, wenn ich das richtig analysiere.

    Auf der anderen Seite, scheint das Konzept, Xpicon neben picon zu halten, antiquitiert. In meinem HDF-Image sind eigentlich alle vorinstallierten picons für die Katz (weil ich Kabel nutze). Und da sind zusätzlich noch viele, mit 5002xxx (oder sind das Überbleibsel aus Updates?), auf die man getrost nach den Patches verzichten kann. Lieber alles einfach und konsistent machen mit einem Satz picons in einer hohen Auflösung, die für alles passt. (Oder wenn der Platz wirklich nicht reicht, in einer niedrigen Auflösung, die skaliert wird).

    Dass der praktisch identische Code in 4 verschiedenen .py Dateien vorhanden ist, erschwert Wartbarkeit des Codes. In einem Code-Review würde sowas sicherlich moniert.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von buers ()

  • Picons sind bei uns nicht mehr vorinstalliert. Die HD Default Picons muss man in der Senderliste aktivieren.
    Also das ist zumindest bei einem frischen Flash so. Bei Übernahme der Einstellungen sind die dann wahrscheinlich sofort wieder da.
    Die werden dann beim ersten Neustart automatisch installiert.
    Versuch doch mal die Picons zu löschen und neu zu laden mit dem PiconsUpdater.
    Die HDF Picons sind auch nur für die vorinstallierte Senderliste was ja Astra19 ist und die iptv Listen.
    Meine Bastelboxen: Mut@nt HD51 | GB Quad 4K | Mut@nt HD60 | OSMIO4K | HIS 4k Combo+

    ... Keinen Support per PN ... bitte stellt eure Fragen ins Forum!...

    ~ Benutzung OpenHDF Image ~ Benutzung der HDF-Toolbox ~ FAQ und Linksammlung ~ Build und Foren Server Spendenaktion ~
  • Ok, dann waren das bei mir Überbleibsel aus früheren Installationen, als die picons noch mit Image vorinstalliert wurden. Ich erinnere mich nun auch, dass ich die explizit in der Einstellungs-Sicherung mit sichere. PiconsUpdater war bei mir immer abgekackt (hatte ich hier auch schon beschrieben). Denke, hängt auch mit den IPTV-Streams im Image zusammen, von denen viele identische "Pseudo-Servicerefs" haben (4097:0:1:0:0:0:0:0:0:0:). Irgendwie hatte ich das dann schon hingekriegt, ist aber ein anderes Thema …

    Noch eine Idee zum Patch. Man kann sich fragen, wieso der ursprüngliche Code die Ziffer an der 3. Stelle auf 1 gesetzt hat. Ich denke die Idee war: Service-Provider ändert das (ohne was anderes zu ändern) - dann soll picon noch funktionieren. Wenn ich das nach DVB/TS-Standard recht verstehe und erinnere, steht 1 für "Digital TV", 19 (hex) für "Advanced Codec Digital HDTV". Ich denke der enigma2-Box ist das grundsätzlich wurscht, ob da 1 oder 19 steht. Aber vielleicht könnte der Service-Anbieter das im Laufe der Zeit präzisieren (bei mir haben alle HDTV Sender 19). Daher folgender Vorschlag in Pseudocode für picon laden.

    Nach dem Patch oben sieht es so aus:

    1. lade picon mit Name Serviceref.png, (übliche Ersetzung ":" -> "_")
    2. Wenn nicht erfolgreich, bei a_b_c_x.png, lade 1_b_c_x.png (#für IPTV-Streams, Webradio)
    3. Wenn nicht erfolgreich, lade "Namens-png" entsprechend Beitrag 5 oben

    Noch 2a hinzufügen:

    2a. Wenn nicht erfolgreich, lade 1_b_1_x.png (#Annahme Digital TV).

    Grüße -buers

Unsere Partnerboards

^
Flag Counter