Hilfe bei Seriendatenbank, Skripten und nfos

  • Hallo,

    ich versuche gerade meine Seriendatenbank zu optimieren, stosse aber auf einige Probleme:

    1) Ich wollte die Infos, wie bei den Movies, über nfo-Dateien übergeben (händisch erweiterte Ember-nfos), allerdings werden scheinbar einige Tags bei den Serien nicht angenommen?
    So wollte ich in der DialogVideoInfo.xml wie bei den Filmen <year>, <country>, <runtime> anzeigen lassen. Dies wird bei den Serien aber nicht gemacht. <runtime> wird sogar von Ember in die nfo generiert, doch halt nicht von Kodi angezeigt. Hingegen funktionieren nfo tags wie <director>, <studio>, <title> genauso wie bei den Filmen. Also wie sollte die Zeile in der nfo aussehen, wenn ich z.B. das Produktionsjahr einer Serie <year> in der DialogVideoInfo einpflegen möchte? btw.: Natürlich habe ich entsprechende Veränderungen in der DialogVideoInfo vorgenommen. Bei Movies erfolgreich, bei Serien nicht.


    2) Habe ich festgestellt, dass Kodi bei einer Auflistung von Darstellern in Filme/Serien unterscheidet. Die Filmdarsteller kann ich mit MovieActors aufrufen, die Seriendarsteller mit TVShowActors. Soweit so gut, wie kann ich aber alle Darsteller aufrufen, bzw. eine Übersicht mir anzeigen lassen, wo Serien- und Filmbeteiligungen eines Darstellers gelistet werden? Dies geht aktuell bei mir nur, wenn ich den Darsteller in einem Film oder Serien Infoview anklicke aber nicht in einer Übersicht.


    3) Habe ich mir gedacht, was mit den Darstellern geht, sollte mit den Regisseuren auch möglich sein? Jedoch erkennt Kodi zwar die MovieDirectors aber nicht die TVShowDirectors (bzw. müssten es ja EpisodeDirectors sein, geht aber auch nicht). Diese kann ich nur im Episodenview anklicken, wo mir dann aber nur die jeweiligen Serienbeteiligungen des Guten angezeigt werden, nicht aber die Filme. Gibt es sowas wie einen AllDirectors, bzw. AllActors Eintrag? (jetzt nicht sagen ausprobieren, die beiden Begriffe habe ich natürlich erfolglos gescheckt.)


    Danke für die Hilfe!

  • Ich habe hier mal eine exportierte nfo:

    Und zumindest dies wird angezeigt:

    Sollte also eher Skinabhängig sein.

  • Danke Don!

    So habe ich mir das auch vorgestellt. Scheint wohl am DialogVideoInfo.xml zu liegen. Ich benutze einen modded Confluence.
    Es fehlen mir halt die vorhandenen <year>, <country>, <runtime> Einträge von z.B. folgender tvshow.nfo (generiert mit Ember und ergänzt). <title>, <originaltitle>, <episode>, <genre>, <studio> und Pfad werden hingegen korrekt angezeigt:

    <?xml version="1.0" encoding="utf-8"?>
    <tvshow xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <title>Band of Brothers - Wir waren wie Brüder</title>
    <originaltitle>Band of Brothers</originaltitle>
    <id>74205</id>
    <imdb>tt0185906</imdb>
    <tmdb>4613</tmdb>
    <language>de-DE</language>
    <genre>Krieg</genre>
    <year>2001</year>
    <country>USA</country>
    <studio>HBO</studio>
    <plot>(...)</plot>
    <runtime>60</runtime>
    (...)

    Hier mal mein Auszug von entsprechender Stelle der DialogVideoInfo.xml:

    <control type="group">
    <visible>Container.Content(TVShows) + !Control.HasFocus(12)</visible>
    <top>90</top>
    <left>210</left>
    <include>VisibleFadeEffect</include>
    <control type="image">
    <left>0</left>
    <top>0</top>
    <width>270</width>
    <height>380</height>
    <aspectratio>stretch</aspectratio>
    <bordertexture border="5">button-nofocus.png</bordertexture>
    <bordersize>4</bordersize>
    <texture background="true">$VAR[PosterThumb]</texture>
    </control>
    <control type="image">
    <left>4</left>
    <top>4</top>
    <width>200</width>
    <height>230</height>
    <aspectratio>stretch</aspectratio>
    <texture>GlassOverlay.png</texture>
    <colordiffuse>AAFFFFFF</colordiffuse>
    </control>
    <control id="49" type="list">
    <left>290</left>
    <top>20</top>
    <width>740</width>
    <height>330</height>
    <onleft>49</onleft>
    <onright>49</onright>
    <onup>9000</onup>
    <ondown>61</ondown>
    <pagecontrol>-</pagecontrol>
    <scrolltime>200</scrolltime>
    <itemlayout height="30">
    <control type="label">
    <left>5</left>
    <top>0</top>
    <width>160</width>
    <height>30</height>
    <font>font13</font>
    <align>right</align>
    <aligny>center</aligny>
    <textcolor>blue</textcolor>
    <selectedcolor>selected</selectedcolor>
    <info>ListItem.Label</info>
    </control>
    <control type="label">
    <left>175</left>
    <top>0</top>
    <width>565</width>
    <height>30</height>
    <font>font13</font>
    <align>left</align>
    <aligny>center</aligny>
    <textcolor>white</textcolor>
    <selectedcolor>white</selectedcolor>
    <info>ListItem.Label2</info>
    </control>
    </itemlayout>
    <focusedlayout height="30">
    <control type="image">
    <left>0</left>
    <top>0</top>
    <width>740</width>
    <height>30</height>
    <visible>Control.HasFocus(49)</visible>
    <texture>MenuItemFO.png</texture>
    <include>VisibleFadeEffect</include>
    </control>
    <control type="label">
    <left>5</left>
    <top>0</top>
    <width>160</width>
    <height>30</height>
    <font>font13</font>
    <align>right</align>
    <aligny>center</aligny>
    <textcolor>blue</textcolor>
    <selectedcolor>selected</selectedcolor>
    <info>ListItem.Label</info>
    </control>
    <control type="label">
    <left>175</left>
    <top>0</top>
    <width>565</width>
    <height>30</height>
    <font>font13</font>
    <align>left</align>
    <aligny>center</aligny>
    <textcolor>white</textcolor>
    <selectedcolor>white</selectedcolor>
    <info>ListItem.Label2</info>
    </control>
    </focusedlayout>
    <content>
    <item>
    <label>$LOCALIZE[20376]:</label>
    <label2>$INFO[ListItem.OriginalTitle]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.OriginalTitle) + !stringcompare (ListItem.OriginalTitle,Listitem.Title)</visible>
    </item>
    <item>
    <label>$LOCALIZE[20360]:</label>
    <label2>$INFO ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Episode)</visible>
    </item>
    <item>
    <label>Genre:</label>
    <label2>$INFO[ListItem.Genre]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Genre)</visible>
    </item>
    <item>
    <label>Land:</label>
    <label2>$INFO[ListItem.Country]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Country)</visible>
    </item>
    <item>
    <label>Jahr:</label>
    <label2>$INFO[ListItem.Year]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Year)</visible>
    </item>
    <item>
    <label>Laufzeit:</label>
    <label2>$INFO[ListItem.Duration]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Duration)</visible>
    </item>
    <item>
    <label>Studio:</label>
    <label2>$INFO[ListItem.Studio]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.Studio)</visible>
    </item>
    <item>
    <label>$LOCALIZE[15311]</label>
    <label2>$INFO[ListItem.FilenameAndPath]</label2>
    <onclick>noop</onclick>
    <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
    </item>
    </content>
    </control>


    Edit: Also ich habe nun noch einiges getestet. Sowohl mit "meinen" tvshow.nfo und Confluence Mod als auch mit Dons "2 broke girls" nfo als Dummy und dem Standard Confluence Skin.


    Resultat ist, dass <year>, <country>, <runtime>, <status>, <premiered> NICHT angezeigt wird in der DialogVideoInfo, <title>, <originaltitle>, <episode>, <genre>, <studio> hingegen schon.


    Bin absolut ratlos, any ideas?

    Einmal editiert, zuletzt von Mayo (6. Januar 2017 um 16:48)

  • 1) Ich wollte die Infos, wie bei den Movies, über nfo-Dateien übergeben (händisch erweiterte Ember-nfos), allerdings werden scheinbar einige Tags bei den Serien nicht angenommen?
    So wollte ich in der DialogVideoInfo.xml wie bei den Filmen <year>, <country>, <runtime> anzeigen lassen. Dies wird bei den Serien aber nicht gemacht. <runtime> wird sogar von Ember in die nfo generiert, doch halt nicht von Kodi angezeigt. Hingegen funktionieren nfo tags wie <director>, <studio>, <title> genauso wie bei den Filmen. Also wie sollte die Zeile in der nfo aussehen, wenn ich z.B. das Produktionsjahr einer Serie <year> in der DialogVideoInfo einpflegen möchte? btw.: Natürlich habe ich entsprechende Veränderungen in der DialogVideoInfo vorgenommen. Bei Movies erfolgreich, bei Serien nicht.

    Hey,

    Du würfelst das was durcheinander:
    Du kannst nur die Anzeigen die auch vorgegeben sind.
    http://kodi.wiki/view/XBMC_Skinning_Manual#ListItem_2
    Mehr wird vom Core als Filter beim öffnen der Videoinfo nicht enthalten sein.
    Das label Label ListItem.Year gibts nicht bei Serien, genausowenig wie Director oder Country.
    Selbst wenn dort was drin stehen würde in der nfo, gibt es das Feld nicht gleich in der Datenbank geschweigedenn in der Kodi Abfrage die Ausgeführt wird zum Sammeln der Darstellbaren Infos beim drücken auf "i".

    ListItem.Year Shows the year of the currently selected song, album or movie in a container

    Produktionsjahr wäre bei Serien dann ListItem.Premiered, runtime kann es keine geben weils kein Video ist, Title wäre ListItem.Label oder ListItem.TVShowTitle.

    2) Habe ich festgestellt, dass Kodi bei einer Auflistung von Darstellern in Filme/Serien unterscheidet. Die Filmdarsteller kann ich mit MovieActors aufrufen, die Seriendarsteller mit TVShowActors. Soweit so gut, wie kann ich aber alle Darsteller aufrufen, bzw. eine Übersicht mir anzeigen lassen, wo Serien- und Filmbeteiligungen eines Darstellers gelistet werden? Dies geht aktuell bei mir nur, wenn ich den Darsteller in einem Film oder Serien Infoview anklicke aber nicht in einer Übersicht.

    Darsteller werden in der Info nur im Corecontainer 50 aufgelistet oder als Liste für eine Textbox mit


    ListItem.Cast
    ListItem.CastAndRole

    Wenn man im Corecontainer 50 Clickt sucht Kodi Filme, Serien und Episoden zum Actor. Sowas wie TVShowActors gibts nicht.

    3) Habe ich mir gedacht, was mit den Darstellern geht, sollte mit den Regisseuren auch möglich sein? Jedoch erkennt Kodi zwar die MovieDirectors aber nicht die TVShowDirectors (bzw. müssten es ja EpisodeDirectors sein, geht aber auch nicht). Diese kann ich nur im Episodenview anklicken, wo mir dann aber nur die jeweiligen Serienbeteiligungen des Guten angezeigt werden, nicht aber die Filme. Gibt es sowas wie einen AllDirectors, bzw. AllActors Eintrag? (jetzt nicht sagen ausprobieren, die beiden Begriffe habe ich natürlich erfolglos gescheckt.)

    Für Regisseure gibts auch einen Corebutton


    buttonID13 Show all movies by the director of the selected movie
    Eintragen muss man da gar nichts, außer das es "einzelnnamen" sein müssen - bei zwei mit / dazwischen geht das schon mal nicht.
    Und wieder wie bei 1. Eine Serie hat die Info nicht, da es ja hier auch 20 sein könnten.. Weder als Infolabel verfügbar, noch in der Datenbank.

    Schau dir einfach mal das Wikki an was es wo wie gibt als Infolabel, dann wird das klarer. Nur das was dort steht ist möglich, ListItem.Status für den Serienstatus gibt es seit Krypton erst, wird aber wenn es einmal drin ist nicht Upgedatet und ist dann recht Sinnlos außer man aktualisiert ständig die Serie aufs neue.

    Als Regel gilt aber - Wiki zählt - nfo´s schreiben nur das in die Datenbank was der Core vorschreibt. Ein eigenes Feld erfinden oder ein anderes "missbrauchen" geht nur wenn es auf dieser Ebene auch als Infolabel verfügbar ist.

    Grüße

  • Danke Marc0810, langsam sehe ich klarer :)
    Was ich aber nicht verstehe, warum funktioniert z.B. Listitem.TVShowActors bei mir, wenn es das gar nicht gibt? (also es werden, wie gewünscht, alle Seriendarsteller gelistet).
    Weiteres Phänomen... ich habe <premiered> eingelesen, wird aber nur angezeigt wenn wirlich ein Datum hinterlegt wird. Bei einem einfachen "Jahr" geht es nicht. Wenn ich nun aber Listitem.year abfrage, werden die in <premiered> übergebenen Serien in Jahresansicht angezeigt. (was ja eigentlich gar nicht gehen dürfte).

    Anyway... da ich Krypton (noch) nicht nutzen möchte, muss ich dan wohl auf <status> verzichten. Ich bin am Überlegen, ob ich <studio> für eine Länderangabe zweckendfremde, oder kann es da zu Problemen kommen? Mir ist es schleierhaft, warum entsprechende Attribute (Produktionsjahr, Herstellungsland) in der Seriendatenbank nicht bereitgestellt werden. Finde ich eigentlich Basic...

    Warum klappt das bei Don eigentlich? Oder hast du ( don) die Serie als Movie eingepflegt?

  • Stimmt, wohl ein Wikki fehler. LisItem.Year gibts auch bei Serien.. Nur bei Staffeln wohl nicht.

    <premiered>1993-09-10</premiered>
    <year>1993</year>
    <status>Continuing</status>

    Status bringt die insofern sowieso nichts. Einmal eingelesen wäre der ja fix. Dann ändert sich ja erst mal nichts, außer die Serie wird aktualisiert.
    Es kann sein das Ember das mit der DB Synchronisierung dann besser macht. Ohne wie bei mir hat das null Sinn - Les ich das so ein dann bleibt es bei Laufend, auch wenn
    es eine Serie wie twenty four wäre die ja mittlerweile beendet ist.

    Listitem.TVShowActors gibts weder im Wikki, noch findet Tante google da viel und es kommt auch nichts bei mir - keine Ahnung wie da dort reingeschwindelt hast;)..
    Bei mir geht überall ListItem.Cast wie es im Wikki steht oder der Container 50 mit Bildern und Label bzw. label2 für die Rolle.

    Produktionsjahr wäre bei Episoden halt Premiered in langform, Land gab es schon immer nur bei Filmen. Man muss sich halt auch klar machen das das nicht unbedingt nur alles an
    Kodi liegt:
    Wenn halt die großen Infoseiten im kleinsten nenner nur diese Infos anbieten, müssen sich die Jungs auch danach richten.
    http://thetvdb.com/?tab=series&id=73545&lid=14

    dort gibts halt auch kein Country oder so was wie Durchschnittsspieldauer im sinn von runtime bei Serien..


    Ein anderes Feld wie Studios missbrauchen würde ich von Abraten: Das gilt ja immer für alles und macht dir sicher massiv probleme z.B. in Flagbars. Außer du löschst dann alle

    codeteile die sich auf studio beziehen würde sonst jedes mal ein "Grafik nicht gefunden" logeinträg produziert werden wenn beispielsweise die Studiologo wo angezeigt werden.

    Diese Info kommt ja auch aus dem label das dort kommt. Dazu noch funktioniert dann unter Umständen dein Datenbankeintrag Studios auch nicht mehr oder zeigt was total anderes an.


    Grüße

  • Naja, ich würde Status auch missbrauchen für Country :) Such halt immer noch irgendeine Möglichkeit das Produktionsland reinzupfuschen ohne irgendwas zu zerschiessen ;) ...

    Bzgl. Laufzeit wäre natürlich die Episodenlaufzeit interessant (am Besten aus den Metadaten), leider erlaubt EMM nur eine Staffellaufzeit? Diesen Wert fand ich auch immer komisch...

    Bzgl. Year finde ich halt komisch, dass ich mit Hilfe einer Node Serien nach Jahreszahl listen lassen kann, die eigentlich nur über Premiered eingefügt wurden? Listitem.Year ging bei mir nämlich nicht als nfo Übergabe.
    Auch ging in einem Homescreenbutton aus der <premiered>:

    <control type="button" id="90187">
    <include>ButtonHomeSubCommonValues</include>
    <label>Jahr</label>
    <onclick>ActivateWindow(Videos,TVShowYears,return)</onclick>
    </control>


    Country kann man z.B. aus der ofdb ziehen. tvdb finde ich sowieso etwas spartanisch. tmdb bietet auch Produktionsjahr für Serie und einzelne Staffeln an.

    Bzgl. TVActors muss ich mich leider korrigieren (bin schon konfus), da nicht Listitem funktioniert, aber ActivateWindow. Dies hier geht bei mir:

    <control type="button" id="90190">
    <include>ButtonHomeSubCommonValues</include>
    <label>Seriendarsteller</label>
    <onclick>ActivateWindow(Videos,TVShowActors,return)</onclick>
    </control>

    Kannst Du mir bitte jurz sagen, wie ich den Container 50 aufrufe? z.B. über einen Button wie oben?

    Einmal editiert, zuletzt von Mayo (8. Januar 2017 um 16:59)

  • wo genau das Jahr herkommt kann ich dir auch nicht sagen. Meine nfo (direkt in Kodi gescrappt) haben auch kein Country Feld.
    Vielleicht wird dir der Ablauf etwas klarer wenn dir das mal anschaust:
    http://kodi.wiki/view/databases
    Dort sieht man auch schön übersichtlich die Felder bei Serien, Filmen, Seasons.. Mehr gibts in der DB nicht und diese Felder werden damit mit großer Wahrscheinlichkeit
    auch nichts Anzeigen wenn es manuell reinschreibst (wie ein Country tag in eine Serien nfo).

    Staffeln sind aber nicht soo die stärke in Kodi - skintechnisch ist es eigentlich gar nicht angedacht in der Info zwischen Serie und Staffel zu unterscheiden.
    Und seit Krypton noch viel weniger.. Es geht zwar mit Biegereien, aber so etwas wie Staffellaufzeit gibts eigentlich nicht. Und da Staffeln eigentlich nur virtuelle ordner sind wüsste ich nicht wie das reinkommen sollte.

    Kannst Du mir bitte jurz sagen, wie ich den Container 50 aufrufe? z.B. über einen Button wie oben?

    Container 50 ist ein vom Core bereitgestellter Container der je nach deinem Gusto liste, panel, wrapliste sein kann.
    Es braucht nur die ID 50 und muss irgendwo im code sein.

    Aufrufen in dem sinne gibt es nicht. du bledest ja mit "i" den Dialog ein.. Dort im Menü oder per Navigation kannst du dann zur ID50
    ganz normal wie sonst in Kodi mit SetFocus(50)..

    Ob du das nun mit dem Click machst, oder auf eine eigene "Seite" und mit nach rechts, ist egal..

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!