Beiträge von Merlin_

    @Maven
    Ich hab nach längerer Zeit mal wieder die aktuelle Version ausprobiert und 2 kleine Fehler gefunden:
    1) Ich musste in common.py alle Aufrufe von "globals.addon.getSetting()" durch "self._gs()" ersetzen. Zumindest bei mir mit Kodi 18.6 / python2 hat es sonst nicht funktioniert.

    2) Im Format-String einer [definition='1','0']log[/definition] Anweisung in tvdb.py (Zeile 376) ist ein "%" zu viel.


    Ich mache gleich eine Pull-Request fertig.

    Guck ich mir später mal an. Ich hab da so eine Vermutung, dass die Suche wegen dem Doppelpunkt nichts findet. Erklärt aber trotzdem nicht warum dann bei manueller Eingabe der ID das Cachen nicht funktioniert.

    Edit:
    Ich hab das grad mal mit NCIS: New Orleans von Amazon probiert (https://www.amazon.de/gp/video/detail/B00W22H1AQ/ref=atv_dp?tag=kodinerds04-21 [Anzeige]) und da werden alle 5 Staffeln fehlerfrei ohne eine einzige Nachfrage über TVDB gefunden und exportiert. Über welchen Anbieter hattest du das probiert?

    Edit2:
    Dafür hab ich mit NCIS: New Orleans noch einen Bug beim Löschen gefunden. Wenn der Name der Serie in der TVDB nicht exakt gleich ist wie der Name aus dem Streaming Plugin geht beim Löschen die Datenbankabfrage ins Leere, da dort der Name aus der Medialist.xml zum Suchen benutzt wird, der Dateipfad und die Datenbankeinträge aber den TVDB Namen benutzen. In diesem Fall ist der deutsche TVDB Name "Navy CIS: New Orleans", bei Amazon ist die Serie aber als "NCIS: New Orleans" gelistet.

    Das sollte eigentlich gecached werden sobald man das erste mal die ID drin hat. Hast du aus der Liste eine auswählen können oder hat er gar keine gefunden und du musstest die ID von Hand eingeben?

    Edit:
    Einen Fehler hab ich noch gefunden. Wenn man die ID von Hand eingibt hat es gar nicht funktioniert weil in der getTVShowFromTVDBID() Funktion noch ein überflüssiger setTVShowCache() Aufruf drin war und die Variable "showName" dort gar nicht bekannt ist. Aber in dem Fall ist das Addon auch ganz abgeschmiert. Mit dem Fix für getTVShowFromTVDBID() funktioniert das bei dann bei mir für beide Varianten, also die passende ID aus der Liste auswählen oder die ID manuell eingeben. Ich hab allerdings keine Serie bei mir drin, wo die TVDB-Abfrage gar nichts zurück gibt und direkt das Eingabfenster für die ID kommt. Welche Serie war das bei dir?

    Ich hab da was gefunden. Das Problem tritt scheinbar nur auf, wenn "Durchsuche TheTVBD .." NICHT auf "immer" steht. In dem Fall wird das 'showtitle' Feld in den einzelnen Elementen der episodeList nicht überschrieben und behält den ursprünglichen Wert (in dem Fall vom AmazonPlugin). Und wenn der Eintrag in der Medialist nicht mit "++RenamedTitle++" gekennzeichnet ist (was hier dann auch der Fall war, weil zuerst die normale Ripper Street exportiert wurde wo der Titel schon passte) wird beim Export das 'showtitle' Feld für den Namen benutzt.


    In dem Zusammenhang hab ich auch noch einen anderen kleinen Fehler gefunden. Die TVBD Suche für die einzelnen Episoden lässt sich nämlich gar nicht richtig abschalten.

    EDIT:
    @Maven Hab beide Fehler behoben.

    @Maven
    Danke für das Lob.

    Die Sache mit Ripper Street guck ich mir nachher mal an. Das kann eigentlich auch nur passieren, wenn bei dir 2 getrennt Einträge in der Medialist.xml gelandet sind und nicht ein Eintrag wo die beiden plugin urls durch "<next>" getrennt sind. Bei mir hatte das jedenfalls funktioniert, dass alle 5 Staffeln in einem Ordner gelandet sind.

    Meine ganzen Änderungen sind jetzt im Branch future2 unter https://github.com/lars-a/plugin.…commits/future2 zu finden.

    Ich versuche mal zusammenzufassen, was ich geändert habe:
    MediaList Handling:

    • In der Medialist wird bei jedem Eintrag auch der Original Name, wie er vom ursprünglichen Video Plugin kam, gespeichert. Um den Original Namen in bestehende Einträge zu bekommen reicht es, diese nochmal zur Medialist hinzuzufügen und dabei dann "Get Title from Medialist" und anschließend den bestehenden Eintrag auszuwählen. Der Original Name wird auch im MediaList Dialog angezeigt und ebenfalls in der Datenbank für die .strm Dateien gespeichert. Dadurch kann man z.B. bei Serien die Staffeln einzeln hinzufügen und auch wieder löschen (z.B. bei Amazon kann man nur die Staffeln hinzufügen, die im normalen Prime-Abo enthalten sind). Eine andere Möglichkeit ist es die Staffeln aus verschieden Versionen der Serie zusammen zubauen. Bei Amazon ist z.B. in der normalen Fassung von Ripper Street nur Staffel 1-4 drin und in "Ripper Street (Uncut)" ist nur Staffel 5 verfügbar.
    • Beim Abspielen eines Eintrags, der mehrfach über die Medialist eingebunden ist wird im Auswahldialog der Original Name zusätzlich zum Provider mit angezeigt.
    • Beim Löschen werden nur die .strm Files gelöscht, die nicht mehr gebraucht werden. Hat man z.B. eine Serie komplett mit Staffel 1-3 in der deutschen Fassung drin und dann zusätzlich noch Staffel 1 in der Originalfassung würden beim Entfernen des Eintrages für die komplette deutsche Fassung nur die .strm Files für Staffel 2 und 3 gelöscht.
    • Beim Hinzufügen von neuen Einträgen gibt es bei Serien die Möglichkeit entweder die ganze Serie auszuwählen oder auch einzelne Staffeln.
    • Der Medialist-Dialog ist nach Filmen/Serien und Audio sortiert und bei bestimmten Funktionen kann man auch auswählen ob nur ein bestimmter Medientyp angezeigt werden soll.
    • Bei "Update all" kommt noch eine Auswahlmöglichkeit ob nur Filme/Serien/Audio oder alles upgedatet werden soll.

    TVDB Matching:

    • Wenn es bei der Suche nach dem Serientitel in der TVDB mehrere Einträge gibt, kommt ein Auswahldialog bzw. die Möglichkeit die TVDB ID der Serie manuell einzugeben.
    • Beim TVDB Matching wird fuzzy Matching benutzt um auch dann die richtige Episode zu finden, wenn die Namen vom Streaming Plugin und der TVBD nicht exakt übereinstimmen. Dazu wird fuzzywuzzy (https://github.com/seatgeek/fuzzywuzzy) benötigt. Falls Kodi unter Linux das im System installierte python benutzt kann man das mit "pip2 install fuzzywuzzy" installieren. Alternativ hab ich das ganze auch in ein Plugin für Kodi gepackt (https://github.com/lars-a/script.module.fuzzywuzzy).
      Damit das ganze auch genutzt wird sollte in den Einstellungen natürlich "Durchsuche TheTVDB ..." auf "immer" stehen.
    • Wenn in der für die Serie ausgewählten Sprache kein Eintrag für eine Episode gefunden wird, wird zusätzlich noch in der englischen TVDB gesucht. (Amazon hat manchmal einen Mix aus deutschen und englischen Titeln für die Episoden, eine Staffel hat deutsche und eine andere englische).
    • Falls gar kein passender Eintrag gefunden wird, kommt ein Auswahldialog mit allen Episodentiteln der entsprechenden Serie aus der TVDB wo man von Hand die passende auswählen kann oder alternativ auch von Hand Season-Nummer und Episoden-Nummer eingeben. Dieser Auswahldialog hat einen einstellbaren Timeout. Falls vor Ablauf des Timeouts keine Auswahl getroffen wird, wird die entsprechende Folge erst mal ignoriert. Beim nächsten Update der Serie kommt dann wieder der Auswahldialog falls nicht in der Zwischenzeit ein passender Eintrag in der TVDB dazugekommen ist.
    • Sowohl die vom Benutzer getroffen Zuordnungen als auch die automatisch gefundenen werden gecached und können über den neuen Menupunkt "Remove Shows from TVDB cache" für einzelne Serien oder "Remove all Shows from TVDB cache" für alle Serien gelöscht werden falls sich da Fehler eingeschlichen haben. Beim nächsten Update für die entsprechenden Serien werden dann wieder die Daten von TVDB benutzt und es wird erneut ein passender Eintrag gesucht.
    • Wenn Doppelepisoden vom Anbieter zu einer Episode zusammengefasst wurden (z.B. die ersten beiden Folgen von Startrek: Deepspace9 bei Netflix) wird eine .strm Datei mit passendem Namen erstellt, so das Kodi das auch als Doppelfolge erkennt. Doppelepisoden werden erkannt, wenn entweder der Name so was wie "Teil 1 und 2" enthält und die entsprechenden Einträge bei TVDB mit "Episodenname (1)" und "Episodenname (2)" benannt sind oder die Namen der beiden Episoden sind mit einem Schrägstrich getrennt (z.B. Gotham Staffel 3 auf Netflix: Folge 21 "Der Kopf des Dämons / Die schwere Last der Seele" wird dann entsprechend den TVDB Einträgen zu Folge 21 und 22)
    • Wenn eine lange Folge vom Anbieter in zwei Folgen aufteilt wurde (z.B. die erste Folge von Suits bei Netflix) werden für die beiden Folgen die .strm Dateien mit den Namen sXeY.1.strm und sXeY.2.strm erzeugt damit Kodi erkennt, dass diese beiden zusammen die Folge ergeben.

    Wenn eine Serie vom Anbieter komplett anders in Folgen aufgeteilt ist wie in der ursprünglichen TV-Ausstrahlung und damit den TVDB Einträgen funktioniert das ganze natürlich nicht.Da sind mir bisher nur zwei Serien untergekommen: "The Night Manager" bei Amazon (8 Folgen mit 45 Minuten statt 6 Folge mit 60 Minuten) und "Haus des Geldes" bei Netflix (22 Folgen unterschiedlicher Länge statt 15 Folgen mit 70 Minten).
    Eine Unterteilung von Staffeln, wie es Amazon z.B. bei Vikings gemacht hat (Staffel 4 und 5 sind bei Amazon 4.1, 4.2, 5.1 und 5.2) macht dagegen keine Probleme, da es für die einzelnen Episoden immer noch eine 1 zu 1 Entsprechung gibt.

    Bugfixes:

    • Der Bug mit der Wiedergabe von Audiostreams ist behoben. Dazu wird in die .strm Files für Audiotracks ein zusätzlicher Parameter mediaType=audio geschrieben und entsprechend ausgewertet. Damit der Parameter in die Dateien reinkommt muss man einmal "update all" für Audio aufrufen.

    Es klappt alles ganz prima allerdings habe ich bei manchen filmen und Serien schwarze "flecken", woran könnte das liegen ?

    Das ist mir heute auch aufgefallen, alls ich einige Folgen Orphan Black geguckt habe. Das liegt aber an Kodi selber. Ich hatte noch eine Version von Kodi hier rumliegen, die ich letzes Wochenende aus dem damals aktuellen git Repository kompilert hat und mit der Version ist noch alles in Ordnung. Es muss also an einer Änderung liegen, die im Laufe der Woche reingekommen ist.

    Ich hab mir gerade noch mal die Einträge in der Medialist.xml näher angeschaut und zumindest herausgefunden was da fehlt. Die Einträge von allen Filmen die funktioneren enden mit "&playMode=play" und bei denen, die ein Komma im Namen haben fehlt dieser Teil am Ende der Zeile. Wenn ich das dann von Hand einfüge und danach vom Plugin ein Update dieser Filme anstosse wird auch der Datenbankeintrag und die strm Datei korrekt angelegt.

    Ich habe einen kleinen Bug gefunden. Es lassen sich keine Filme hinzufügen, bei denen irgendwo im Namen ein Komma auftaucht. Der Eintrag in der Medialist.xml wird angelegt, aber weder in der Datenbank taucht der Eintrag auf noch wird die .strm Datei erzeugt. Es hilft auch nicht, wenn man die Option zum Umbennen benutzt und dort das Komma weglässt. D.h. sobald in dem Namen des Films wie er vom Netflix oder Amazon Plugin kommt ein Komma drin ist geht es nicht. Ich vermute, dass da irgendwo ein String split zuschlägt. Wenn man den Originaltitel übernimmt wird in der Medialist.xml auch nur der Teil bis vor dem Komma übernommen.

    Bei mir funktioniert die Rename-Funktion bei Serien nicht mehr. Bei Filmen funktionert es nach wie vor. Bei Serien wird in den Statusmeldungen auf dem Bildschirm auch der richtige Name (also der geänderte, wie er in dem MediaList.xml steht) angezeigt, der Ordner bekommt allerdings den Original-Namen so wie er im Netflix oder Amazon Plugin auftaucht.

    Wie lange der Fehler schon auftritt kann ich nicht genau sagen. Das ist mir jetzt erst aufgefallen, als ich mal wieder ein komplettes Update aus dem Addon angestossen habe und ich danach einige Serien doppelt hatte. Die automatische Aktualisierung hatte ich schon eine ganze Weile ausgeschaltet, weil es mich gestört hat, dass die Statusmeldungen auch während der Wiedergabe angzeigt wurden wenn ein Update lief.

    Mit der 0.12.4 gibt es keine Fehlermeldungen mehr (auch wenn man es komplett neu installiert und vorher die Einstellungen löscht). Auch nach einem Neustart von Kodi läuft noch alles. Danke für den schnellen Fix. :thumbup:

    Ich musste die Version allerding als zip von github runterladen. Über das Repository wird mir immer noch 0.12.2 als neueste Version angeboten.

    Die Sache mit den vertauschten englischen Tonspuren ist aber immer noch. Auf 1 und 2 sind die Tonspuren mit Erklärungen und auf 5 und 6 die normalen.

    Was bei mir hilft, ist es die COOKIE_... und DATA_... Dateien unter userdata/addon_data/plugin.video.netflix zu löschen, bevor ich Kodi starte. Dann geht auch die Version 0.12.2.

    Ich hab das Plugin auch einmal komplett deinstalliert (inkl. Löschen aller Dateien inuserdata/addon_data/plugin.video.netflix) und dabei von veschiedenen Installationszuständen logs erstellt:


    kodi_netflix_1.txt:
    Kodi ohne Plugin gestartet und dann 0.12.2 installiert. Nach Eingabe der Logindaten kann ich mich erst mal ganz normal durch die Listen durchklicken. Wenn ich aber etwas abspielen will kommt eine Fehlermeldung.


    kodi_netflix_2.txt:

    Kodi neugestartet (direkt beim Start von Kodi kommte schon eine Fehlermeldung vom Plugin) und Downgrade auf 0.12.0. Nach dem Downgrade funktioniert das Plugin sofort ohne Neustart und ich kann zumindest einige Sachen abspielen (z.B. Big Bang Theory). Bei Star Trek Discovery schlägt natürlich der schon bekannte Fehler zu.


    kodi_netflix_3.txt:

    Kodi neugestartet (Plugin in Version 0.12.0 funktioniert erst mal wie vorher) und dann Upgrade auf 0.12.2. Sobald das 0.12.2 installiert ist kommt wieder ne Fehlermeldung und das Plugin funktioniert auch nicht.


    kodi_netflix_4.txt:

    Kodi neugestartet und vorher COOKIE und DATA gelöscht. Plugin funktioniert ganz normal und ich kann auch Star Trek Discovery abspielen. Allerdings bekomme ich dabei erst mal die falsche Tonspur (die Englische mit Erklärungen).