Regeln Support-Forum: Kein xbmc.log/kodi.log --> Kein Support ; Keine anständige Beschreibung (incl. Version usw.) --> Kein Support ; Vor dem posten FAQs lesen, Google, Suchfunktion und Hirn benutzen (March 10, 2015)

Der E-Mail Versand bereitet mometan Probleme. Die wenigsten Mails kommen tatsächlich an. Bereits aktivierte Mitglieder sollten auf Funktionen welche einen Mailversand bewirken verzichten. (April 08, 2016)


Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
MetalliQ Player
#1
EDIT: ERLEDIGT
https://github.com/haranbane/xstreamplayer


Hey, 

im Moment benutze ich ganz gerne das Extended Info Mod Add-On um mich durch die Filmauswahl Hollywoods zu klicken. Ich habe selbst gar keinen Überblick über beliebte oder aktuelle Filme und geniesse daher die Möglichkeit, mich durch "Ähnliche Filme" u.ä. zu navigieren. 
Die Weiterleitung von der Extended Info Mod vom OpenEleq Repo zum finalen Link verläuft über das MetalliQ Add-On. Das ist echt angenehm gelöst. Man entscheidet sich sozusagen in einem Zwischenschritt zwischen den verschiedenen Anbietern (Specto, Zen, Phoenix etc.). 

Die meisten Filme schaue ich auf englisch, greife jedoch bei Besuch gerne auf die deutsche Sprache zurück. Demnach meine Idee oder Anregung. Scheinbar ist es möglich, eigene Videoplayer für eigenen Add-On bei MetalliQ hinzuzufügen. Ich selbst habe nur gar keine Ahnung wie dies funktioniert (absoluter Laie auf diesem Gebiet, jedoch bereit zu lernen). Leider erleichtert mir auch die offizielle Anleitung die Sache nicht  Sad
Auch im Internet finde ich nicht wirklich etwas dazu. Wenn man sich die gegebenen .json files der Videoplayer von Specto oder anderen so anschaut, umfassen diese nur knapp 25-30 Zeilen. Für Leute mit Erfahrung bzgl. Plugins/Add-On scheint die Erstellung dieser Player demnach nicht mal der Rede wert zu sein - Ich als Laie stehe dagegen im Wald und kucke blöd drein.

Nun meine Frage. Wäre es möglich, einen xStream Player für MetalliQ zu erstellen? Ich bin wirklich gerne dazu bereit zu helfen, auch bereit Dinge zu lernen. Ich verschliesse mich der Sache absolut nicht und bin über neues Wissen IMMER froh. Jedoch weiss ich halt gar nicht, wie und wo ich anfangen soll und woher ich die benötigten Informationen überhaupt bekomme. Wie viel beispielsweise im URL Resolver und wie viel in xStream steckt. Wie ich die "Globale Suche" einbinden soll, kann und ähnliches. 
Über Hilfe würde ich mich daher sehr freuen!

lg hambsder


PLAYER WURDE ERSTELLT UND IST EINSATZBEREIT - IHR FINDET IHN HIER!
Zitieren
#2
Ok, kleiner Zwischenstand! Ich schreibe das Ganze hier, um das Projekt in kleine Teile zu zerlegen und vielleicht kann ja einer einen kleinen Hint in die richtige Richtung geben. 

Also wenn ich das richtig verstanden habe wäre für xStream vor allem die "Search" Variante relevant.
Da xStream ja anders als Add-Ons wie Exodus etc. die Seiten sozusagen andersrum ausliest ist eine Explore Variante praktisch nicht allumfassend möglich. ABER die Search Variante wäre möglich.

Wenn man sich beispielsweise den 1Channel Search Player von MetalliQ anschaut sieht dieser folgendermaßen aus:

Code:
{
 "name"         : "Search [color=#000000]-[/color] 1Channel ([color=#000000]M[/color])",
 "repository"   : "repository.tknorris.release",
 "plugin"       : "plugin.video.1channel",
 "priority"     : 900,
 "id"           : "search.1channel.m",
 "filters"      : {},
 "postprocess"  : "",
 "movies"       : [
  [
   {
    "link"      : "plugin://plugin.video.1channel/?section=movie&mode=Search&query={title}",
    "steps"     : [
     ".*{title}.*{year}.*"
     ],
    "action"    : "PLAY"
   }
  ]
 ],
 "tvshows"      : [
  [
   {
    "link"      : "plugin://plugin.video.1channel/?section=tv&mode=Search&query={clearname}",
    "steps"     : [
     ".*{clearname}.*{year}.*",
     ".*{season}",
     ".*x{episode} .*"
     ],
    "action"    : "PLAY"
   }
  ]
 ],
 "musicvideos"  : [],
 "music"        : [],
 "live"         : []
}

