ChannelAwesome Addon - python hilfe!

  • Moin,
    da tgwtg.com nun offiziell abgeschaltet wurde ist das thatguywiththeglasses addon leider garnicht mehr zu gebrauchen. Neuen Inhalte gab es ja auch schon seit ein paar wochen nicht mehr aber man konnte es immernoch gut nutzen um alte inhalte anzuzeigen und abzuspielen.

    Naja weil ich schon immermal mich genauer mit der addon entwicklung beschäftigen wollte und ich heute nichts zu tun hatte dachte ich, versuch dich mal dran ein xbmc/kodi addon zu schreiben.
    Ich habe nicht wirklich python programmierkenntnisse aber habe schon etwas gescriptet.

    Ich habe mich bei der Entwicklung bis jetzt an das kodi wiki gehalten und dieses etwas veraltete Tutorial:
    http://kodi.wiki/view/How-to:Write_plugins_for_XBMC
    Was aber noch super funktioniert wie es scheint...

    Ich hab bis jetzt nicht viel geschafft aber mein erster Versuch die seite nach den Videolinks zu scrapen hat gut funktioniert und ich stehe jetzt mit dem ID für die blip.tv videos da.
    Jetzt komme ich aber leider nicht mehr weiter, wie gebe ich diese jetzt ans blip.tv addon weiter für die wiedergabe.
    Ich habe mir natürlich auch den code vom tgwtg addon von AddonScriptorDE aber das ist mir alles noch etwas zu komplex und ich steige nicht völlig durch.

    Mein plan war erstmal nur ein ganz einfaches addon wo ich mir die neusten 12 Videos von meinem lieblings Reviewern/Shows ansehen kann.
    Das diese mir gelistet werden klappt soweit auch schon aber der playback funktionier leider nicht nicht.

    Wenn ich etwas vertrauter mit python werde wollte ich das ganze auch noch weiterentwickeln aber man fäng ja klein an :)

    Hier ist meine Default.py fürs addon.
    Bis jetzt listet sie alle 12 aktuellen Videos vom Nostalgia Critic, wenn man ein Video ausgewählt hat öffnet sich ein neues Fenster und hier scheitert dann der playback.

    Spoiler anzeigen

    Im bereich def VIDEOLINKS holt sich das addon ja die blip.tv video id, diese muss jetzt ja quasi nur noch an das blip.tv addon weitergeleitet werden für playback, aber hier habe ich sicher über ne stunde erfolglosrumprobiert.
    addLink versucht mit diesem code dann einfach die id abzuspielen was natürlich scheitert. Ich habe den code ab so hier gepostet weil er am saubersten war.

    Das ganze hat mich zu sehr frustiert :D deswegen hoffe ich das mir bei dem schritt jemand den entscheidenen tipp geben kann und ich dann in ruhe weiter am rest weiterbasteln kann.

    Danke!

  • lass bei def videolinks am besten nach dem rss link suchen - http://blip.tv/rss/flash/6857849
    dann fügst du für addlink noch den mode hinzu
    addLink(name,url,3,'')
    in der rss gibts dann verschiedene abspielmöglichkeiten: mp4, m4v, m3u8
    die def für mode 3 würde dann in etwa so aussehen

    Code
    def resolver(url):
      urlaufruf
      suche nach einem link, zb m3u8
      listitem = xbmcgui.ListItem(path=m3u8)
      xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)

    ich hoffe ich war irgendwie verständlich :>

  • grob verstehen kann ich deine idee :)
    leider scheitere ich daran solche rss links für die videos rauszubekommen.
    auf der channelawesome.com finde ich nirgends links mit "http://blip.tv/rss..." und auch sonst keine spur von direkten links.

    Dswegen dachte ich auch das ich das mit dem blip.tv addon mache, wie das alte tgwtg addon, aber da steig ich halt net durch :(
    So wie ich das aber interpretiere arbeitet es nur mit diesen blip.tv links, zb http://blip.tv/play/gbk7g7L_aAI.x

  • Haha oh man das gleich hatte ich gestern auch noch entdeckt und ca ne halbestunde lang probiert aber dann wurde ich immer zu sonem video weitergeleitet das mir mitteilte dass ich es nur embedded angucken könnte, keine Ahnung warum es jetzt auf einmal geht aber ok :D

    Dann versuch ich mich mal wieder an pyhon und daran das ganze einzubinden, vielen Dank schonmal...

    EDIT:
    So es läuft :D yay
    Muss aber noch viel lernen und arbeit reinstecken.
    Momentan listet er ja nur die Reviews vom Nostalgia Critic, aber da kommen dann bald auch die anderen großen dazu.
    Das wichtigste ist fürn anfang aber auch ne Option das man zur nächsten Seite kommt da nur max 12 Titel pro seite gelistet werden und Nummer 2 wäre Youtube Video support.

    Ne Suchfunktion wär auch super aber ich glaube bis ich soweit bin hat schon wer anderes nen besseres Plugin fertig :D

  • Hmm leider stecke ich wieder fest....

    Ich wollte das ganze jetzt etwas aufräumen und zb für für die Videos nicht erst einen Ordner anlegen sondern direkt abspielen.
    Ich habe mir den tip oben von Jin angeguckt und auch noch ein paar andere addons und wollte das ganze jetzt so lösen:

    Ich scrape die Seite nach den Video-Seiten-Links und füge diese dann per addLink anstatt addDir hinzu.
    Bei addLink füge ich mode hinzu und dieser verweist dann auf meine Function wo ich ich die Video-Seite nach entweder Blip oder Youtube Links durchforste und danach auflöse.

    Leider funktionierts nicht
    Mein Problem ist das addLink dann nicht die variable url nutz aus der function RESOLVELINK sondern die die ihm vorher zugeteilt wurde in der Function LISTVIDEOS, also die url für die videoseite und nicht den direkten videolink. Den kann er natürlich nicht abspielen.

    Wie bekomme ich das jetzt hin das addLink dann die korrekte url nutz oder denke ich in die völlig falsche richtung?
    Habe mir verschiedene addons angesehen wo das so zu funktionieren scheint aber ich steig da nicht so ganz durch.

    Ich habe schon versucht globale variablen zu nutzen aber das haute auch nicht hin (wurden nicht durch RESOLVELINK verändert) und eine neue variable anlegen, zb videourl funktioniert auch nicht da addLink diese dann nicht kennt.

    Hier der aktuelle python code:

    Spoiler anzeigen


    EDIT:
    OK Fehler gefunden und läuft jetzt:
    AddLink fehlte:
    u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
    ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz)

    Muss mich nochmal soweit einlesen das ich weis was genau da passiert aber es freut mich das es läuft :)

    Aber ich habe sonst habe ich noch mehr geschafft zu implementieren auf das bin ich als totaler noob ja etwas stolz:
    List All Videos:

    Das ganze funktioniert einwandfrei aber leider dauert es natürlich ne ganze weile mehrere seiten zu durchforsten. Ist es möglich das noch irgendwie zu beschleunigen?

    Ein weitere Frage wäre ob ich den for ** in ** Befehl auf mehrere variablen anwender kann.
    Ich meine zb:
    match1 holt sich url, name und thumbnail
    match2 holt sich Datum

    Kann man das dann irgendwie beides zusammen nutzen?

    Code
    for url,name,thumbnail in match1 and date in match2:
    addLink(.....)


    funktionierte leider nicht ;)

Jetzt mitmachen!

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