written by kwoxer
Letztes Update 20.12.2010
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.
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", "/")
Weitere Informationen zu dieser und weiterer Software im Techfacts Computer Forum.
Kommentar schreiben
kwoxer (Dienstag, 01 September 2009 09:47)
Schreibt mir was ihr von diesem Tutorial haltet.
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
kwoxer (Montag, 14 September 2009 22:36)
Hallo Jay
wäre vllt eine bessere Frage für das SemperVideo Forum.
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???
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
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.
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
kwoxer (Freitag, 16 Oktober 2009 20:30)
www.dict-leo.org
use this to translate into English
Greetz
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
mü (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...
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
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 :)
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
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
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.
kwoxer (Dienstag, 24 November 2009 20:51)
Quelltext steht hier ganz oben.
Und bei mir klappen die Videos wie immer.
Liebe Grüße
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!
light (Samstag, 05 Dezember 2009 12:18)
Cooles tut musste aber einiges am Text endern, damit der Downloader funktioniert sonst alles super
Weiter so !
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
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.
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
Darky (Samstag, 26 Dezember 2009 20:47)
hi,
muss ich das code update auch für den namen des video downloads 2 einsetzen?
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
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?
kwoxer (Donnerstag, 31 Dezember 2009 16:49)
Das Problem wurde hier schon einige Mal behandelt.
Siehe oben.
Grüße
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(","))
kwoxer (Sonntag, 03 Januar 2010 20:52)
Na dort wo der Code auch schon stand.
Praktisch einfach ersetzen..
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)
kwoxer (Montag, 04 Januar 2010 23:06)
Steht alles oben beschrieben.
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?
lol (Donnerstag, 07 Januar 2010 11:55)
cool
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.
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
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
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*
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 ^^
Reinold (Donnerstag, 18 Februar 2010 17:42)
Könnte ich deine Programm im VB downloaden?
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...
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
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
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
kwoxer (Freitag, 02 April 2010 11:40)
Danke und nein sowas spiele ich nicht.
Grüße
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
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
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.
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
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
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
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 ;)
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
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...
"" (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 ""
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
Tobias (Sonntag, 22 August 2010 18:47)
Hey kwoxer bei mir kommt der Fehler: "Der Name "Download_alles" wurde nicht deklariert" und alle Download_einzeln und Download_alles sind blau unterstrichen HILFE bitte
kwoxer (Sonntag, 22 August 2010 23:06)
Hi,
im Teil4 wird genau dies gezeigt. Man muss sich auch schon einmal alle Videos dazu anschauen bevor man hier Fragen stellt. Fürs nächste Mal.
Grüße
Alex (Freitag, 10 September 2010 17:34)
Moin kwoxer
funktioniert dein Downloader auch bei kino.to ?
oder muss man da noch etwas umschreiben
das würde mich mal interessieren
kwoxer (Freitag, 10 September 2010 19:02)
Hi Alex,
nein. Und sowas wird es auch nicht geben denn das direkte herunterladen von kino.to ist nicht erlaubt. Du kannst die Videos aus dem Cache ziehen, aber nicht speziell das Herunterladen dieser anweisen.
Grüße
AnD (Dienstag, 14 September 2010 13:10)
Der letzte Eintrag war ja jetzt wohl ein Witz, oder?!
Auch bei YouTube ist es verboten die Videos runterzuladen, nicht nur bei kino.to. Daher, vom rechtlichen, ist dein Tool sowieso ilegal!
Zwar gut gemacht, dein Tut. Würde mir aber an deiner Stelle überlegen es rauszunehmen. Die verschärfen gerade wieder die Gesetze über ilegales downloaden gestreamter Medieninhalte. Am Ende wird es noch strafbar ein Tool wie deines anzubieten...
kwoxer (Dienstag, 14 September 2010 15:44)
Hi,
nein Verboten ist es nicht bei YouTube Videos herunterzuladen. Sie sehen es zwar nicht gerne, dass man Videos herunterlädt aber gestzlich verboten ist es afaik nicht. Und Kino.to ist komplett anders. Dort gibt es eigentlich nur illegales Zeugs. Das ist bei YouTube nicht der Fall. Bei YouTube darfst du zwar auch nicht alles ohne weiteres Laden, wegen dem CopyRight, aber die meisten Videos, so wie auch meine können ohne Weiteres heruntergeladen werden.
Jedoch entwickle ich das Tool so oder so nicht mehr weiter. Daher ist diese Diskussion eh für die Katz. Ich empfehle jedem der etwas erunterladen will den JDownloader. Auch Open Source aber im Umfang her einfach besser.
Grüße
Markus G. (Sonntag, 10 Oktober 2010 23:03)
Hallo!
sobald ich auf Downloaden klicke stellt sich der Status auf Fertig aber sonst passiwrt nichts...
woran liegt das?
kwoxer (Montag, 11 Oktober 2010 08:14)
Hi Markus,
ja das stimmt, bitte gedulde dich noch ein wenig. Aus technischen Gründen konnte ich das neue Update noch nicht nachschieben. Werde es so schnell wie möglich beheben.
Grüße
FLORIAN()() (Samstag, 23 Oktober 2010 14:41)
bei mir ist immer der fehler wenn ich eine url einfüge dann sagt mir das programm immer ungültiger video link und das nerft ich will da videos runter laden aber es klappt nicht das ist blööööööddddd bitte hilf mir E-Mail : EandE111@web.de
bitte kein spam ;D spaßßß
ich finde das video meger hammer G*******l Wenn nicht können (sie) noch so was machen bloß mit z.B k.to oder megavideo oder so was wie andere video portale? myvideo, chlipfish, uswww
kwoxer (Samstag, 23 Oktober 2010 14:52)
Hi Florian,
ich hab genug Emails an denen ich Spam senden kann ;) *Spaß* Nein, also derzeit stimmt das. Der Downloader hier ist etwas älter. Nutze doch bitte den Video Downloader Professional. Der kann derzeit alles runterladen außer YouTube. Und nein Kino.to und Megavideo herunterladen ist illegal, daher darf ich so etwas nicht anbieten.
Grüße
René (Mittwoch, 17 November 2010 16:41)
Hallo
Ich wollte mal fragen ob der Code für die Youtube Videos wieder bzw noch geht??
Oder ob es noch keinen funktionierenden gibt?
Mit freundlichen Grüßen
René W.
kwoxer (Mittwoch, 17 November 2010 21:53)
Hallo René,
nein in der Tat gibt es derzeit kein Update von meiner Seite. Einfach keine Lust das jeden zu ändern. Nimmt mir zu viel Zeit in Anspruch.
Grüße
Rene (Sonntag, 05 Dezember 2010 14:37)
Hallo!
Ich wollte fragen ob du mir den Projektordner für den YouTube Downloader schicken könntest! Meine E-Mail: rene.hollander@live.de!
Danke
kwoxer (Sonntag, 05 Dezember 2010 15:48)
Hallo René,
da ich den YouTube Downloader nicht weiter entwickle, steht dem Ganzen eigentlich nichts im Weg. Das Problem ist nur, dass YouTube derzeit irgendwie nicht mehr abgreifbar ist mit der herkömmlichen Methode. Wenn es dir also um das Abgreifen der YouTube Videos geht. Da kann ich dir leider nicht weiterhelfen. Ich werde jedoch einmal meine Projektmappe suchen und diese in Kürze online stellen. Auch wenn ich vermute, dass sich dann kaum einer noch die Videos anschaut.
Viele Grüße
Dennis (Dienstag, 14 Dezember 2010 23:59)
Hi,
leider wurde die Youtbe Seite geändert.
Hat jemand eine funktionierende Methode um an den Downloadlink zu gelangen?
Danke
Riku (Donnerstag, 23 Dezember 2010 14:39)
ich hätte eine frage dein downloader wenn ich das debuggen starte und auf add drücke kommt die fehlermeldung das es kein yt link ist ist es aber
was soll ich tun?
angryjack (Montag, 27 Dezember 2010 10:19)
Suche schon seit Tagen vergeblich nach Informationen, was sich bei YT geändert hat bzw. welchen Aufbau der Downloadlink für MP4 Videos jetzt haben muss.
Bin für jeden Tipp dankbar !
kwoxer (Montag, 27 Dezember 2010 12:47)
Hi,
ja ihr habt alle recht. Derzeit habe ich es nicht wieder geschafft einen vernüftigen Algorythmus dafür zu schreiben. Vllt. wagt sich dieses Mal jemand von euch daran und lässt mir den Code zukommen. Der gsamte Source Code ist als Mappe schon seit kurzer Zeit online gestellt worden, bedient euch.
Grüße
Gator96100 (Freitag, 31 Dezember 2010 16:27)
Der Code ist falsch.
Es setht:
ende_stelle_des_video_namens = InStr(start_DL_url, "<meta name=""description"" content=""") - 6
Es Gehört aber:
ende_stelle_des_video_namens = InStr(start_DL_url, "<meta name=""description"" content=""") - 10
angryjack (Montag, 03 Januar 2011 20:18)
Hatte mir ja einen YT-Viewer auf Basis WinCE geschrieben und der hat auch bis dato immer funktioniert. Den Quellcode hatte ich komplett selbst geschrieben, die Sempervideos kannte ich da noch gar nicht.
Musste schon desöfteren Hand anlegen, weil sich Kleinigkeiten geändert hatten, nur scheint sich jetzt etwas Grundlegendes getan zu haben und ich finde nirgendwo eine Beschreibung was... :-(
Also, falls jemand den neuen Aufbau kennt mit dem man die MP4 Inhalte von YT grabben kann, wäre das ne super Geschichte !
Mr Download (Dienstag, 15 Februar 2011 18:41)
Nice kwoxer. Woher weißt du so viel über IT. Deine Tutorials sind echt der Wahnsinn.
LK (Mittwoch, 02 März 2011 15:43)
Ja, ich warte jetzt auch schon sehr lange, wird das noch was? Bin zwar auch schon ein ehrfahrener VB Coder, aber das ist mir dann schon ein bisschen zu viel *traurig sein*
kwoxer (Mittwoch, 02 März 2011 17:09)
Hi,
danke erst einmal Herr Download.
@LK: warst du das mit dem Problem der Anpassung der Download Routine? Die neue Routine wurde schon im VDP 1.0.1.1 implementiert und funktioniert wieder wunderbar. Source Code ist dort schon seit einer Woche online.
Werde es auch bald hier anpassen. Aber greife doch erst einmal auf den VDP zurück.
Viele Grüße
Michel (Freitag, 04 März 2011 15:23)
Hi Kwoxer,
I already got the program downloading links working after some changes, however i get stuck on playlist it seems like your playlist routine needs modification to work again.
I hope you can help me a hand:) if you have some spare time!
kwoxer (Freitag, 04 März 2011 18:09)
Hi Michel,
nice that you got that programm to work as far. But I have to say that the implementation of the playlist feature won't come again. Youtube is strange in those things and I don't want to reimplement the code every day.
But its possible, you just have to implement it very often cuz Youtube is often changing their code snippets and they dont like those downloaders like mine.
That's all far from now. If you are getting it to work plz tell me. You can also write you code in English, that's no problem.
Greetings
Michel (Freitag, 04 März 2011 19:38)
I have the code in english atm, however im half german so it's not really problem to read.
I will try to get the playlist working, when i'm correct i just need to find the new "strings" inside the HTML page and replace them for the old ones.
I just started VB so mosly i can read the code but writing is little bit harder let mee see how far i can get.
kwoxer (Samstag, 05 März 2011 14:45)
Hi,
yes but the current playlist is ab bit harder. It's with the new Ajax Script Engine and harder to catch links from. So good luck and maybe you will soon have the playlist feature reimplemented.
I'm looking forward to your results.
Greetings
LK (Dienstag, 29 März 2011 14:03)
Hallo KWOXER,
Den neuen Source Code hab ich schon ausprobiert!
Aber immer, wenn ich ihn kopiere und dann mein Programm starte, Funktioniert nicht mehr so, wie es soll. Alles, was ich im Form_Load Ereignis geschrieben habe, macht er nicht. Und wenn ich zum Beispiel auf den Add Button klicke, passiert auch nichts. Ich bitte um Hilfe
LG,
LK
kwoxer (Dienstag, 29 März 2011 21:01)
Hallo,
also bei mir klappt alles wunderbar.
Welche Entwicklungsumgebung nutzt du denn?
Zur Not bitte zum Video Downloader Professionel greifen. Der hat mehr Features und ist viel weiter entwickelt als der YouTube Downloader hier.
Beste Grüße
LK (Samstag, 02 April 2011 09:43)
Ich nutze Visual Studio 2010 Ultimate.
Ich möchte aber einen eigenen Downloader programmieren.
kwoxer (Samstag, 02 April 2011 15:45)
Hi,
ja das ist auch mit dem VDP gar kein Problem. Er hat sämtliche Funktionen des YD und noch vieles mehr. Beide haben die selbe Namennennungslizenz, welche zu beachten ist.
Vor daher ist es eigentlich egal welches Projekt du benutzt letztendlich.
Viel Spaß und Erfolg für deine Version.
Beste Grüße
LK (Dienstag, 05 April 2011 17:02)
Danke, ich werds versuchen, wenn ich wieder Zeit hab, arbeite gerade an einem anderen Projekt
star (Dienstag, 12 April 2011 23:15)
Nach dem neuen Design (glaub ich jedenfalls) geht das irgendwie nicht mehr o.O
Was muss ich da ändern??
kwoxer (Mittwoch, 13 April 2011 22:35)
Hi,
wie schon gesagt, schau dir mal den VDP an.
Grüße
LK (Donnerstag, 28 April 2011 10:56)
Hallo kwoxer,
ich habe jetzt mal den Code vom VDP genommen, das Video ermitteln funktioniert prima, beim VDP hat es zwar den Autor nicht richtig ermittelt(falsche Stelle ermittelt) und beim Namen die letzten zwei Buchstaben abgeschnitten, das habe ich dann verbessert,
aber sonst funktioniert das Ermitteln. Die Dateigröße
kann ich allerdings nicht ermitteln und die Videos
auch nicht herunterladen. Das liegt wohl an einem
fehlerhaften Downloadlink, den konnte ich jedoch nicht
verbessern.
Gruß LK
kwoxer (Freitag, 29 April 2011 08:24)
Hi,
ja das ist richtig, dass derzeit noch ein paar Daten falsch ausgelesen werden. Videos werden aber ohne Probleme heruntergeladen. Der Code dazu ist auch hier online, sollte also problemslos klappen.
Grüße
Dennis (Sonntag, 14 August 2011 20:51)
Hallo,
der neue Code ist jetzt auch down, und ich kenn mich mit html nicht so gut aus...
kwoxer (Sonntag, 14 August 2011 23:18)
Hi,
nein der neue Code ist schon seit fast einer Woche outdated. Aber habe keine Zeit mehr mich dem Projekt zu widmen.
Grüße
Max (Freitag, 02 September 2011 19:55)
Hi ich würde mich freuen wenn sie nochmal einen Code für den Downloadlink Uploaden, weil ich habe einen Downloader für MyVideo und Clipfish programmiert. Wenn da kein YouTube bei ist, ist das schon ein bisschen Langweilig,
LG Maximilian
kwoxer (Samstag, 03 September 2011 15:48)
Hi,
leider finde ich nicht mehr die Zeit dazu. Außerdem wird das mit fortschreitender Technik von YouTube immer schwerer. Leider kann ich dir nicht weiterhelfen.
Grüße
Kimo (Sonntag, 13 November 2011 20:51)
funktioniert er noch ?
ansonsten gute tutorials :)
kwoxer (Sonntag, 13 November 2011 23:59)
Hi,
nein klappt schon seit geraumer Zeit nicht mehr.
Grüße
Frank (Samstag, 14 April 2012 21:14)
bei mir kommt wenn ich auch Download klicke :
Ungültiger URI: Das URI-Schema ist ungültig.
kwoxer (Montag, 16 April 2012 14:04)
Hi Frank,
ja siehe oben das Programm ist schon etwas älter. Daher sind die Routinen outdated und nicht mehr zu gebrauchen. Anpassungen bringen das Programm jedoch wieder zum laufen. Daher Videos anschauen und selbst coden ist die Devise.
Grüße
DarkWolf0306 (Dienstag, 29 Mai 2012 01:36)
muss man für updates nur den html code ändern oder allgemein
Robin Software (Dienstag, 11 September 2012 20:43)
Hallo,
ich hab eine Frage wegen den Copyrht, darf ich dass Programm für eine meiner Multi-Softwaren verwenden
kwoxer (Dienstag, 11 September 2012 20:57)
Ja kannst du machen.
Miami Rize (Montag, 16 Januar 2017 10:21)
Hey sag mal aktuell funktioniert der youtube downloader nicht er sagt mir immer es wäre ein fehler hafter link ( habe aus den debug ordner die exe gestartet) eine idee warum oder kann jdm sagen ob es bei ihm noch geht?
kwoxer (Samstag, 21 Januar 2017 10:56)
Hi, nein der Code ist uralt und schlecht. Müsste man komplett umschreiben damit es wieder funktioniert. Sorry.
Lieben Gruß