Ich habe mir demnach eine bereits funktionierende Search .json file besorgt und versuche nun diese anzupassen. Nun benötige ich jedoch die exakte Verlinkung der Globalen Suche des xStream Plugins (siehe "link"). Kann mir dabei jemand weiterhelfen? Wo hat sich diese versteckt. Ich habe via Kodi Log versucht die Aktion `globalSearch` herauszulesen. 


Code:
plugin://plugin.video.xstream/?site=globalSearch&function=globalSearch&title=Globale+Suche&params={title}


Direkt mit der xstream.py bin ich nicht weitergekommen. Nun bekomme jedoch beim Starten von MetalliQ keine positive Reaktion auf die eingebundene Verlinkung.  
Kennt einer xStream gut genug um mir bei diesem Teil weiterzuhelfen?

lg  Blush
Zitieren
#3
Wenn du den genauen Pfad rausfinden möchtest schalte einfach im Kodi mal Debug-Logging ein und mach mal nen Globale-Suche. In der Kodi.log solltest du dann sehen welchen Pfad Kodi aufruft. (Was du ja anscheinend schon getan hast)

Direkt helfen kann ich dir zwar nicht da ich das Addon nicht benutze. Aber wenn du den Eintrag in MetalliQ hast und drauf klickst sollte ja auch was im Log erscheinen. Kannst ja gern das Log mal hochladen dann gucken wir mal was passiert.
Zitieren
#4
(15.12.2016, 08:45)viper2k4 schrieb: Wenn du den genauen Pfad rausfinden möchtest schalte einfach im Kodi mal Debug-Logging ein und mach mal nen Globale-Suche. In der Kodi.log solltest du dann sehen welchen Pfad Kodi aufruft. (Was du ja anscheinend schon getan hast)

Direkt helfen kann ich dir zwar nicht da ich das Addon nicht benutze. Aber wenn du den Eintrag in MetalliQ hast und drauf klickst sollte ja auch was im Log erscheinen. Kannst ja gern das Log mal hochladen dann gucken wir mal was passiert.

Hey, vielen lieben Dank für das Angebot! Freut mich wirklich. 

Bisher habe ich es noch nicht geschafft eine funktionelle Verlinkung bei MetalliQ einzutragen. Aber ich denke (hoffe) dass das momentan wenigstens der richtige Weg ist. Das Problem ist einfach, dass ich mich mit den internen Strukturen von xStream leider so gar nicht auskenne. Das Einbinden des Players scheitert schlicht und ergreifend an der fehlerhaften Verlinkung, da der im Debugger ausgelesene Link scheinbar nicht der richtige war. Eventuell habe ich ihn jedoch auch falsch eingebunden Huh . Jedoch habe ich für später einen neuen Versuch vorbereitet und schaue es mir nochmal an! 

Das Plugin klingt unspektakulärer als es eigentlich ist und wird häufig unterschätzt, alle Kollegen denen ich das im Verlauf der Zeit installiert habe waren einfach begeistert. Das Ding ist, gelinde gesagt, ein Monster. 
Die Auswahl von Filmen, Serien und selbst der Hoster wird dabei ordentlich aufgehübscht und zentralisiert. 
Das Ganze sieht folgendermaßen aus: 

Abbildung 1: Auswahl/Widget
Abbildung 2: Informationen/TMDb
Abbildung 3: MetalliQ Player Auswahl

Das zieht dir dann vor der Anbieterauswahl alle relevanten Informationen (Trailer, Making Of, Related Movies, Actor/Director (natürlich auch alles Verlinkungen (sozusagen die unendlichen Weiten des Hollywoodschen Angebots) unvm.)) wahlweise von TMDb/Rotten Tomatoes/Trakt. Damit wäre es folglich auch möglich, die momentanen Probleme mit dem Metahandler zu umgehen/lösen.

Diese Player aus Abbildung 3 (hoffnungsvoll eines Tages xStream) würde dann sozusagen die Anfrage an die globalSearch von xStream weiterleiten. 
Ich hoffe Du verstehst meine Euphorie nun ein wenig mehr, oder kennst durch die Beschreibung eventuelle Alternativrouten zum Ziel!

lg und vielen Dank für die angebotenen Hilfe.
Zitieren
#5
Ich denke da wird eher die Einbindung falsch sein. Da ich wiederrum aber MetalliQ nicht kenne weiß ich auch nicht wie die Einbindung genau ablaufen muss. Ich kann dir da nur was zu xStream sagen ^^

