Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Wie kann das Webbrowser-Control zur Adresse https://www.youtube.com/v/9jNjrQY_ftA navigieren?
Debiii
myCSharp.de - Member



Dabei seit:
Beiträge: 21
Herkunft: Deutschland

Themenstarter:

Wie kann das Webbrowser-Control zur Adresse https://www.youtube.com/v/9jNjrQY_ftA navigieren?

beantworten | zitieren | melden

Hey liebe Community,

ich wollte gerne nach fragen, wie im Titel angegeben, wie schafft der Webbrowser an einen embeded Resourcedatenstrom zu gelangen. Wenn ich mir den Stream anschaue oder das html document vom webbrowser, dann bekomme ich entwider "" oder null zurück, aber wie kann er den in das Webbrowserelement reinladen und dann noch das Lied abspielen?

Ich wäre sehr dankbar über Tipps und Antworten :)

Mfg

Debbiii
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16112

beantworten | zitieren | melden

Die für den Browser relevante Info ist:
<embed width="100%" height="100%" name="plugin" src="https://www.youtube.com/v/9jNjrQY_ftA" type="application/x-shockwave-flash">
er gibt also diese URL einfach an die Anwendung weiter, für den der Typ im System registriert ist; in diesem Fall eben Flash.

Der Webserver weiß anhand des Requests, ob es ein Browser ist (dann wird der HTML Content als Rahmen mit gesendet) oder eben der Player, dann werden direkt die Bytes geliefert.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Debiii
myCSharp.de - Member



Dabei seit:
Beiträge: 21
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

Erstmal vielen Dank für die schnelle Mitteilung :))

Und ist es auch möglich an diesen Mediendatenstrom zu kommen bzw den abzufangen?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16112

beantworten | zitieren | melden

Nimm Dir Fiddler und schau Dir an, was Dein Browser an den Server sendet.
Anschließend kannst Du das einfach nachahmen. Ohne eigene Flash-Integration wirst Du halt wenig mit den Daten anfangen können.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Debiii
myCSharp.de - Member



Dabei seit:
Beiträge: 21
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

Vielen Dank. Nun, ich würde gerne einen webplayer/medienplayer schreiben, der als Resource einen Datenstrom akzeptiert und diesen Mediastream wiedergeben kann als das eben geholte Video.

Wie würde ich sowas realisieren, gibt es eventuell Bibliotheken oder ähnliche
Hilfsmittel und wenn nicht, hättest du einen Vorschlag wie ich da am besten Vorgehen könnte.

Ich danke dir schon im Vorraus :)

Mfg

Debiii
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Debiii,

die Antwort auf die Frage im Titel ist

webBrowser1.Navigate ("https://www.youtube.com/v/9jNjrQY_ftA");

was problemlos funktioniert. Wenn man an die Url noch "?autoplay=1" anhängt, wird das Video sogar automatisch abgespielt. Mehr sollte nicht nötig sein.

Falls du versuchen solltest, das Video herunterzuladen, kommst du in Konflikt mit den Youtube Nutzungsbedingungen, insbesondere mit 6.1.K:
Zitat von Youtube Nutzungsbedingungen 6.1.K
Sie erklären sich damit einverstanden, Zugriff auf Nutzervideos nur in der Form des Streamings [...] zu nehmen [...]. "Streaming" bezeichnet eine gleichzeitige digitale Übertragung des Materials über das Internet durch YouTube auf ein nutzerbetriebenes internetfähiges Endgerät in einer Weise, bei der die Daten für eine Echtzeitansicht bestimmt sind, nicht aber für einen (permanenten oder vorübergehenden) Download, ein Kopieren, ein Speichern oder einen Weitervertrieb durch den Nutzer.

Fragen zu rechtswidrigen Handlungen im Forum sind weder erwünscht noch gestattet. Beschränke dich aufs Streaming, was ja wie gesagt problemlos mit dem WebBrowser-Control funktioniert und alle ist gut. Bitte stelle keine (weiteren) Fragen nach dem Download. Stelle bitte auch sonst keine Fragen, die im Konflikt zu den Youtube Nutzungsbedingungen stehen.

