Team für neues YouTube-Addon gesucht

  • Jetzt kommt der mit solchen Hammerfragen :D

    Was Python angeht muss ich passen. Ich bin eigentlich bei C# zuhause und daher kann ich dir das garnicht beantworten. Bisher hat alles geklappt was ich in den vorhandenen Code reingepfuscht habe.

    Um den Code schlank zu halten hätte ich die parts aus der API gezogen die wir brauchen und in Code umgesetzt. Sozusagen ein eigenes API-Framework basteln welches beliebig erweitert werden kann.
    Ich denk mir bevor ich mich in den "fremden" Code eingearbeitet hab und verwenden kann, bau ich mir lieber selbst was damit es auch nur das beinhaltet was ich brauche und ich weiß wie es funktioniert etc.

    Weil ich gerade im Beispielcode "storage" gelesen habe. Kodi hat ebenfalls eine storage funktion für gewisse sachen und legt diese dann in einer Datenbank ab. Ich weiß das Bromix dies genutzt hat für die VideoItems (Beinhaltet Titel, URL, Beschreibungen etc. Alles was von Youtube rüber kommt) sodass man sich wieder Quota spart.

    Die Quota ist ein großes Thema bei dem Plugin. Wie gesagt sind die zzt. vorhandenen 50Mio innerhalb eines 3/4 Tages voll. Merkt man in Deutschland nicht da es zwischen 4 und 9 Uhr am Limit ist (siehe Bild)

    P.s. Danke Kodinerds für das zwischenspeichern der Beiträge, hat mir nun schon öfter den A... gerettet :D
    P.p.s. Wenns zu viele Fragen werden mache ich nen neuen Thread im Dev-Forum auf. Finds gut das du gleich los legen willst :)

  • Also die ganze Python env Geschichte wird in diesem Thread recht klar: http://forum.kodi.tv/showthread.php?tid=251555
    Also ueberall ausser auf linux wird ein kodi eigenes python verwendet (kodi-python), das ist 2.6. Auf Linux wird das systemeigene python 2 verwendet, wohl ueberall 2.7. Aber ganz ehrlich, ich weiss aus dem Stegreif nicht mal was die Unterschiede von 2.6 zu 2.7 sind, so wichtig wird das nicht sein.
    Interessanter ist wie Module gehandhabt werden: Alle nicht internen Module die genutzt werden im Addon (also eingebunden per import) muessen entweder direkt zum Addon hinzugefuegt werden oder im addons.xml als dependency (script.module.*) angegeben werden.

    Wegen den Quota habe ich mir auch schon Gedanken gemacht, was da ueberhaupt gespeichert werden kann. Youtube ist ja nicht statisch, also muss jedes Mal aufs neue Daten abgefragt werden. Ausser es gaebe Api Funktionen um abzufragen ob sich seit einem gewissen Zeitpunkt in einem Channel/Playlist/... irgendwas geaendert hat und dieser request muesste wenig Quota kosten. Irgendwie bezweifle ich, dass es sowas gibt. Ansonsten sehe bloss die Moeglichkeit Nutzungsstatistiken zu cachen und dann alle aufs Mal mit Youtube abzugleichen (aber das geht ja anscheinend mit der API gar nicht).

  • Das alte Addon ging den Weg das Random auf einen anderen API Key ausgewichen wurde.
    Trotzdem kam es ab und an mal vor das zuviele Zugriffe über die API gingen und YT dicht machte.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Mit dem quota sparen hast du recht. Vermutlich wird es da nichts geben, was man sinnvoll cachen kann. Aber wir werden sehen, evtl gibt's ja doch was.
    Kenne aber auch die yt api wirklich 0

    Und mal ganz blöd gefragt: kann man nicht noch einen zweiten key anfragen und den als sek. Key nutzen?

  • Bzgl Quota:
    Im alten Plugin hat man deswegen die doppelte Anmeldung. Hier wird die Suche über die Funktion von http://youtube.com/tv ausgeführt. Dadurch spart man sich eigene Quota.

    Das springen zu einem anderen key hat nichts gebracht. Ich hatte 6 keys angelegt zwischen denen gesprungen wird. Heißt beim ersten Fehler werden alle aktiven auf die keys verteilt sodass am nächsten Tag eine "gleichmäßige" Auslastung hat.
    Soviel zur Theorie. In der Praxis haben alte google accounts einen key mit einer Quota von 50 mio bekommen, alle weiteren keys nur 1 mio.
    Alle neuen accounts von Grund auf nur 1 mio. Für den Wechsel zwischen den keys muss man ebenfalls neu aktivieren (da der token nicht zum key ubd secret passt)

    Ich müsste wissen wieviele Leute das Plugin nutzen, dann kann man bei Google eine höhere Quota beantragen.

    (API kann ich ;))

    Zitat

    Interessanter ist wie Module gehandhabt werden: Alle nicht internen Module die genutzt werden im Addon (also eingebunden per import) muessen entweder direkt zum Addon hinzugefuegt werden oder im addons.xml als dependency (script.module.*) angegeben werden.


    Ich habs so verstanden, dass wenn man die module in anderen addons ebenfalls verwenden will uber die script.module.* Geschichte gehen muss.

  • Ich müsste wissen wieviele Leute das Plugin nutzen, dann kann man bei Google eine höhere Quota beantragen.

    Das hattest du ja schon weiter oben erwähnt.. Wäre nicht eine Option zum Senden der Nutzerdaten sinnvoll?
    Die könnte man ja als default aktiv setzen und iwo in den settings ganz unten auf der letzten Seite verstecken ^^

    Oder wäre nur das Abfragen der Anzahl der User ohne persönliche Daten, ok? Also ohne Option in den settings, einfach die Daten holen.

    Zu den Imports:
    Ich denke allgemein ist es besser, wenn wir ext Module nutzen, welche es (noch) nicht als Kodi module gibt, diese in ein Kodi module zu wrappen.
    Das hätte den Vorteil, dass andere diese dann ebenfalls nutzen könnten. So könnte man diese auch updaten/ändern, ohne das addon zu berühren
    Andererseits müsste man dann sicherstellen, dass die User diese auch möglichst einfach bkm.
    Dh, man müsste diese schon ins official Repo packen. Alles andere über extra Repos wäre umständlich

    Falls wir jetzt iwo nur einen kleinen Teil einer lib brauchen sollten, könnten wir diese ja auch direkt als umkompilierten source code dabeipacken.
    Der lib Ordner wird sowieso voll sein ^^

  • Kennt denn jemand den Workflow, Dinge in das offizielle Kodi-Repo zu bekommen?
    Ansonsten notfalls eben erst einmal in das eigene Repository. Das braucht der User ja sowieso, um das Addon zu installieren.

    Mit tracken von User-Zugriffen wäre ich vorsichtig. Ich denke, dass gerade die "Generation Kodi" dahingehend sehr empfindlich ist.

    Ein einfaches "pingen" bei jeder ausgelösten Suche sollte aber meiner Meinung nach unproblematisch sein. Muss ja nur der Aufruf an einen Webservice sein - Datum und Uhrzeit einer Suchanfrage loggen. Das sollte ausreichend sein, um die Traffic-Daten analysieren zu können. Mehr brauchen wir meines Wissens nach ja nicht, oder?

  • Laut Doku und dem kodi-Forum ist das hier der "way to go":
    http://kodi.wiki/view/Addon.xml#Examples

    Ich muss gesehen ich komme gerade nichtmehr ganz mit. Im alten Plugin wurde lediglich python mit der verion 2.1.0 importiert.
    Ich denke wir brauchen auch nicht mehr (ne andere Version evtl)?

    Habt ihr beispiele was man als Modul zusammenfassen könnte um es dann als script.module.* zu veröffentlichen? Dann hätte man zwei "Plugins" um die man sich kümmern muss
    und auch wieder zwei Fronten an denen zu Arbeiten ist.
    Wenn ich das nun so richtig verstanden habe dann würde es die Sache nur unnötig verkomplizieren in meinen Augen. Ich würde alles sauber strukturiert direkt einbinden.

    Auf der anderen Seite wenn ich da in die YouTube-Api denke wäre es bestimmt für den einen oder anderen Dev interessant, schon ein fertiges Modul zur Hand zu haben um damit seine Requests auszuführen...

  • Ich muss gesehen ich komme gerade nichtmehr ganz mit. Im alten Plugin wurde lediglich python mit der verion 2.1.0 importiert.
    Ich denke wir brauchen auch nicht mehr (ne andere Version evtl)?

    Das kommt eben drauf an, was man direkt als source beilegt. Wenn wir alles selber coden, brauchen wir ja auch (theoretisch) nichts direkt im addon als dependency zu setzen.
    upd: Ich wäre auch dafür, die zu importierende python Version so niedrig wie möglich zu halten, um keine, oder so wenig USer wie möglich, mit älteren Kodi Versionen, auszuschließen

    Habt ihr beispiele was man als Modul zusammenfassen könnte um es dann als script.module.* zu veröffentlichen?

    Zb könnte man, wie du unten auch gesagt hast, zb eine YT-API-Lib schreiben.

    Finde es eig schöner, keine dependencies fürs addon zu setzen.
    Also so, wie es bromix auch gehandhabt hat, bzw so wie es momentan ist. Quasi also schön aus resources/lib importieren, aber keine externen kodi module


    upd2: Bzgl Nutzerdaten: Meint ihr eine default false Option wäre bei Kodi auch nicht gerne gesehen?
    Es könnte ja schon reichen, das Verhalten von ein paar freiwilligen Usern zu analysieren und hochzurechnen und so die Zahl der User abzuschätzen

  • Das mit dem Usertracking könnt ihr vergessen. Die Regeln des offiziellen Repos verhindern dies.

    Hast du dafür mal einen Link? Wir sammeln hier keine Userbezogenen Daten o.ä. - und im Endeffekt ist es ja für die Nutzbarkeit des Addons wichtig.
    Alternativ: sammelt die Youtube-Api für uns vielleicht solche Statistiken? Sieht auf dem Screenshot, der hier im Thread anhängt so aus. Dann kann man das Ganze auch weglassen - dann haben wir ja Userzahlen und sparen uns dieses sensible Thema in Gänze.

    Auf der anderen Seite wenn ich da in die YouTube-Api denke wäre es bestimmt für den einen oder anderen Dev interessant, schon ein fertiges Modul zur Hand zu haben um damit seine Requests auszuführen...

    Das wäre die Art und Weise, wie ich das angegangen wäre. Einen Part, der die Kommunikation mit Youtube übernimmt (das kann man ja gerne ein extra Modul sein) - und dann den eigentlichen Part mit Frontend und Co, der das Ganze auf dem TV-Bildschirm anzeigt. So in die Richtung würde man es meiner Meinung nach sowieso aufbauen. Um die Entwickler dann doch dazu zu zwingen, beide Module sauber zu halten, ist das sicher eine ganz gute Möglichkeit. Zumindest ist das meine Erfahrung dahingehend :D

  • Das mit dem Usertracking könnt ihr vergessen. Die Regeln des offiziellen Repos verhindern dies.

    Meine Idee war es evtl die MAC_Adresse über MD5 zu jagen und dann zu übertragen. So sind die Daten verschlüsselt (unnütz) aber eindeutig. Bzw. könnte man auch die UserID von Google dafür nehmen, die wäre dann nicht ganz so kritisch ;) Dadurch liese sich die User-Zahl rausfinden, um mehr geht es ja nicht wirklich.
    Google hat zwar eine Analytics API und eine Reporting API aber ich weiß nicht was da drin steckt und ob uns das etwas helfen würde bzw. geht dafür auch wieder Quota drauf.

    Aus den Statistiken wie oben kann man lesen dass z.b. am 10.08 um 19 uhr 30 Requests per second gelaufen sind (im schnitt innerhalb 15 minuten, also insgesamt 27000 Anfragen?) aber das ist nicht wirklich aufschlussreich.

  • MD5 hat fiese Probleme mit Hash-Collisions. Immerhin versuchst du 16^48 in 16^32 zu pressen.
    Sollte für unsere Zwecke kein großes Problem darstellen.

    Und ich sehe tatsächlich, dass die YT-API zum einen nach "Hits" und zum anderen auch pro User limitiert ist.

    Ergo müssten wir tatsächlich zumindest grob abschätzen können, wieviele User das Addon nutzen.

  • Hast du dafür mal einen Link? Wir sammeln hier keine Userbezogenen Daten o.ä. - und im Endeffekt ist es ja für die Nutzbarkeit des Addons wichtig.

    Nein, gerade nicht. Es wurde aber schon vielmals im Forum bekräftigt, dass derartige Add-ons nicht zugelassen sind.

    Wenn Ihr wirklich Tracken wollt, dann am besten als externes Script auf euren eigenen Repo. Das lässt sich vor der Übermittlung in das offizielle Repo leicht entfernen.

  • Möchte ungern deswegen die Kodi-Member dazu bewegen unser Addon nicht ins repo mit aufzunehmen. Ich habe mal angefragt ob es mit verschlüsselten Daten in Ordnung wäre da es ja wirklich nur um die Anzahl der Benutzer geht.
    Dafür bräuchten wir nur ne Datenbank die 24/7 online ist. Stellt sich die Frage ob hier jemand einen Server zur Verfügung hat oder ob wir uns einen Kostenlosen für dieses Projekt holen sollten?
    Würde dann auch eine weitere Kontaktmöglichkeit anbieten (Mailverteiler?)

    Ich finde die Idee mit dem Separaten script-modul für die Kommunikation mit Youtube nicht schlecht, stellt sich nur die Frage ob man dies auch gleich ins repository mit rein bekommen kann sodass die beiden Sachen gleichzeitig installiert werden.

Jetzt mitmachen!

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