NEW - Der Feed des Merlin Images jetzt bei BoxPirates - NEW

NEW - BoxPirates Plugin Feed - NEW
Unsere Plugins direkt über den Plugin Browser eure Box installierbar

Angepinnt [Plugin] PlexDream DreamOS-DEB

    • Ahhh - so langsam raff ich das. Du liest natürlich die Metadaten von Plex dafür aus!
      Ich dachte auch grad vorhin dran und habe mal die Mediathek mit dem Häkchen "Bevorzuge lokale Metadaten" geändert (siehe Bild) und zum Testen ein Album neu eingelesen. Und siehe da - die Tracknamen werden nun dort angezeigt. Aber dann noch ein Album - und da ist wieder nix mit Tracknamen. ?(

      Wie hast Du die Musikmediathek bei Dir eingestellt (Scanner/Agent/etc.) ?

      Irgendwo liegt der Hund bei Plex begraben. Bin in allem aber aktuell.
      Hier ist so was ähnliches beschrieben: forums.plex.tv/t/plex-xml-meta…g-grandparenttitle/600480
      Ich muss mal in meinem Server graben, wo ich die Metadaten finde und schauen, was da zu finden ist.

      Danke erstmal für die Infos - ich find schon noch was raus! ;)
      Dateien
      • mediathek.PNG

        (72,34 kB, 18 mal heruntergeladen, zuletzt: )

    • AlBundy00 schrieb:

      Wie hast Du die Musikmediathek bei Dir eingestellt (Scanner/Agent/etc.) ?
      Ganz ehrlich, ich selbst hab nur einen kleinen Test-Sever angelegt mit Trailer's als Filme, ich hab das erste mal Plex genutzt als ich mit dem Plugin begonnen habe zu Programmieren, das liegt jetzt gute 4-5 Monate zurück.
      Hierzu kann ich dir leider keine Tipps geben, bin da selbst auf Hilfe angewiesen.


      AlBundy00 schrieb:

      Du liest natürlich die Metadaten von Plex dafür aus!
      Ja genau, so ist es.

    • @Anz kann da zu den speziellen Einstellungen des Plx Servers sicher noch etwas mehr sagen.
      Aber er nutzt Plex glaube auch hauptsächlich für Filme und Serien.

    • Es ist schon wichtig bei Movies/TV Series den Agents es einfach zu machen und sich genau an die Datenbank Bezeichnungen zu halten. Music ist nochmal ne andere Nummer, weil normal die Sammlung beim User deutlich umfangreicher ist und wohl nicht Alles selbstgerippt ist und damit die Metadaten von FreeDB/CDDB angereichert sind.

    • @AlBundy00
      Ich kann dir wahrscheinlich mittlerweile fast alles zu den möglichen und wichtigen Einstellungen im Plex Server bei Filmen und Serien sagen, da ich mich da wirklich intensiv mit beschäftigt hatte.
      Musik hab ich aber nur mal kurz getestet, da ich ein Amazon Music Unlimited HD Abo habe , brauchte ich das nicht und hab mich dann auch nicht weiter damit beschäftigt.
      Kein support für Internet-Sharing!
      und kein Support per PM (Fragen bitte ins Forum)

      Bitte füllt euer Profil aus (Box und Image) ,das erleichtert es uns Euch zu helfen

    • Musik hab ich aber nur mal kurz getestet, da ich ein Amazon Music Unlimited HD Abo habe
      Hab ich auch. ;) Aber ich hab die Sachen per Amazon Downloader gern lokal auf Platte. Mit Plex lässt sich da halt schnell und "sexy" drauf zugreifen. Ich hab hab für Musik auch noch MediaMonkey und kann damit auch vom Laptop aus per DLNA auf Chromecast senden. Gibt ja X Möglichkeiten. Aber warum die Metadaten via PlexDream nicht alle da sind bzw. nicht immer angezeigt werden, würde ich gern rausfinden.
      Ich versuche mal die Tage, ob ich das mit einem Python Skript und der Plex Api selbst auslesen kann, um der Sache auf den Grund zu kommen.

      Vielleicht "nerve" ich dann mal @murxer, ob er mir ein paar Codeschnipsel zukommen lassen kann, wie man das bewerkstelligt. Die Dream braucht man dafür ja nicht- das geht auch "nackt" unter Windows oder Linux. Aber ich versuche mich erstmal selber, bevor ich frage. :D

      Trotzdem Danke für die Info. Vielleicht kannst ja mal bei Dir ein paar Beispiele testen, wie das bei Dir ausschaut.

    • So - ich hab mal geforscht und mit viel Try & Error (bin blutiger Python Anfänger) mir folgendes Testskript zusammen gestoppelt:


      Brainfuck-Quellcode

      1. #!/usr/bin/python3
      2. from plexapi.myplex import MyPlexAccount
      3. from plexapi.server import PlexServer
      4. baseurl = 'http://omv:32400'
      5. token = '********************'
      6. plex = PlexServer(baseurl, token)
      7. print ("%-30s %-30s %-30s" % ("Titel","OriginalTitle","Grandparent"))
      8. print ("-------------------------------------------------------------------------")
      9. for musik in plex.library.section("Musik").search(title='some girls' , libtype='track'):
      10. print ("%-30s %-30s %-30s" % (musik.title,musik.originalTitle,musik.grandparentTitle))
      Alles anzeigen



      Da sieht man dann für dies hier z.B. (wird ohne Titel im Screen Saver angezeigt):

      Brainfuck-Quellcode

      1. Titel OriginalTitle Grandparent
      2. -------------------------------------------------------------------------
      3. Some Girls None The Rolling Stones

      Habe mir dann die Freiheit genommen und in plexScreenSaver.py die Zeile 38 so angepasst:


      txt = item["title"].encode("utf-8") + "\n" + item["data"].grandparentTitle.encode("utf-8")


      Nun wird auch Titel + Interpret angezeigt.



      Warum meistens (bei mir) das Feld "OriginalTitle" leer ist, hab ich nicht rausgefunden. Aber "Titel" + "Grandparent" sind immer da. Warum auch immer der Interpret in einem Feld mit Namen "Grandparent" zu finden ist, wissen wohl nur die Plex Götter. :rolleyes:

      Musst halt schauen, ob Du den Code in diese Richtung ändern möchtest. ;)

      Vielleicht kann ja jemand noch damit was anfangen.

      Beste Grüße

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AlBundy00 ()


    • Du kannst aber das mal testen, dann sollte alles abgedeckt sein:

      Quellcode

      1. txt = item["title"].encode("utf-8")
      2. if item["data"].originalTitle:
      3. txt += "\n" + item["data"].originalTitle.encode("utf-8")
      4. if item["data"].grandparentTitle:
      5. txt += "\n" + item["data"].grandparentTitle.encode("utf-8")
      6. if item["data"].parentTitle:
      7. txt += "\n" + item["data"].parentTitle.encode("utf-8")

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von murxer ()


    • Ok dann mach ich es mit 3 Zeilen, wenn alle 3 verfügbar sind.

      Also mach bei meinem Vorschlag oben aus elif -> if dann werden alle genutzt, wenn verfügbar.
      music_screen_saver.png

      Edit:
      Muss ich mir aber noch genauer ansehen weil es auch passieren kann das 2 mal das Album angezeigt wird oder es dann 4 Zeilen sind, hierzu ist dann das Fenster für das Label zu klein.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von murxer ()


    • murxer schrieb:

      Du kannst aber das mal testen, dann sollte alles abgedeckt sein:

      Quellcode

      1. txt = item["title"].encode("utf-8")
      2. if item["data"].originalTitle:
      3. txt += "\n" + item["data"].originalTitle.encode("utf-8")
      4. elif item["data"].grandparentTitle:
      5. txt += "\n" + item["data"].grandparentTitle.encode("utf-8")
      6. elif item["data"].parentTitle:
      7. txt += "\n" + item["data"].parentTitle.encode("utf-8")
      Bei Deinem Code wird der Albumname (parentTitel) nicht angezeigt. Mir völlig unverständlich. Mit meinem Code geht es. ?( ?( ?( ?( Siehe Bilder.
      Hab ich was falsch gemacht und bin blind?
      Dateien
      • mein-code.PNG

        (39,16 kB, 6 mal heruntergeladen, zuletzt: )
      • mein-code2.PNG

        (25,89 kB, 8 mal heruntergeladen, zuletzt: )
      • murxer-code2.PNG

        (26,86 kB, 8 mal heruntergeladen, zuletzt: )
      • murxer-code.PNG

        (36,28 kB, 3 mal heruntergeladen, zuletzt: )

    • Hi @murxer,

      Mal ne Frage: Bei den Interpreten-Covern im Musikscreen nimmst Du "nur" einfach das erste Bild was zu finden ist und nicht das, was man in Plex selbst ausgewählt hat, richtig?
      Würde mich mal interessieren, an welcher Stelle in welchem .py (vermute mal in plexMusicScreen) das wie realisiert ist.

      Bevor Du das in Deine bestimmt schon lange Wunschliste aufnimmst, kann ich das ja vielleicht mal selbst versuchen (mit meinen bescheidenen Mini-Python Kenntnissen). ;)
      Eilt nicht! Versuche grad, mich mit Deinem Code weiterzubilden. :D

      Beste Grüße

    • AlBundy00 schrieb:

      Versuche grad, mich mit Deinem Code weiterzubilden
      Wo wird das hinführen :D , bin ja auch kein Programmierer, ist nur ein Hobby ;)

      AlBundy00 schrieb:

      Du "nur" einfach das erste Bild was zu finden ist und nicht das, was man in Plex selbst ausgewählt hat, richtig?
      Nein der Track hat sein eigenes Bild, der Artist und das Album auch.

      PlexApi schrieb:

      Base class for all audio objects including Artist, Album, and Track.
      • thumb (str) – URL to thumbnail image (/library/metadata/<ratingKey>/thumb/<thumbid>).

      PlexApi schrieb:

      Represents a single Album.


      • parentThumb (str) – URL to album artist thumbnail image (/library/metadata/<parentRatingKey>/thumb/<thumbid>).

      PlexApi schrieb:

      Represents a single Track.
      • grandparentThumb (str) – URL to album artist thumbnail image (/library/metadata/<grandparentRatingKey>/thumb/<thumbid>).
      • parentThumb (str) – URL to album thumbnail image (/library/metadata/<parentRatingKey>/thumb/<thumbid>).


      Ist genau so wie beim Titel, wenn du den Server richtig angelegt hast, wir das auch richtig genutzt.
      Ich nutze immer das Thumb, falls es das mal nicht gibt nutze das art:

      PlexApi schrieb:


      • art (str) – URL to artwork image (/library/metadata/<ratingKey>/art/<artid>).

      Quellcode

      1. try:
      2. thumb_url = self.getTranscodeImage(track.thumb, int(240 / skinFactor), int(360 / skinFactor))
      3. thumb_save_file = "%s/%s_thumb_%s" % (IMAGE_DIRECTORY, track.type, track.ratingKey) if track.ratingKey and thumb_url else ""
      4. except Exception as error:
      5. error = "[PlexDream]: read gotAlbumItems thumb url error: %s " % str(error)
      6. errorLog(error)
      7. if not thumb_url and not thumb_save_file:
      8. try:
      9. thumb_url = self.getTranscodeImage(track.art, int(240 / skinFactor), int(360 / skinFactor))
      10. thumb_save_file = "%s/%s_album_%s" % (IMAGE_DIRECTORY, track.type, track.ratingKey) if track.ratingKey and thumb_url else ""
      11. except Exception as error:
      12. error = "[PlexDream]: read gotAlbumItems art url as thumb error: %s " % str(error)
      13. errorLog(error)
      Alles anzeigen

    • Quellcode

      1. Wo wird das hinführen , bin ja auch kein Programmierer, ist nur ein Hobby
      Naja, "nur Hobby" ist gut. Das ist schon 5 Ligen höher, als das, was ich kann (mit Python). Bin alter UNIX Admin und habe hunderte bash-Skripte geschrieben - aber Python plus(!) DreamOS plus(!) Plex Api ist schon ne andere Hausnummer. :D


      Quellcode

      1. Nein der Track hat sein eigenes Bild, der Artist und das Album auch.
      Ahhhh - OK. Danke für die ganzen Infos!


      Ich schau mir das die Tage mal genau an. Erstmal noch Dänemark die Daumen drücken. :P

      Grüße

    • Hi @murxer,

      Kannst Du mir sagen, ob und wie es möglich wäre im Screensaver den Titel des Tracks irgendwie hervorzuheben?
      Andere Farbe oder etwas größere Schrift. Du hängst ja an den Text die Eigenschaft .encode("utf-8") an. Gibt es auch sowas für Farbe/Fontsize o.ä.?
      Ich google grad durch die Python-Weltgeschichte aber ich finde nichts, was mich weiterbringt. Einiges schon - aber nicht auf der Dreambox verfügbar.

      Ich könnte natürlich das Literal "Titel" bei "setScreenSaverData" hinzufügen. Aber das kostet ja Platz auf dem Bildschirm. ;)

      Nix wirklich wichtiges. Ich versuche nur grad an diesem Beispiel mein Python KnowHow zu pimpen. :D

      Danke und Gruß

    • Nein da gibt es keine Möglichkeit einzelne Buchstaben in einem Text mit anderer Farbe darzustellen.
      Hierzu muss immer der Skin für den ScreenSaver angepasst werden.
      Bei Kodi z.b ist das möglich mit ein paar Zeichen im Text kann man eine andere Farbe setzen.