Naja das Problem ist, der Weg wie man da ran geht. MetalliQ würde hier ja auch nur eine Globale-Suche durchführen. Das Problem hier ist das Konzept. Guck dir z.b mal EXODUS oder SALTS an. Die basieren nicht wie xStream auf den Seiten sondern auf Indexern. Dadurch ist einen sauberes Matching von Metainformationen möglich. Was dazuführt das saubere Liste erstellt werden können mit den passenden Meta-Informationen. Und erst wenn du angibst das du einen bestimmten Film gucken möchtest werden alle Seiten überprüft und nach dem Film durchsucht. Das läuft bei xStream halt komplett anders.
Zitieren
#6
(15.12.2016, 11:22)viper2k4 schrieb: Ich denke da wird eher die Einbindung falsch sein. Da ich wiederrum aber MetalliQ nicht kenne weiß ich auch nicht wie die Einbindung genau ablaufen muss. Ich kann dir da nur was zu xStream sagen ^^

Naja das Problem ist, der Weg wie man da ran geht. MetalliQ würde hier ja auch nur eine Globale-Suche durchführen. Das Problem hier ist das Konzept. Guck dir z.b mal EXODUS oder SALTS an. Die basieren nicht wie xStream auf den Seiten sondern auf Indexern. Dadurch ist einen sauberes Matching von Metainformationen möglich. Was dazuführt das saubere Liste erstellt werden können mit den passenden Meta-Informationen. Und erst wenn du angibst das du einen bestimmten Film gucken möchtest werden alle Seiten überprüft und nach dem Film durchsucht. Das läuft bei xStream halt komplett anders.

Das stimmt, da hast du vollkommen Recht. Die Herangehensweise ist eine komplett andere. Ich erwarte jedoch gar keine Hoster/Qualitätsauswahl wie bei Specto o.ä. Die funktionale Einbettung der GlobalSearch wäre ja voll und ganz ausreichend. Also dass der Player am Ende des Tages einfach die Suchergebnisse des spezifischen gegebenen Terms ausspuckt. Also ja, einfach nur eine globale Suche durchführt. 

Ich habe nun die ersten Erfolge zu verbuchen. Der xStream Search Player ist erfolgreich eingebunden. Bei Betätigung öffnet sich das Keyboard und ich muss den Search Term händisch eingeben. 

Code:
{
 "name"         : "Search xStream",
 "repository"   : "repository.xstream",
 "plugin"       : "plugin.video.xstream",
 "priority"     : 500,
 "id"           : "search.xstream",
 "filters"      : {},
 "postprocess"  : "",
 "movies"       : [
  [
   {
    "link"      : "plugin://plugin.video.xstream/?function=globalSearch&params=0&site=globalSearch&title=Global%20Suche",
    "steps"     : [

         "*{title}"
     ],
    "action"    : "load showMovies"
   }
  ]
 ],
 "tvshows"      : [
  [
   {
    "link"      : "plugin://plugin.video.xstream/?function=globalSearch&params=0&site=globalSearch&title=Global%20Suche",
    "steps"     : [
     ".*{clearname}.*{year}.*",
     ".*{season}",
     ".*x{episode} .*"
     ],
    "action"    : "load showMovies"
   }
  ]
 ],
 "musicvideos"  : [],
 "music"        : [],
 "live"         : []
}
Momentan benutze ich load showMovies als angefügte "action" (zumindest habe ich mir das so aus dem log zusammenreimt). Er führt dann auch die komplette, bekannte globalSearch von xStream aus, bereitet auch die Links auf, spuckt dann jedoch nichts aus außer eine Fehlermeldung aus (error: nothing to repeat) - ja gut eh Confused
Gehe davon aus, dass es an der "action" Zeile liegt und diese nicht der eigentlichen Aktion von xStream entspricht. Weiß jedoch auch nicht weiter. Eventuell weisst Du ja bescheid, woran es hier liegen könnte. Das vollständige Log schicke ich Dir, bei Interesse, gerne via PN...

lg
Zitieren
#7
Schreibt bei action mal "ACTIVATE" rein. Laut der Docu die ja gepostet hast:

Zitat:"action": string [optional, default="PLAY"]
PLAY: Use it if final URL is video.
ACTIVATE: Use it if final URL is a folder or a custom view.

gibt es nur PLAY und ACTIVATE.
Zitieren
#8
(15.12.2016, 14:13)viper2k4 schrieb: Schreibt bei action mal "ACTIVATE" rein. Laut der Docu die ja gepostet hast:

Zitat:"action": string [optional, default="PLAY"]
   PLAY:  Use it if final URL is video.
   ACTIVATE: Use it if final URL is a folder or a custom view.

gibt es nur PLAY und ACTIVATE.

