Kanallogos für den VDR - Skript "MP_Logos"

  • MediaPortal Kanallogos für den VDR


    Ich stelle heute mein Skript 'mp_logos.sh' vor.

    Entstanden ist es als ich nach Kanallogos für meinen VDR gesucht habe und dabei auf das Projekt "MediaPortal" gestoßen bin.

    Dort gibt es ein Plugin namens "Logomanager", das Kanallogos automatisch von einem GIT lädt. Leider passen die Namen der Logos nicht ganz zum VDR-Schema. Zum Glück liegt dort eine LogoMapping.xml bei, die man verwenden kann um die Grafiken zuzuordnen.


    Die Logos sind in 190 Pixel breite und PNG-Format vorhanden. Vorschau:
    [Blocked Image: https://github.com/Jasmeet181/…s/blob/master/Preview.png]


    Getestet unter Gen2VDR und SkinFlatPlus ;)


    Ich habe ein Bash-Skript geschrieben, das folgendes macht:

    1) GIT mit den Logos aktualisieren

    2) LogoMapping.xml durchsuchen und Logos und Kanalnamen via Symlinks zuordnen

    3) Logos die keine Provider haben in der channels.conf vom VDR suchen und wenn vorhanden zuordnen (Ich habe noch Sender auf 9° Ost)

    4) Alte Symlinks löschen


    Einstellungen nur in der mp_logos.conf!

    Die mp_logos.conf am einfachsten nach ~/etc kopieren und dort die Einstellungen vornehmen.

    Das Skript sucht die *.conf im aktuellen Verzeichnis, im Skrip-Verzeichnis und im eigenen /etc


    * Das Skript ist auf "Astra 19.2E" als Provider eingestellt. Weitere Provider sind möglich. Dazu in die 'LogoManager.config' schauen.

    * Man kann Logos für dunklen (Simple) oder hellen (Dark) Hintergrund einstellen. Dazu die Variable 'LOGO_VARIANT' anpassen.


    Es müssen nur zwei Variablen angepasst werden:

    'LOGODIR' für den Ordner wo die Skinlogos liegen und 'MP_LOGODIR' für den Ordner wo das Mediaportal-git liegt.


    Es kann sein, dass manche Skins nicht mit kleinen Umlauten am Wortanfang klarkommen. Dazu ist nun eine Option mit drin. Wenn 'TOLOWER' auf 'A-Z' steht bleiben Umlaute am Wortanfang so wie sie sind. Betroffen davon ist z. B. das SkinflatPlus.


    Das GIT muss vorher noch auf die lokale Platte: https://github.com/Jasmeet181/mediaportal-de-logos

    Ich habe das OK von Jasmeet_181 das GIT zu verwenden und auch hier anzubieten


    Das Skript mp_logos.sh bekommt man in meinem GIT: https://github.com/MegaV0lt/MP_Logos

    Ich lasse das Skript ein mal wöchentlich laufen (Symlink nach /etc/cron.weekly)



    Ich hoffe es gefällt den einen oder anderen. ;)


    UPDATE 21.09.2021:

    Habe das Skript angepasst, damit auch Logos mir Hintergründen erstellt werden können. Einstellbar ist auch die Logogröße, so dass am einen kleinen Rand hat. Beispiel:

  • Ja, schöne Logos und kaum noch Lücken. Sieht schick auf meinem shady_kiss aus.


    Wollte die dann auch gleich auf meinem Server für den epghttp nutzen. Da sind aber einige Logos auf dem Hintergrund zu hell und damit nicht richtig zu erkennen (zb. Das Erste). Habe simple und dark ausprobiert, scheint aber keine Auswirkung zu haben.

    Aber für den eigentlichen VDR perfekt.


    Danke.

  • EPGd zeigt wegen dem Cache geändert Logos nicht sofort an, im verwendeten Browser. Entweder einen anderen Browser testen oder die Seite ein paar mal neu laden, das sollte die Änderung dann sichtbar machen.

    Gruß utiltiy



    VDR Projects

  • Coole Idee - mit Python >= 3.6 (und python3-lxml) geht das noch bequemer als das XML mit der Shell auseinander zu nehmen (mir sind die zusätzlichen Symlinks egal, daher werte ich die channels.conf des VDR nicht extra aus):

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Edited once, last by seahawk1986 ().

  • Mit Python kenne ich mich zu wenig aus, darum die Bash-Variante. Benötigt als externes Programm lediglich noch "find".


    Bei dem Python-Skript muss man aber das Logo-GIT vorher selbst aktualisieren. Das lässt sich bestimmt noch einbauen.

    Die Provider werden wohl nicht ausgewertet; so landen auch velinkungen zu Kanälen auf der Platte die es nur im z.B. nur im Kabel gib.

    Alte Links werden nicht gelöscht? Ergibt mit der Zeit viele tote Links, da sich Logos und Kanäle oft ändern.

  • Mit Python kenne ich mich zu wenig aus, darum die Bash-Variante. Benötigt als externes Programm lediglich noch "find".

    Ich finde dein Shell-Skript super, es passt nur nicht ganz zu meinem Anwendungsfall.

    Bei dem Python-Skript muss man aber das Logo-GIT vorher selbst aktualisieren. Das lässt sich bestimmt noch einbauen.

    Ja, wobei ich das für yaVDR gleich als ansible-Rolle umsetzen will, weil es da schon eine schöne Abstraktion für das Clonen bzw. das Updaten eines bereits geklonten Git-Repos gibt: https://docs.ansible.com/ansib…t/modules/git_module.html

    Die Provider werden wohl nicht ausgewertet; so landen auch velinkungen zu Kanälen auf der Platte die es nur im z.B. nur im Kabel gib.

    Das ist Absicht, in der Provider-Liste fehlen eine Menge Anbieter (z.B. gibt es nur Sendernamen für den terrestrischen Empfang in München, aber nichts fürs Kabelnetz) und ich komme so zum Preis von ein paar überflüssigen Symlinks auf der Platte ohne besondere Konfiguration aus.

    Alte Links werden nicht gelöscht? Ergibt mit der Zeit viele tote Links, da sich Logos und Kanäle oft ändern.

    Ich räume in Zeile 10 f. das komplette Verzeichnis mit den Kanallogos ab und lege es neu an.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • in der Provider-Liste fehlen eine Menge Anbieter

    Da würde ich vorschlagen das im GIT von mediaporal-logos-de als fature request anzulegen... Bin sicher das Projekt profitiert davon.

  • PS: Ich könnt im Skript noch die Providerbehandlung optional machen; dann würden pauschal alle Kanäle verlinkt

  • Provider ist nun optional und kann deaktiviert werden. Dann werden alle Kanäle und Logos verlinkt.

    Einfach die Variable 'PROV' auskommentieren

  • Vielen Dank für das Scipt MegaV0lt !


    Ein kleiner Vorschlag meinerseits: Teile der Abteilung ## Variablen in eine Konfigurationsdatei auslagern, dann muss bei Änderungen

    am Script (git pull) nicht immer alles verworfen und neu gemacht werden.


    Cheers,

    Ole

  • Gute Idee! Das lässt sich machen ;)

  • Ist Online!


    Die mp_logos.conf am einfachsten nach ~/etc kopieren und dort die Einstellungen vornehmen.

    Das Skript sucht die *.conf im aktuellen Verzeichnis, im Skrip-Verzeichnis und im eigenen /etc


    Später kommt noch ein Parameter, um eine eigene *.conf anzugeben ;)

  • Ich habe das für yavdr-ansible (bislang nur für focal) jetzt mal so gelöst, dass mal Logos für alle Regionen bzw. Sprachen nutzen kann, die in den Git-Repos von Jasmeet181 angeboten werden - man muss nur die Liste der gewünschten Sprachen/Regionen angeben, die Rolle channellogos macht dann den Rest: https://github.com/yavdr/yavdr…/focal/group_vars/all#L94

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo seahawk,


    muss ich beim vdr noch einen Pfad anpassen? E werden noch die alten Logos angezeigt.


  • Die Links zu den Logos sollten in /var/lib/vdr/channellogos/ landen. Die VDR-Plugins (und KODI) schauen da OOTB nicht nach, da muss ich bei Gelegenheit mal schauen, dass ich das in den Konfigurationsdateien ergänze.


    IIRC legt der skindesigner IIRC außerdem noch einen eigenen Cache mit passend skalierten Bildern an, so dass man den erst abräumen bzw. den VDR neu starten lassen muss.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe es nun in der skindesigner.conf eingetragen. Läuft.


    Sind das die dark Logos? Das Erste und MTV sind schlecht zu erkennen.


    Gruß

    Murry

  • Sind das die dark Logos? Das Erste und MTV sind schlecht zu erkennen.

    Ja, die nutzen recht dunkle Farben und heben sich von einem dunklen Hintergrund nicht besonders gut ab: https://github.com/Jasmeet181/…Dark/Das%20Erste%20HD.png und https://github.com/Jasmeet181/…ob/master/TV/Dark/MTV.png

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, die nutzen recht dunkle Farben und heben sich von einem dunklen Hintergrund nicht besonders gut ab: https://github.com/Jasmeet181/…Dark/Das%20Erste%20HD.png und https://github.com/Jasmeet181/…ob/master/TV/Dark/MTV.png


    auszug aus der mp_logos.conf:


    # Kanallogos liegen in den varianten 'Simple' für dunkle Hintergründe und

    # 'Dark' für helle Hintergründe vor.

    LOGO_VARIANT='Simple'


    gruss

    beinhart

Participate now!

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