youtube mit proxy

  • Hi,
    ist es möglich nur für das YouTube Plugin einen Proxy zu nutzen?
    Ich hätte ein pac file dafür aber das geht glaube ich nicht.
    Ich habe nur die generellen Proxy Einstellungen gefunden :(

    Kann mir jemand helfen?

    Ich nutze Kodi 14.1 (openelec 5.0.3) auf einem Raspberry Pi

  • Hi,
    ist es möglich nur für das YouTube Plugin einen Proxy zu nutzen?
    Ich hätte ein pac file dafür aber das geht glaube ich nicht.
    Ich habe nur die generellen Proxy Einstellungen gefunden :(

    Kann mir jemand helfen?

    Ich nutze Kodi 14.1 (openelec 5.0.3) auf einem Raspberry Pi

    Aktuell nicht und ich habe mich damit auch noch nicht auseinandergesetzt :) Welches Problem soll mit einem Proxy gelöst werden und was spricht gegen die allgemeine Einstellung?

  • Hi,
    danke fürs feedback.
    Ich bin so ein Telekom Kunde der immer Probleme mit YT hat. Videos laden gar nicht oder erst nach stunden.
    Also gehe ich den Umweg über einen Virtuellen root Server in einem Rechenzentrum.
    Leider hat der Server auch nicht unendlich Traffic.
    Von daher würde ich gerne nur YT darüber nutzen nicht aber Amazon Prime und anderes.

    Deshalb die Idee das nur für das YT Plugin zu nutzen ;)

    Gruß
    Vip

  • Hi,
    habe noch nen Grund gefunden warum es auf Plugin ebene besser ist ;)
    Ich habe im meinem Lokalen Netz eine twonky Server stehen.
    Wenn der globale Proxy an ist kann ich keine Videos mehr von dem twonky gucken...
    Das ist doof ^^

    Gruß
    Vip

  • Das sind natürlich Strukturen, da kann ich wenig dran rütteln oder etwas verbessern. Soweit ich das sehen kann, wird der Standard Proxy vom System genommen, was sich soweit auch durch deine Aussage bestätigt.
    Ich fange nicht an für ein (oder jedes weitere) Addon einen Proxy-Support einzubauen...wenn das ein Problem ist, welches sich nur selektiv beheben lässt, dann sollten sich die Entwickler von XBMC/KODI vom System her schon eine Lösung überlegen, welche es ermöglicht für jedes Addon einzeln einen Proxy einzustellen.

  • Moin bromix!
    Das Hauptproblem scheint zu sein, daß Youtube scheinbar einen HTTPS-Proxy bräuchte - dazu ist der zentrale Kodi-Proxy nicht in der Lage. Ausserdem funktionieren manche Addons mit Proxy wieder nicht, zB. ist Wilmaa nur aus der Schweiz erreichbar und würde mit zentralem US-Proxy nicht funktionieren.

    Ich persönlich nutze Youtube nahezu nur für Musik-Videos: Viele Videos (sogar von deutschen Künstlern) sind durch die Gema in Deutschland gesperrt, andere sind gesperrt weil die Künstler/Videos in Deutschland nicht vermarktet werden sollen. Ein US-Proxy würde diese Einschränkung entfernen. (Deine Suchfunktion zeigt sowieso alle Videos an)
    Ich habe sogar schon versucht, deinen Code anzupassen - gestaltet sich allerdings schwerer als erhofft, weil urllib2 keine HTTPS-Proxies unterstützt. Normale HTTP-Proxies kann man recht einfach in deinen Code patchen, aber damit funktioniert Youtube scheinbar nicht. Man müsste wohl entweder einen HTTPS-Proxy-fähigen Opener in deinen Code integrieren - oder gleich auf urllib3 oder requests 'umbauen'.
    Da hatte ich allerdings noch nicht die Muße zu -> muß leider anmerken, daß dein Code für Andere nicht gerade eingängig ist ;)
    Bin mir nicht sicher, ob ich schon alle relevanten Punkte gefunden habe, welche geändert werden müssten. (wohl auf jeden Fall deine simple-requests, was mit dem requests-package wohl leicht wär.) Muß aber zugeben, daß ich den Punkt an dem Du das eigentliche Video anforderst partout nicht finden konnte ;)
    Am leichtesten dürfte das ganze natürlich Dir selbst fallen... ;) --> bin nämlich eher C++ als Python.

    mfg, emkay

  • Moin bromix!
    Das Hauptproblem scheint zu sein, daß Youtube scheinbar einen HTTPS-Proxy bräuchte - dazu ist der zentrale Kodi-Proxy nicht in der Lage. Ausserdem funktionieren manche Addons mit Proxy wieder nicht, zB. ist Wilmaa nur aus der Schweiz erreichbar und würde mit zentralem US-Proxy nicht funktionieren.

    Ich persönlich nutze Youtube nahezu nur für Musik-Videos: Viele Videos (sogar von deutschen Künstlern) sind durch die Gema in Deutschland gesperrt, andere sind gesperrt weil die Künstler/Videos in Deutschland nicht vermarktet werden sollen. Ein US-Proxy würde diese Einschränkung entfernen. (Deine Suchfunktion zeigt sowieso alle Videos an)
    Ich habe sogar schon versucht, deinen Code anzupassen - gestaltet sich allerdings schwerer als erhofft, weil urllib2 keine HTTPS-Proxies unterstützt. Normale HTTP-Proxies kann man recht einfach in deinen Code patchen, aber damit funktioniert Youtube scheinbar nicht. Man müsste wohl entweder einen HTTPS-Proxy-fähigen Opener in deinen Code integrieren - oder gleich auf urllib3 oder requests 'umbauen'.
    Da hatte ich allerdings noch nicht die Muße zu -> muß leider anmerken, daß dein Code für Andere nicht gerade eingängig ist ;)
    Bin mir nicht sicher, ob ich schon alle relevanten Punkte gefunden habe, welche geändert werden müssten. (wohl auf jeden Fall deine simple-requests, was mit dem requests-package wohl leicht wär.) Muß aber zugeben, daß ich den Punkt an dem Du das eigentliche Video anforderst partout nicht finden konnte ;)
    Am leichtesten dürfte das ganze natürlich Dir selbst fallen... ;) --> bin nämlich eher C++ als Python.

    mfg, emkay


    Ich habe das request Module nicht ohne Grund entfernt ;) Wer das geschrieben hat, hat sich nie Gedanken um Optimierungen der Imports gemacht. Das module verlangsamt dadurch jeden Aufruf, der von KODI beim Addon ausgelöst wird. Das war auf kleinen Systemen nicht zu vertreten.
    Das Problem hört mit urllib3 nicht auf, weil ich wegen Sauberkeit nicht anfange py2t3-Konvertierungen zu machen.
    Bin übrigens auch c++ ;) und für andere war der code eher einsehbar, weswegen im Stillen mein Framework daraus von Dritten genutzt wird.

  • Moin Bromix!

    Ich wollte nicht andeuten, daß dein Code 'unsauber' ist. Im Gegenteil - man sieht, daß Du dir sehr viel Mühe gibst möglichst sauberen und gut strukturierten Code zu schreiben. Das führt allerdings auch dazu das man jetzt so viele Dateien hat, daß man den Wald vor lauter Bäumen nicht sieht ;) --> Es gibt da nicht zufällig eine Dokumentation zu deiner API? ;)
    Da deine Suchfunktion sowieso (im Gegensatz zur Suche auf der Website) auch die gesperrten Videos mit anzeigt, würde es im Grunde ausreichen, den eigentlichen Aufruf des Video-Streams 'umzuleiten' - könntest Du mir einen Tipp geben in welcher Quellcode-Datei ich den finde? Das würde mir die Sache drastisch erleichtern. Sonst muß ich's halt erstmal verschieben, bis ich Zeit & Muße habe deinen Code komplett zu studieren.
    Ich will übrigens nicht in deinem 'offiziellem' Addon rumpfuschen - ich möchte nur dein Addon für mich sinnvoll nutzen können. Und wenns dafür nötig ist, meine Installation des Addons zu patchen, wär's mir den Aufwand wert. (Ich glaube auch, daß am richtigen Ansatzpunkt zumindest ein 'Quick&Dirty-Patch' recht klein ausfallen würde.)
    In vielen Fällen ist ja das VEVO-Addon eine Alternative (VEVO war ja auch genau dafür gedacht), aber einige Künstler sind auch heute noch nur auf Youtube und Live-Aufnahmen hat man auch fast nur dort.

    Das Du 'request' bewusst entfernt hast, konnte Ich ja nicht wissen - der allgemeine Tenor im Netz ist ja, sie wären einfacher UND schnell? Aber da glaube ich einfach mal deiner Erfahrung. Denn wie gesagt: Ich nutze Python wenn ich es muß (zB, sind Indicator-APPs für Ubuntu in Python am einfachsten), sonst ziehe ich für fast alles 'modernes' C++ vor ;) --> Allerdings ist Python zumindest von den Script-Sprachen eine der angenehmsten. (ICH WILL MEINE KLAMMERN ;) )

    Also - vielleicht könntest Du mich auf die richtige Quelldatei verweisen? Du würdest mir stundenlanges Studieren ersparen - um dann vielleicht 4-5 Codezeilen einzufügen. ;)

    mfg, emkay

  • Moin Bromix!

    Ich wollte nicht andeuten, daß dein Code 'unsauber' ist. Im Gegenteil - man sieht, daß Du dir sehr viel Mühe gibst möglichst sauberen und gut strukturierten Code zu schreiben. Das führt allerdings auch dazu das man jetzt so viele Dateien hat, daß man den Wald vor lauter Bäumen nicht sieht ;) --> Es gibt da nicht zufällig eine Dokumentation zu deiner API? ;)
    Da deine Suchfunktion sowieso (im Gegensatz zur Suche auf der Website) auch die gesperrten Videos mit anzeigt, würde es im Grunde ausreichen, den eigentlichen Aufruf des Video-Streams 'umzuleiten' - könntest Du mir einen Tipp geben in welcher Quellcode-Datei ich den finde? Das würde mir die Sache drastisch erleichtern. Sonst muß ich's halt erstmal verschieben, bis ich Zeit & Muße habe deinen Code komplett zu studieren.
    Ich will übrigens nicht in deinem 'offiziellem' Addon rumpfuschen - ich möchte nur dein Addon für mich sinnvoll nutzen können. Und wenns dafür nötig ist, meine Installation des Addons zu patchen, wär's mir den Aufwand wert. (Ich glaube auch, daß am richtigen Ansatzpunkt zumindest ein 'Quick&Dirty-Patch' recht klein ausfallen würde.)
    In vielen Fällen ist ja das VEVO-Addon eine Alternative (VEVO war ja auch genau dafür gedacht), aber einige Künstler sind auch heute noch nur auf Youtube und Live-Aufnahmen hat man auch fast nur dort.

    Das Du 'request' bewusst entfernt hast, konnte Ich ja nicht wissen - der allgemeine Tenor im Netz ist ja, sie wären einfacher UND schnell? Aber da glaube ich einfach mal deiner Erfahrung. Denn wie gesagt: Ich nutze Python wenn ich es muß (zB, sind Indicator-APPs für Ubuntu in Python am einfachsten), sonst ziehe ich für fast alles 'modernes' C++ vor ;) --> Allerdings ist Python zumindest von den Script-Sprachen eine der angenehmsten. (ICH WILL MEINE KLAMMERN ;) )

    Also - vielleicht könntest Du mich auf die richtige Quelldatei verweisen? Du würdest mir stundenlanges Studieren ersparen - um dann vielleicht 4-5 Codezeilen einzufügen. ;)

    mfg, emkay

    Vielleicht hilft dir der Unittest? :)
    https://github.com/bromix/plugin.…_client.py#L191

    Da parse ich 3-4 (Fallbacks und Manifests für Live-Streams) unterschiedliche Quellen, um an die Streams zu gelangen und den ITAGs zuzuweisen. Kannst dir gerne einen Fork machen und schauen, ob du damit etwas anfangen kannst.

    Das Request-Module ist auch super, keine Frage, nur leider ist das hier das Problem gewesen :(
    "import requests" is very slow on python2 when ndg-httpsclient and pyasn1 are available
    und das...
    "import OpenSSL" is 150x slower in 0.14

  • Moin bromix!

    Ja, den Unittest hatte ich mir schonmal angeschaut... ;)
    Jetzt hab ich mir das nochmal genauer durchgelesen, weiterverfolgt durch die aufgerufenen Funktionen und hab nun die Lösung: es gibt keine einfache Lösung. Die Frage war ja, wo Du die Streams aufrufst - und wenn ich das jetzt richtig sehe rufst Du die Streams gar nicht auf, sondern erzeugst nur die passende URL für den Player. (Mit Stream meine ich dabei die eigentlichen Video-Daten)
    Bin noch Kodi-Neuling - sonst wär ich da wohl früher drauf gekommen.

    Das führt dann zu dem Problem, das meine Versuche einen Proxy in dein Addon zu 'Patchen' schiefgehen mussten -> auch der Player müsste den Stream über den Proxy laden.

    Das führt mich zu einer essentiellen Frage: Bei gesperrten Videos - Filterst Du Sie bewusst aus oder kannst Du für Diese keine Url erzeugen?
    In der Suche/Übersicht sind sie ja noch enthalten. Beim Aufruf gibt es dann eine Fehlermeldung.
    Das ist wichtig, weil es bestimmt wo der Proxy hin müsste: Ins Addon - In den Player - oder Beides.

    Soweit ich das im Moment allerdings verstanden habe, müsste ich wohl sowohl im Addon als auch für den Player einen Proxy haben - weshalb es dann am einfachsten wär den Proxy-Code komplett in das Addon zu packen. Das wäre dann eine Art lokaler Proxy, welcher den Stream über die externe Proxy-Adresse öffnet und dann lokal zum Player leitet.
    Wenn dein Addon allerdings auch für die gesperrten Videos zumindest die URL erzeugen kann, dann könnte man den Proxy-Support komplett außerhalb des Addons implementieren. Das erste, was mir da einfiel war ein 'external Player', welcher den Stream über Proxy anfordert und dann weiterleitet an den eigentlichen Videoplayer. (Das nette daran wär - das man über 'Abspielen mit' im Kontext-Menü dann den Proxy wählen könnte. Der Nachteil wäre, daß man diesen Proxy-Player nativ - und damit für jede Plattform - umsetzen müsste...)

    Am schönsten fänd ich persönlich ja die Proxy-Player-Variante, aber am einfachsten/portabelsten wäre wohl der Mini-Proxy-Streaming-Server direkt im Addon ;)

    Muß ich mir mal durch den Kopf gehen lassen... sieht auf jeden Fall so aus, als wären es am Ende doch mehr als nur 3-4 Zeilen ;)

    mfg, emkay

Jetzt mitmachen!

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