Genau das meine ich, ich sehe den Baum vor lauter Bäumen nicht mehr  Confused . Hat leider nichts geändert - "error: nothing to repeat" trotz "ACTIVATE". Vielen Dank, dass Du mir unter die Arme greifst...
Zitieren
#9
Wie gesagt ohne LOg sehe ich nichts ^^
Zitieren
#10
(15.12.2016, 14:57)viper2k4 schrieb: Wie gesagt ohne LOg sehe ich nichts ^^


Code:
14:53:58 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: *---- Running xStream, version 3.1.0 ----*
14:53:58 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Python-Version: 2.6.5
14:53:58 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: {'function': 'globalSearch', 'params': 'Finding Dory', 'site': 'globalSearch', 'title': 'Global Suche'}
14:53:58 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Call function 'globalSearch' from 'globalSearch'
14:54:02 T:18446744072551225120 NOTICE: version 1.0.1 started
14:54:02 T:18446744072551225120 NOTICE: finished
14:54:08 T:18446744072572841616 NOTICE: version 1.0.1 started
14:54:09 T:18446744072572841616 NOTICE: finished
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: profile folder: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.xstream/
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: root folder: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.xstream
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: default sites folder: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.xstream/sites
14:54:09 T:18446744072551210104 NOTICE: version 1.0.1 started
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at moviesever_com
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at kinox_to
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at burning_series_org
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at streamit_ws
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at video2k_is
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at cine_to
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at 1kino_in
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at video4k_to
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at movietown_org
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at movie4k_to
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at mykino_to
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at dokustreamer_de
14:54:09 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at view4u_co
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at hdfilme_tv
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at serienstream_to
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at kino-streamz_com
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at iload_to
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at streamdream_ws
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at tata_to
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at streamkiste_tv
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at kinodogs_to
14:54:10 T:18446744072572412656 NOTICE: [xStream] -> globalSearch: Searching for dorie at meinkino_to
14:54:10 T:18446744072554183744 NOTICE: [xStream] -> globalSearch: load showMovies
14:54:10 T:18446744072544993168 NOTICE: [xStream] -> globalSearch: Search URL: http://kinox.to/Search.html?q=dorie
14:54:11 T:18446744072572897624 NOTICE: version 1.0.1 started
14:54:12 T:18446744072551210104 NOTICE: finished
14:54:12 T:18446744072574652848 NOTICE: version 1.0.1 started
14:54:12 T:18446744072572897624 NOTICE: finished
14:54:15 T:18446744072563022944 NOTICE: Previous line repeats 1 times.
14:54:15 T:18446744072563022944 NOTICE: [xStream] -> globalSearch: Year given for Findet Nemo- DVD-rip seems not to be a valid number
14:54:17 T:18446744072554183744 NOTICE: [xStream] -> globalSearch: read html for http://moviesever.com/?s=dorie? from cache
14:54:21 T:18446744072562990336 NOTICE: [xStream] -> globalSearch: /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.xstream/cookies.txt does not seem to contain cookies
14:54:26 T:18446744072584412776 NOTICE: Previous line repeats 1 times.
14:54:26 T:18446744072584412776 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'sre_constants.error'>
Error Contents: nothing to repeat
Traceback (most recent call last):
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/addon.py", line 687, in <module>
main()
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/addon.py", line 684, in main
plugin.run()
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/xbmcswift2/plugin.py", line 333, in run
items = self._dispatch(self.request.path)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/xbmcswift2/plugin.py", line 306, in _dispatch
listitems = view_func(**items)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/navigation/movies.py", line 748, in movies_play
if tmdb_id: play_movie(tmdb_id, mode)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/movies.py", line 57, in play_movie
link = on_play_video(mode, players, params, trakt_ids)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/base.py", line 134, in on_play_video
selection = get_video_link(players, params, mode, use_simple_selector)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/base.py", line 109, in get_video_link
result = resolve_f(players[0])
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/base.py", line 103, in <lambda>
resolve_f = lambda p : resolve_player(p, lister, params)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/base.py", line 193, in resolve_player
files, dirs = lister.get(link, steps, parameters)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/lister.py", line 130, in get
return self._browse_external(path, guidance, parameters, unescaped_parameters)
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/lister.py", line 319, in _browse_external
if Lister._has_match(x, hint, parameters)]
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.metalliq/resources/lib/meta/play/lister.py", line 203, in _has_match
r = re.compile(pattern, re.I|re.UNICODE)
File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux-androideabi-android-17/lib/python2.6/re.py", line 190, in compile
File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux-androideabi-android-17/lib/python2.6/re.py", line 245, in _compile
error: nothing to repeat
-->End of Python script error report<--
Bitteschön...
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste