YouTube Downloader

Der einfache Weg Videos von YouTube herunter zu laden

written by kwoxer

Hier erfährst du wie du ganz einfach deinen eigenen YouTube Downloader programmieren kannst.Dieser wurde hier in Visual Basic geschrieben, jedoch ist dies natürlich auch in jeder anderen Hochsprache möglich.

 

Danke an Bady an dieser Stelle, da er mir wirklich sehr bei diesem Projekt geholfen hat.

Zur Information!

Support gibt es ab sofort nur noch auf die im Video gezeigten Features. Features betreffend dem Video Downloader Professional Paket gibt es nun nicht mehr.

Das Download Einzeln Modul
download_einzeln.txt
Text Dokument [4.3 KB]
Download
Das Download Alles Modul
download_alles.txt
Text Dokument [4.5 KB]
Download
Die eigentliche Form
Form1.txt
Text Dokument [20.8 KB]
Download

Falls ihr Fehler wie...:

"Das Argument Length muss größer als oder gleich 0 (null) sein."

 

...nutzt bitte den unten stehenden neuen Code.

ALTER CODE! (aus der eigentliche Form)

 

 '#######################################

        Dim anfang_stelle_des_video_downloads_1 As Integer
        anfang_stelle_des_video_downloads_1 = InStr(start_DL_url, "var embedUrl = 'http://www.youtube.com/v/") + 41
        Dim ende_stelle_des_video_downloads_1 As Integer
        ende_stelle_des_video_downloads_1 = InStr(anfang_stelle_des_video_downloads_1, start_DL_url, "&hl=de&fs=1';")
        Dim Laenge_des_downloads_1 As Integer
        Laenge_des_downloads_1 = ende_stelle_des_video_downloads_1 - anfang_stelle_des_video_downloads_1

        Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downloads_1, Laenge_des_downloads_1)

        '#######################################

        Dim anfang_stelle_des_video_downloads_2 As Integer
        anfang_stelle_des_video_downloads_2 = InStr(ende_stelle_des_video_downloads_1, start_DL_url, "t=") + 2
        Dim ende_stelle_des_video_downloads_2 As Integer
        ende_stelle_des_video_downloads_2 = InStr(anfang_stelle_des_video_downloads_2, start_DL_url, "%3D")
        Dim Laenge_des_downloads_2 As Integer
        Laenge_des_downloads_2 = ende_stelle_des_video_downloads_2 - anfang_stelle_des_video_downloads_2

        Name_des_downloads_2 = Mid(start_DL_url, anfang_stelle_des_video_downloads_2, Laenge_des_downloads_2)

        end_DL_url = "http://www.youtube.com/get_video?video_id=" & Name_des_downloads_1 & Chr(38) & "t=" & Name_des_downloads_2 & qualy

NEUER CODE (in die eigentliche Form)

 

Dieser Code ist die neuste Erkennung für YouTube Videos. Ändert diesen also bitte selbstständig im Code. Der Alte Code muss einfach nur durch den neuen ersetzt werden, einfacher gehts nicht.

  ' Get the Name of the Video
            Dim anfang_stelle_des_video_namens As Integer
            anfang_stelle_des_video_namens = InStr(start_DL_url, "<meta name=""title"" content=""") + 28
            Dim ende_stelle_des_video_namens As Integer
            ende_stelle_des_video_namens = InStr(start_DL_url, "<meta name=""description"" content=""") - 6
            Dim Laenge_des_namens As Integer
            Laenge_des_namens = ende_stelle_des_video_namens - anfang_stelle_des_video_namens
            Name_des_videos = Mid(start_DL_url, anfang_stelle_des_video_namens, Laenge_des_namens)

            ' Get the Name of the Autor
            Dim anfang_stelle_des_video_herstellers As Integer = InStr(start_DL_url, "'VIDEO_USERNAME': '") + 19
            Dim ende_stelle_des_video_herstellers As Integer = InStr(anfang_stelle_des_video_herstellers, start_DL_url, "'")
            Dim Laenge_des_herstellers As Integer = ende_stelle_des_video_herstellers - anfang_stelle_des_video_herstellers
            Name_des_herstellers = Mid(start_DL_url, anfang_stelle_des_video_herstellers, Laenge_des_herstellers)

            ' Get the first String of the Download-String
            Dim anfang_stelle_des_video_downloads_1 As Integer = InStr(start_DL_url, "<!-- end contenttop section -->") + 30
            Dim anfang_stelle_des_video_downloads_2 As Integer = InStr(anfang_stelle_des_video_downloads_1, start_DL_url, "url_map") + 13
            Dim ende_stelle_des_video_downloads_1 As Integer = InStr(anfang_stelle_des_video_downloads_2 + 5, start_DL_url, "%2C")
            Dim Laenge_des_downloads_1 As Integer = ende_stelle_des_video_downloads_1 - anfang_stelle_des_video_downloads_2

            Dim Name_des_downloads_1 As String
            Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downloads_2, Laenge_des_downloads_1)
            end_DL_url = Name_des_downloads_1.Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/")