herbivore
private Nachricht | Beiträge des Benutzers
Debiii
myCSharp.de - Member



Dabei seit:
Beiträge: 21
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

Wieso ist es eine rechtswiedrige Frage?

Ich möchte doch nur einen Player entwickeln, der einen Datenstrom zu dieser Url aufbaut und in meinem Player abspielt?


Das kann doch VLC und Media Player auch.

Nur das du mich nicht falsch verstehst; mit Video "holen" meine ich eine Verbindung zu den Medienstream herstellen und das wäre dann eigentlich nicht mehr illegal


Sollte meine Frage legitim sein, ist die Frage noch offen bezüglich der Implementierung/Realisierung

Mfg

Debiii
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Debiii,

ich habs doch eigentlich klar geschrieben: Streaming ist ok, Download nicht. Wenn du keinen Download machen willst, ist alles ok.

Zu Realisierung habe ich eigentlich auch schon alles nötige gesagt.

Bitte lies alles noch mal ganz genau!

herbivore
private Nachricht | Beiträge des Benutzers
Debiii
myCSharp.de - Member



Dabei seit:
Beiträge: 21
Herkunft: Deutschland

Themenstarter:

beantworten | zitieren | melden

Das das mit dem Webbrowser funktioniert weiß ich ja, aber ich möchte einen "eigenen" Player und auch den richtigen Medienstream haben, also den tatsächlichen Videostrom. Das der WebBrowser das macht weiß ich aber wie gesagt, für meinen eigenen den ich entwerfen will, benötige ich diesen Videostrom, an den ich aber nicht rankomme und das frage ich ja die Community hier.

bisheriger Versuch an den Strom zugelangen:


Webrequest req = Webrequest .Create("https://www.youtube.com/v/9jNjrQY_ftA"
Stream str = req.GetResponse().GetResponseStream();

und ich glaube nicht, das das der Strom ist, weil er viel zu klein ist.

mfg

Debiii
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16112

beantworten | zitieren | melden

Zum Thema einbetten des Videos in einen vorhanden Player hat Dir herbivore alles wichtige gesagt.
Zur Umsetzung eines eigenen Players hatte ich alles gesagt.

Was Dir definitiv fehlt sind die Grundlagen des Netzwerks und dann noch was Verständnis der .NET Klassen:
GetResponseStream ist das völlig falsche Element für einen dauerhaften Stream, wie es ein Video ist. Du lädst da nicht einfach kurz eine Datei runter, sondern der Server sendet Dir kontinuierlich Bytes, sogenannte Chunks - bis das Video zu Ende ist.

Ob diese Übertragung, proprietär ist (eben von Flash) oder was standardisiertes; das wirst Du sicherlich via Google raus finden können.
Vermutlich hat die Stream-Verbindung Google selbst geschrieben, da schon einige Dinge sehr speziell sind.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Debiii,

du kannst einen eigenen MediaPlayer einfach realisieren, indem du für diesen das WebBrowser-Control benutzt. Was du da treibst, sieht doch stark nach dem Versuch eines Downloads aus. Das ist für einen reinen Player nicht nötig und nach den Nutzungsbedingungen auch nicht erlaubt.

Wir haben gerade erst die Community-Regeln angepasst, um deutlich zu machen, dass "rechtswidrige Inhalte oder Inhalte mit rechtswidrigen Zielen" also hier entsprechende Fragen nicht erlaubt sind.

Natürlich kann ich mich über deine Motive irren, aber da die Nutzung des WebBrowser-Controls sowieso viel einfacher und bequemer als der Versuch selbst auf den Videostream zuzugreifen, brauchen wir den Thread ohnehin nicht fortzusetzen, weil du bereits eine gute Lösungsmöglichkeit kennst, auch und gerade wenn du wirklich nur Streaming realisieren willst.

herbivore
private Nachricht | Beiträge des Benutzers