YouTubeLibrary 2011 [v. 1.1]

    • Release

    Es gibt 53 Antworten in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

      was ich auch noch toll finden würde, wenn man direkt an einen byte stream herankommen würde um den dann gleich irgendwo zu buffern :)


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
      Hi,
      irgendwie funktioniert die Lib bei mir nicht richtig:
      Wenn ich das Downloaden starte, bekomme ich die Meldung, dass "das URI-Schema ungültig ist".
      Mein Quellcode:

      VB.NET-Quellcode

      1. Private Sub bgw_downlaod_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgw_downlaod.DoWork
      2. yt = New YouTubeLibrary_2011.YouTubeVideo(lv_warteschlange.Items(0).Text)
      3. If My.Computer.FileSystem.DirectoryExists(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\") Then
      4. My.Computer.FileSystem.CreateDirectory(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\")
      5. End If
      6. yt.DownloadVideo(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\") 'Ungültiger URI: Das URI-Schema ist ungültig.
      7. End Sub

      Ich würde mich über Hilfe freuen.
      mbfan
      You should live for that what you belive. - Drag-Drop Beschreibung

      mbfan schrieb:

      Hi,
      irgendwie funktioniert die Lib bei mir nicht richtig:
      Wenn ich das Downloaden starte, bekomme ich die Meldung, dass "das URI-Schema ungültig ist".
      Mein Quellcode:

      VB.NET-Quellcode

      1. Private Sub bgw_downlaod_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgw_downlaod.DoWork
      2. yt = New YouTubeLibrary_2011.YouTubeVideo(lv_warteschlange.Items(0).Text)
      3. If My.Computer.FileSystem.DirectoryExists(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\") Then
      4. My.Computer.FileSystem.CreateDirectory(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\")
      5. End If
      6. yt.DownloadVideo(My.Computer.FileSystem.SpecialDirectories.MyMusic & "\TEMP\") 'Ungültiger URI: Das URI-Schema ist ungültig.
      7. End Sub

      Ich würde mich über Hilfe freuen.
      mbfan


      Diesen Fehler bekomme ich seit kurzem auch -.-
      Letzens ging es noch :(
      Hier Praktische Codens:

      Quellcode

      1. public string DownloadLinkByFormat(Formats f)
      2. {
      3. string HTML = libYoutube.Utils.GetFastWebClientService().DownloadString(Link + "&fmt=37");
      4. int pos = HTML.IndexOf("url_encoded_fmt_stream_map=");
      5. string Part1 = System.Web.HttpUtility.UrlDecode(System.Web.HttpUtility.HtmlDecode(HTML.Substring(pos)).Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/")).Substring(31);
      6. string Part2 = Part1.Substring(0, Part1.IndexOf("&fallback_host"));
      7. Download = Part2;
      8. return Part2;
      9. }


      Mach ich normalerweise eigentlich mit RegEx, hatte aber kein Bock mir da iwie was rumzubasteln weil der Grundcode damals schon fertig war. Heute auf der Arbeit musste ich mir nen paar Videos ziehen, und hab den deswegen nur überarbeitet.

      (Nein, die Funktion kann man nicht einfach CopyPasten)
      (Ja, Ich habe mich bei dem nutzen der Funktion in eure Credits Katapultiert)
      Joar ... Kool :D
      Jetzt muss cih nur gucken, ob cih damit was anfangen kann:

      VB.NET-Quellcode

      1. Public Function DownloadLinkByFormat(f As Formats) As String
      2. Dim HTML As String = libYoutube.Utils.GetFastWebClientService().DownloadString(Link & "&fmt=37")
      3. Dim pos As Integer = HTML.IndexOf("url_encoded_fmt_stream_map=")
      4. Dim Part1 As String = System.Web.HttpUtility.UrlDecode(System.Web.HttpUtility.HtmlDecode(HTML.Substring(pos)).Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/")).Substring(31)
      5. Dim Part2 As String = Part1.Substring(0, Part1.IndexOf("&fallback_host"))
      6. Download = Part2
      7. Return Part2
      8. End Function


      Greez, Marin
      Wenn du dir die Funktion genau anschaust, mit Sicherheit. 'Link' ist ein einfacher Youtube Link, und die GetFastWebClientService Funktion returnt ne veränderte WebClient Klasse.
      Formats ist ne Klasse aus meiner YoutubeLib, und die wird da noch nichtmal verwendet weil ich Global einfach immer 1080p ziehe.

      (Sollte sich eigentlich von selbst verstehen)