Videos

YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
YouTube-Video
Kommentar Smiley
Bookmark and Share

Kommentar schreiben

53 Kommentare

  • JimdoPro
    #1

    kwoxer (Dienstag, 01 September 2009 09:47)

    Schreibt mir was ihr von diesem Tutorial haltet.

  • #2

    Jay (Montag, 14 September 2009 22:25)

    Tolles Tutorial! Echt super. Nur leider kapier ich es nicht ganz wenn ich NUR die FLV Datei herrausfinden möchte.. Kannst du mir vllt. helfen? Ich hab den Code schon ausgeschlachtet aber leider zeigt er mir sowas an:

    http://www.youtube.com/get_video?video_id=S14ggM0Ihfw&t=\"return false;\" method=\"post\" action=\"/comment_servlet?add_comment=1&comment_type=V\"><input type=\"hidden\" name=\"video_id\" value=\"S14ggM0Ihfw\"><input type=\"hidden\" name=\"form_id\" value=\"comment_form${form_id}\"><input type=\"hidden\" name=\"reply_parent_id\" value=\"${reply_parent_id}\"><textarea name=\"comment\" class=\"comments-textarea\" cols=\"46\" rows=\"5\" maxchars=\"500\" onkeyup=\"updateCharCount(\'charCount${form_id}\', \'maxCharLabel${form_id}\', this); top.goog.i18n.bidi.setDirAttribute(event,this)\" onpaste=\"updateCharCount(\'charCount${form_id}\', \'maxCharLabel${form_id}\', this);\" oninput=\"updateCharCount(\'charCount${form_id}\', \'maxCharLabel${form_id}\', this);\"></textarea><br><div class=\"watch-comment-reply-form-actions\"><input type=\"button\" name=\"add_comment_button\" value=\"Kommentar posten\" onclick=\"postThreadedComment(\'comment_form${form_id}\');\"><input type=\"button\" name=\"discard_comment_button\" value=\"Löschen\" ${discard_visible} onclick=\"hideCommentReplyForm(\'${form_id}\', false);\"><span id=\"maxCharLabel${form_id}\">Verbleibende Zeichen:</span><input readonly=\"true\" class=\"watch-comment-char-count inner-box-colors\" type=\"text\" id=\"charCount${form_id}\" value=\"500\"></div></form><br class=\"clear\">');

    function watchToggleCommentPanel(expander) {
    if (hasClass(expander, 'yt-uix-expander-collapsed')) {
    watchCommentsPanelStateChange();
    } else {
    watchExpandComments('recent_comments', '/watch_ajax?v=S14ggM0Ihfw&action_get_comments=1&p=1&commentthreshold=-5&commentfilter=0&page_size=10&last_comment_id=', 0);
    }
    };





    onLoadFunctionList.push(function() { if (_gel('watch-customize-embed-div')) { generateEmbed(); } });


    onLoadFunctionList.push(function() { enableVideoQualityDisplay() });

    onLoadFunctionList.push(handleHashArgumentsOnWatchLoad);








    var shouldShowAutosharePromo = false;

    function triggerAutosharePromo(feature) {
    if (shouldShowAutosharePromo) {
    showDiv('autoshare-promo-' + feature);
    shouldShowAutosharePromo = false;
    }
    }

    function dismissAutosharePromo(feature) {
    yt.UserPrefs.setFlag(yt.UserPrefs.Flags.FLAG_HIDE_WATCH_AUTOSHARE_PROMOTION, true);
    yt.UserPrefs.save();
    shouldShowAutosharePromo = false;
    hideDiv('autoshare-promo-' + feature);
    }

    </script>






    <style type="text/css">
    #flash10-promo-div {
    display: none;
    background-color: #ffffcc;
    font-size: 12px;
    padding: 5px;
    text-align: left;
    border:1px solid #FFCC33;
    border-top: 0px;
    }
    </style>









    <link rel="alternate" type="application/json+oembed" href="http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3D&fmt=35

  • JimdoPro
    #3

    kwoxer (Montag, 14 September 2009 22:36)

    Hallo Jay

    wäre vllt eine bessere Frage für das SemperVideo Forum.

  • #4

    Steve (Samstag, 03 Oktober 2009 12:02)

    Hey kwoxer,
    kann es sein, dass dein downloader nicht mit VB 2008 Express geht?
    Ich bin mit der Programmierung am Ende des 2. Viedeos und wenn ich versuche den ">" Button zu testen kommen die Fehler:" Der Name "TextBox_pfad" ist nicht deklariet" und ""Pfad" ist kein Member von "Windows.Forms.TextBox"."
    Liegts an mir oder daran, dass es die Express-Version von VB ist???

  • JimdoPro
    #5

    kwoxer (Samstag, 03 Oktober 2009 13:21)

    Hallo.

    Nein ich selber arbeite nur mit der Express Edition. Daher muss der Fehler bei dir liegen.

    Nutze bitte den Open Source Quellcode.

    In Kürze werde ich auch den Source vom Video Downloader Professional veröffentlichen, vllt einfach so lange warten oder ein wenig rumtesten.

    Liebe Grüße

  • #6

    Marcel (Sonntag, 11 Oktober 2009 15:30)

    Es sind bei mir Fehler beim code aufgetreten

    If Download_einzeln.download_1_fertig = True Then
    aktuelle_dl_nummer_einzeln = ListView.CheckedIndices.Item(i)
    Download_einzeln.download_berechnen()
    ElseIf Download_einzeln.download_2_fertig = True Then
    aktuelle_dl_nummer_einzeln = ListView.CheckedIndices.Item(i)
    Download_einzeln.download_berechnen()
    ElseIf Download_einzeln.download_3_fertig = True Then
    aktuelle_dl_nummer_einzeln = ListView.CheckedIndices.Item(i)
    Download_einzeln.download_berechnen()
    Else

    Bin in Wer-kennt-wen als Marcel Klee drin.

  • #7

    ramce (Freitag, 16 Oktober 2009 16:02)

    hello great tutorial
    i need a little help
    can you tell me the name of the battons in english please ?
    thanks

  • JimdoPro
    #8

    kwoxer (Freitag, 16 Oktober 2009 20:30)

    www.dict-leo.org

    use this to translate into English

    Greetz

  • #9

    hescher (Samstag, 17 Oktober 2009 22:02)

    vielen dank für dieses tut es hat mir einige neue sachen gezeigt und es ist gut und leicht verständlich gemacht
    greez hescher

  • #10

    (Donnerstag, 22 Oktober 2009 18:12)

    klasse erklärt aber ich kann die links nicht adden
    habs auch mit dem quelltext probiert klappt aber immer noch nich (sind auch nur youtube videos)
    kann es sein das ich den falschen link nehme?
    wenn ja welchen muss ich nehmen?
    danke schonmal...

  • JimdoPro
    #11

    kwoxer (Donnerstag, 22 Oktober 2009 21:43)

    Mhh, hallo erstmal.

    Vllt erst einmal den Source Code vom Video Downloader Professional anschauen, weil mit dem klappts zum 100%. Der wird nämlich im Gegensatz zum Youtube Downloader aktualisiert.

    Grüße

  • #12

    chrissi (Samstag, 31 Oktober 2009 20:44)

    hi, hab da ein problem wenn ich eine video mit "add" hinzufügen will, zeigt er mir das hier als fehler an :

    Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downloads_1, Laenge_des_downloads_1)

    der kommentar dazu ist : Das Argument Length muss größer als oder gleich (null) sein

    was mache ich falsch?

    mfg chrissi
    ps: bis auf diesen fehler komme ich gut zurecht und das tutorial ist echt gut! weiter so :)

  • JimdoPro
    #13

    kwoxer (Samstag, 31 Oktober 2009 23:52)

    Problem ist bekantt.

    Bitte im Youtube kanal den neuen Code herauslesen.
    http://www.youtube.com/user/kwoxer1

    Grüße

  • #14

    Cannon (Sonntag, 15 November 2009 01:53)

    huhu kann es sein das sich die links Geändert haben ich bekommt immer nur ne Meldung das das keine Gültige Youtube url wär

  • #15

    K4zuj4 (Dienstag, 24 November 2009 18:48)

    Muss ehrlich sagen dsa Tutori ist spitze!
    Nur hab ich mir das mal angeschaut und jedesmal wen ich youtube link adden will kommt Dies ist kein richtiger Youtube link oder so.

    Hab zwar versucht den Quelltext zu suchen und dan die einträge zu ändern - fail.

  • JimdoPro
    #16

    kwoxer (Dienstag, 24 November 2009 20:51)

    Quelltext steht hier ganz oben.

    Und bei mir klappen die Videos wie immer.

    Liebe Grüße

  • #17

    Diablo (Freitag, 04 Dezember 2009 14:02)

    Hey
    Das is echt ein tolles tutorial.
    Aber ich habe ein kleines problem:

    Wenn ich den playlist button benutze, dann sagt er mir, er habe keine playlist gefunden.

    Code:

    Private Sub Button_playlist_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_playlist.Click
    If RadioButton_Low.Checked = True Then
    qualy = ""
    ElseIf RadioButton_Middle.Checked = True Then
    qualy = "%3D&fmt=18"
    ElseIf RadioButton_High.Checked = True Then
    qualy = "%3D&fmt=22"
    ElseIf RadioButton_Highest.Checked = True Then
    qualy = "%3D&fmt=35"
    End If

    On Error GoTo err

    If TextBox_pfad.Text <> "" Then
    Dim httpURL As New System.Uri(ComboBox_link.Text)
    Dim request As HttpWebRequest = HttpWebRequest.Create(httpURL)
    request.Method = WebRequestMethods.Http.Get
    Dim response As HttpWebResponse = request.GetResponse
    Dim reader As New StreamReader(response.GetResponseStream)

    start_dl_url_playlist = reader.ReadToEnd
    response.Close()

    Dim anfang_playlist_count As Integer
    anfang_playlist_count = InStr(start_dl_url_playlist, "<span>Videos: ") + 14
    Dim ende_playlist_count As Integer
    ende_playlist_count = InStr(anfang_playlist_count, start_dl_url_playlist, "</span>")
    Dim laenge_playlist_count1 As Integer
    laenge_playlist_count1 = ende_playlist_count - anfang_playlist_count
    Dim laenge_playlist_count2 As Integer
    laenge_playlist_count2 = Mid(start_dl_url_playlist, anfang_playlist_count, laenge_playlist_count1)

    Dim i As Integer


    Dim playlist_ohne_youtube As String
    Dim playlist_mit_youtube As String
    Dim anfang_stelle_der_playlist_videos As Integer
    Dim anfang_stelle_der_playlist_video As Integer
    Dim ende_stelle_der_playlist_video As Integer
    Dim laenge_der_playlist_video As Integer

    anfang_stelle_der_playlist_videos = InStr(anfang_playlist_count, start_dl_url_playlist, "<div class=""video-short-title"">") + 31
    anfang_stelle_der_playlist_video = InStr(anfang_stelle_der_playlist_videos, start_dl_url_playlist, "href=""") + 6
    ende_stelle_der_playlist_video = InStr(anfang_stelle_der_playlist_videos, start_dl_url_playlist, """ title=")
    laenge_der_playlist_video = ende_stelle_der_playlist_video - anfang_stelle_der_playlist_video
    playlist_ohne_youtube = Mid(start_dl_url_playlist, anfang_stelle_der_playlist_video, laenge_der_playlist_video)
    playlist_mit_youtube = "http://www.youtube.com" & playlist_ohne_youtube

    For i = 0 To laenge_playlist_count2 - 1


    httpURL = New System.Uri(playlist_mit_youtube)
    request = HttpWebRequest.Create(httpURL)
    request.Method = WebRequestMethods.Http.Get
    response = request.GetResponse
    reader = New StreamReader(response.GetResponseStream)
    start_dl_url_playlist = reader.ReadToEnd
    response.Close()

    ERMITTELN_ROUTINE_PLAYLIST()

    item = ListView.Items.Add(name_des_videos)

    Dim items_number As Integer = ListView.Items.Count
    item.SubItems.Add(items_number)
    item.SubItems.Add(name_des_herstellers)
    item.SubItems.Add("Bereit")
    item.SubItems.Add(sizes & " MB")
    item.SubItems.Add(end_dl_Url)

    anfang_playlist_count = ende_stelle_der_playlist_video
    Refresh()
    Next




    Else
    MsgBox(""" ist kein gültiger Speicherort. Bitte wählen Sie einen anderen Speicherort aus.")

    End If
    Exit Sub
    err:
    MsgBox("Kein gültiges Video gefunden. Bitte wählen Sie nur Youtube Videos aus.")

    End Sub

    ****************************************
    Wär nett,wenn du mir helfen könntest.
    Danke!

  • #18

    light (Samstag, 05 Dezember 2009 12:18)

    Cooles tut musste aber einiges am Text endern, damit der Downloader funktioniert sonst alles super

    Weiter so !

  • #19

    Gianluck (Samstag, 19 Dezember 2009 01:42)

    Ich könnte heulen, genau dieses Problem ist bei mir aufgetreten, "Das Argument Length muss größer als oder gleich 0 (null) sein."
    Ich werde verrückt, ich weiß nicht wo ich den neuen Code einfügen muss bzw. bearbeiten. Könntest Du villt. nicht noch ein Quelltext erstellen mit dem neuen Code, aber den man auch natürlich direkt herunterladen kann.
    Wäre wirklich Dankbar!!!


    MfG,
    Gianluck

  • JimdoPro
    #20

    kwoxer (Samstag, 19 Dezember 2009 12:12)

    Aus Insiderkreiser heißt es, dass Youtube wieder die Downloader Routine in den Feiertagen ändert wird. Warten wir lieber so lange ich schieb dann das Update dann nach und update den Quelltext, falls das Problem dann immer noch besteht.
    Ansonsten ienfach in der Downlaod Routine den alten Code ersetzen. Sollte eig. net so schwer sein.

  • #21

    Gianluck (Samstag, 19 Dezember 2009 14:39)

    Also habe diesen Code eingefügt:

    Dim anfang_stelle_des_video_downloads_1_1 As Integer
    anfang_stelle_des_video_downloads_1_1 = InStr(start_DL_url, "fmt_url_map"":") + 14
    Dim anfang_stelle_des_video_downloads_1_2 As Integer
    anfang_stelle_des_video_downloads_1_2 = InStr(anfang_stelle_des_video_downloads_1_1, start_DL_url, "http")
    Dim ende_stelle_des_video_downloads_1 As Integer
    ende_stelle_des_video_downloads_1 = InStr(anfang_stelle_des_video_downloads_1_2 + 5, start_DL_url, "http")
    Dim Laenge_des_downloads_1 As Integer
    Laenge_des_downloads_1 = ende_stelle_des_video_downloads_1 - anfang_stelle_des_video_downloads_1_2
    Dim Name_des_downloads_1 As String
    Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downloads_1_2, Laenge_des_downloads_1)

    Bis dahin hat eitgl. fast alles geklappt nur es gibt ein Problem, unzwar ich möchte ein bestimmtes Video herunterladen, er lädt es, aber dieses Video kann man nicht abspielen .. die Datei hat den Namen des Videos, aber die Datei hat immer 0 MB. Habe andere Videos versucht herunterzuladen, aber genau das gleiche Problem erscheint wieder und wieder

  • #22

    Darky (Samstag, 26 Dezember 2009 20:47)

    hi,
    muss ich das code update auch für den namen des video downloads 2 einsetzen?

  • JimdoPro
    #23

    kwoxer (Dienstag, 29 Dezember 2009 23:24)

    Nein dieser ist damit überflüssig. Die Bezeichnung 1_1 und 1_2 habe ich lediglich so gelassen um die Zuschauer nicht zu verwirren, die gerne das Code Update durchführen möchten.

    Grüße

  • #24

    ProGamer619 (Mittwoch, 30 Dezember 2009 12:00)

    Hallo kwoxer,
    Wenn ich einen link in meine combobox einfüge,
    und auf 'Add' klicke, dann wird der link
    zwar übernommen, jedoch steht bei 'Größe' 0 MB da.
    Wenn ich trotzdem versuche,
    das Video herunterzuladen, erstellt es eine 0 MB
    große Datei in meinem Speicherort.
    Hast du eine Idee, wo der Fehler liegen könnte?

  • JimdoPro
    #25

    kwoxer (Donnerstag, 31 Dezember 2009 16:49)

    Das Problem wurde hier schon einige Mal behandelt.

    Siehe oben.

    Grüße

  • #26

    DK (Sonntag, 03 Januar 2010 20:05)

    Wo füge ich das denn alles ein?
    Bin fast fertig, fehlt nur noch das

    Dim anfang_stelle_des_video_downloads_1_1 As Integer anfang_stelle_des_video_downloads_1_1 = InStr(start_DL_url, "fmt_url_map"":") + 14

    Dim anfang_stelle_des_video_downloads_1_2 As Integer anfang_stelle_des_video_downloads_1_2 = InStr(anfang_stelle_des_video_downloads_1_1, start_DL_url, "http") 

    Dim ende_stelle_des_video_downloads_1 As Integer ende_stelle_des_video_downloads_1 = InStr(anfang_stelle_des_video_downloads_1_2 + 5, start_DL_url, "http")

    Dim Laenge_des_downloads_1 As Integer Laenge_des_downloads_1 = ende_stelle_des_video_downloads_1 - anfang_stelle_des_video_downloads_1_2
    Dim Name_des_downloads_1 As String Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downlo
    ads_1_2, Laenge_des_downloads_1)  end_DL_url = Name_des_downloads_1.Replace("%3F", "?").Replace("%3D", "=").Replace("%26", "&").Replace("%25", "%").Replace("%2C", ",").Replace("%25", "%").Replace("%3A", ":").Replace("%2F", "/") end_DL_url = Mid(end_DL_url, 1, end_DL_url.LastIndexOf(","))

  • JimdoPro
    #27

    kwoxer (Sonntag, 03 Januar 2010 20:52)

    Na dort wo der Code auch schon stand.

    Praktisch einfach ersetzen..

  • #28

    alex (Montag, 04 Januar 2010 16:42)

    egal welche code's ich nehme der error:Das Argument Length muss größer als oder gleich 0 (null) sein.
    kannst du mir helfen?
    du hilfst mir in dem du den code(von name_des_downloads_1 bis name_des_downloads_2)schreibst(hier auf deiner homepage)

  • JimdoPro
    #29

    kwoxer (Montag, 04 Januar 2010 23:06)

    Steht alles oben beschrieben.

  • #30

    Bld3 (Donnerstag, 07 Januar 2010 11:47)

    hey kwoxer deine Turorials sind echt super leider habe ich ein Problem in dem 6 Tutorial Part 2 von 2. Wen ich bei der Playlist debuggen will wie du es in Minute 6:19 machst kommt bei mir ein ein error nachdem ich auf Playlist bin und es wird mir die Zeile

    Dim Laenge_playlist_count2 As Integer
    Laenge_playlist_count2 = Mid(start_DL_url_playlist, anfang_playlist_count, Laenge_playlist_count1)

    Als falsch angezeigft was soll ich da machen?

  • #31

    lol (Donnerstag, 07 Januar 2010 11:55)

    cool

  • JimdoPro
    #32

    kwoxer (Donnerstag, 07 Januar 2010 13:08)

    Die Playlist wird nicht weiter supportet, da diese eine andere Logik verfolgt nach dem Youtube Update.

    Daher bitte Playlist außen vor lassen.

  • #33

    Bl4d3 (Donnerstag, 07 Januar 2010 13:20)

    ok naja en bissi schade das das jetzt net funzt wo ich die doch schon fast fertig hatte aba naja kann man nix macheen danke für die schnelle hilfe

  • JimdoPro
    #34

    kwoxer (Donnerstag, 07 Januar 2010 15:48)

    Doch doch es geht schon. Bloß nach einem anderen System. Hab jetzt aber nicht die Zeit das näher zu ergründen, da eh kaum einer die Playlit nutzt.

    Außerdem vllt als Info ist die Playlist neuerdings im Kanal eingebettet. Daher sehr schwer auszulesen.

    Grüße

  • #35

    Sascha (Samstag, 23 Januar 2010 19:44)

    Also ich sage einfach mal DANKE für diese SUPERGEILE ERklärung und Schritt für Schritt incl der Daten als TXT Datei !! Ich finde das super ! ich schreibe das Ding gerade nach ^^ ich weiss zwar nich, ob es funzt, aber allein um wieder was zu lernen ist das schon geil !

    *DANKE*

  • #36

    Sascha (Samstag, 23 Januar 2010 23:14)

    Hallo Kwoxer,

    funzt super, nur einige videos werden nicht runtergeladen, dann ist der DL immer direkt fertig mit 0 kb, die Anzeige der autors und DL Link funktionieren auch nicht. aber die "gängigen" Videos lassen sich runterladen.. mal sehen, wo alles fertig ist, aknn man ja etwas experimentieren ^^

  • #37

    Reinold (Donnerstag, 18 Februar 2010 17:42)

    Könnte ich deine Programm im VB downloaden?

  • #38

    Dumb (Montag, 15 März 2010 20:30)

    Super tut!
    Allerdings treten bei mir noch 8 Fehler auf die auch mit einem Besuch in deinem Forum nicht gelöst werden konnten...

    6x Fehler: Der Verweis auf einen nicht freigegebenen Member erfordert einen Objektverweis.

    2x Fehler: Fehler Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird.

    Ich werde darauß nicht schlau, ich weiß das dein Code richtig ist und hoffe auf eine schnelle Antwort...

  • JimdoPro
    #39

    kwoxer (Montag, 15 März 2010 23:16)

    Hallo,

    zu euren Anfragen:
    Programm im VB downloaden? Wenn du meinst, meine Programme als Source-Code downzuloaden.

    Der YouTube Downloader wird demnächst als Source Code hochgeladen. Ich weiß aber nicht in welchem Umfang und wie, da einfach mal abwarten.

    Zu deinen Fehlern kann ich ohne deine Quellcode nicht viel sagen.

    Objektverweise und deren Fehler wirst du aber im Zusammenhang mit dem Backgroudnworker gemacht haben.

    Ansonsten steht dir das SemperVideo Forum für Fragen auch zur Verfügung.

    Grüße

  • #40

    derchecker (Dienstag, 16 März 2010 15:51)

    Der Name "start_dl_url" wurde nicht deklariert.
    ich habe da nur fehler was soll ich bloß tun:D

  • #41

    chju (Mittwoch, 31 März 2010 14:48)

    hey kwoxer, erstmal danke für das tutorial ist echt top.

    allerdings will das mit der playlist nicht so :ph34r:
    btw spielst du diablo2? :DD

  • JimdoPro
    #42

    kwoxer (Freitag, 02 April 2010 11:40)

    Danke und nein sowas spiele ich nicht.

    Grüße

  • #43

    S!XEr (Freitag, 02 April 2010 20:27)

    youtube hat ja schon wiedermal was verändert, somit funktioniert ja der code zu findung der video url nicht mehr.
    habt das bei mir mal so geändert. geht vielleicht besser, aber befass mich erst seit 3 tagen mit vb, hauptsache es funktioniert erstmal ;)

    '##### Namen herausfinden #######
    Dim anfang_stelle_des_video_namens As Integer
    anfang_stelle_des_video_namens = inStr(start_DL_url, "<meta name=""title"" content=""") + 28

    Dim ende_stelle_des_video_namens As Integer
    ende_stelle_des_video_namens = InStr(anfang_stelle_des_video_namens, start_DL_url, """>")

    Dim laenge_des_namens As Integer
    laenge_des_namens = ende_stelle_des_video_namens - anfang_stelle_des_video_namens

    name_des_videos = Mid(start_DL_url, anfang_stelle_des_video_namens, laenge_des_namens)

    '## entferne hier noch sonderzeichen : und /, da '## sonst videos nicht abgespeichert werden kann
    name_des_videos = Replace(name_des_videos, ":", "_")
    name_des_videos = Replace(name_des_videos, "/", "_")

    ' ########## usernamen
    Dim anfang_stelle_des_video_herstellers As Integer
    anfang_stelle_des_video_herstellers = InStr(start_DL_url, "'VIDEO_USERNAME': '") + 19
    Dim ende_stelle_des_video_herstellers As Integer
    ende_stelle_des_video_herstellers = InStr(anfang_stelle_des_video_herstellers, start_DL_url, "',")
    Dim laenge_des_herstellers As Integer
    laenge_des_herstellers = ende_stelle_des_video_herstellers - anfang_stelle_des_video_herstellers
    name_des_herstellers = Mid(start_DL_url, anfang_stelle_des_video_herstellers, laenge_des_herstellers)

    '######## url
    Dim anfang_stelle_des_video_downloads_1 As Integer
    anfang_stelle_des_video_downloads_1 = InStr(start_DL_url, "'VIDEO_ID': '") + 13
    Name_des_downloads_1 = Mid(start_DL_url, anfang_stelle_des_video_downloads_1, 11)

    Dim anfang_stelle_des_video_downloads_2 As Integer
    anfang_stelle_des_video_downloads_2 = InStr(start_DL_url, "&t=") + 3
    Dim ende_stelle_des_video_downloads_2 As Integer
    ende_stelle_des_video_downloads_2 = InStr(anfang_stelle_des_video_downloads_2, start_DL_url, "%3D")
    Dim laenge_des_downloads_2 As Integer
    laenge_des_downloads_2 = ende_stelle_des_video_downloads_2 - anfang_stelle_des_video_downloads_2
    Name_des_downloads_2 = Mid(start_DL_url, anfang_stelle_des_video_downloads_2, laenge_des_downloads_2)
    end_DL_url = "http://www.youtube.com/get_video?video_id=" & Name_des_downloads_1 & "&" & "t=" & Name_des_downloads_2 & qualy



  • JimdoPro
    #44

    kwoxer (Freitag, 02 April 2010 21:11)

    Danke für die Info, aber eigentlich funktioniert die "alte" Prozedur nach wie vor.

    Verstehe also nicht wieso sie bei dir versagt hat.

    Grüße

  • #45

    S!XEr (Freitag, 02 April 2010 22:45)

    hmm, muss ich noch mal probieren.
    herstellername aus deinem orginal code geht aber auch nimmer. "var watchUsername = '" wird in keinem youtube quelltext mehr verwendet.

  • #46

    Mr. Anonym (Samstag, 03 April 2010 09:59)

    Hey Ich hab mir die Datei"Die eigentliche Form" runtergeladen, hab alles an meisn angepasst, aber es kommen Fehlen. Nählmich:

    "Der Name "download_einzeln" wurde nicht deklariert."
    "Der Name "download_alles" wurde nicht deklariert."

    UNd somit geht jetzt gar nichts. woran liegt das, heißt vllt. ein Objekt so oder muss man noch einen Code haben?

    MfG. Mr. Anonym

  • #47

    BreaKerr95 (Samstag, 03 April 2010 12:29)

    Hallo ich finde deine Tutorials extrem gut.
    allerdings habe ich bestimmt etwas übersehen denn immer wenn ich was downloaden will und die url einfüge dann sagt der mir kein gültiges video bitte nur videos von youtube nehmen!ich weiß auch schon in welchem abteil der fehler ist unzwar hier! Private Sub datei_ermitteln_einzeln()
    If RadioButton_low.Checked = True Then
    ElseIf RadioButton_middle.Checked = True Then
    qualy = "%3D&fmt=18"
    ElseIf RadioButton_high.Checked = True Then
    qualy = "%3D&fmt=22"
    ElseIf RadioButton_highest.Checked = True Then
    qualy = "%3D&fmt=35"
    End If

    On Error GoTo err

    If TextBox_Pfad.Text <> "" Then
    Dim httpURL As New System.Uri(ComboBox_Link.Text)
    Dim request As HttpWebRequest = HttpWebRequest.Create(httpURL)
    request.Method = WebRequestMethods.Http.Get
    Dim response As HttpWebResponse = request.GetResponse
    Dim reader As New StreamReader(response.GetResponseStream)
    start_DL_url = reader.ReadToEnd
    response.Close()
    ERMITTELN_ROUTINE_EINZELN()
    item = ListView.Items.Add(Name_des_videos)

    Dim Items_number As Integer = ListView.Items.Count
    item.SubItems.Add(Items_number)
    item.SubItems.Add(name_des_herstellers)
    item.SubItems.Add("Bereit")
    item.SubItems.Add(sizes & " MB")
    item.SubItems.Add(end_DL_url)
    Else
    MsgBox(""" ist kein gültiger Speicherort. Bitte wählen sie einen anderen Speicherort aus")
    End If
    Exit Sub
    err: MsgBox("Leider kein gültiges Video gefunden. Bitte wählen sie nur YouTube Videos aus!")
    End Sub
    Währe echt nett von dir wenn du mir die lösung nennen könntest =) ? ! Danke schonmal!

    MFG BreaKerr95

  • JimdoPro
    #48

    kwoxer (Donnerstag, 13 Mai 2010 09:39)

    Sry, iwie wurde mein Beitrag hier wohl nicht zu der Zeit durchgeschaltet.

    Aber Dir ist doch klar, dass der Code etwas veraltet ist mittlerweile. Dieses fmt kannst du dir eigentlich sparen. Das wirkt nicht mehr so in diesem Umfang.

    Ansonsten schau doch einmal in den Video Downloader Professional Source Code. Ist ja alles quelloffen. Wirst also mit Sicherheit fündig werden.

    Grüße

  • #49

    IzMii (Sonntag, 16 Mai 2010 16:43)

    Hi kwoxer
    echt super Tutorial.
    Aber wenn ich eine playlist nehme und sie einfüge und auf playlist drücke kommt nur die meldung "Leider kein gültiger Youtube-Playlist Link!"
    was ist zu tun?
    wurde durch das Update von YouTube auch gleich dies Mitgeändert und nicht nur der wie beim ADD-Button schon von dir das Update gegeben wurde..
    Bin sehr froh um Hilfe ;)

  • JimdoPro
    #50

    kwoxer (Sonntag, 16 Mai 2010 20:32)

    Hallo,

    In der Tat das mit der Playlist ist schon lange abgeändert worden und nun sehr schwer umzusetzen.

    Daher hab ich das auch z.B. beim VDP entfernt. Aber besten das also rauslassen.

    Grüße

  • #51

    VB2008 (Samstag, 03 Juli 2010 13:55)

    Ich finde deine Ideen echt gut und wirklich toll umgesetzt! Aber beim YouTube downloader kommt bei mir immer der Fehler "ERMITTELN_ROUTINE_EINZELN" nicht deklariert. Bitte helfen...

  • #52

    "" (Sonntag, 18 Juli 2010 21:55)

    Hi, das Tutorial was voll cool hab auch vieles verstanden =), obwohl ich erst sein ein paar Tagen mit dem Programm arbeite...

    Bei mir ist immer ein Fehler:

    Contextmenu1.MenuItems.Add("&Infos", New System.EventHandler(AddressOf infos))

    Fehler: System.NullReferenceException
    Ich habe aber doch new geschrieben?

    Danke im vorraus!
    Grüße ""

  • JimdoPro
    #53

    kwoxer (Montag, 19 Juli 2010 10:44)

    Hallo,

    sehe jetzt auch grad nicht deinen Fehler. Aber Source Code befindet sich hier online, also einfach mal anschauen und überprüfen mit deinem.

    Grüße

  • loading
Browser-Statistiken
Blog Top Liste - by TopBlogs.de
Blog
Blog Suche
Blogverzeichnis - Blog Verzeichnis bloggerei.de
WebKatapult.de - Webkatalog und Webmaster-Community.
Blog Button
Seitwert
http://www.wikio.de
Seitenreport - Die Website & SEO Analyse