Codefieber.de

IT-Blog

Download von YouTube Videos

| 2 Kommentare

Download von YouTube Videos – Eine kleine Anleitung, wie man Videos von YouTube herunter lädt und diese (sofern man mag) in mp3 konvertiert.

Um ein Video von YouTube herunter laden zu können, benötigt man die Url von einem YouTube-Video:

http://www.youtube.com/watch?v=CHDnDkzv5dw

Um nun an die Videoinformationen heran kommen zu können, muss man die Url folgendermaßen umbauen:

http://www.youtube.com/get_video_info?video_id=CHDnDkzv5dw

Die „get_video_info“ beinhaltet im Grunde alle relevanten Videoinformationen, die man benötigt.

Dazu zählen:

  • Titel
  • Autor
  • Videolänge
  • Videoqualität
  • VideoTyp
  • Thumbnail-Url
  • Download-Url

Um nun an diese Daten heranzukommen, muss man einen Request an die „get_video_info“ Url senden. Die Response sieht dann wie folgt aus:


account_playback_token=&ptk=youtube_multi&url_encoded_fmt_stream_map=url=http://o-o---preferred---sn--cxge---v21---lscache3.c.youtube.com/videoplayback?upn=WufT7bY1nnM&sparams=cp,gcr,id,ip,ipbits,itag,ratebypass,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&key=yt1&itag=43&ipbits=8&signature=XXXX.XXXX&mv=m&sver=3&mt=1348244413&ratebypass=yes&source=youtube&ms=au&gcr=de&expire=1348269570&ip=xxx.xxx.xxx.xxx&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc&quality=medium&fallback_host=tc.v21.cache3.c.youtube.com&type=video/webm;+codecs=%22vp8.0,+vorbis%22&itag=43,url=http://o-o---preferred---sn--cxge---v10---lscache1.c.youtube.com/videoplayback?ip=xxx.xxx.xxx.xxx&upn=WufT7bY1nnM&sparams=algorithm,burst,cp,factor,gcr,id,ip,ipbits,itag,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&mt=1348244413&key=yt1&algorithm=throttle-factor&burst=40&ipbits=8&itag=34&sver=3&signature=XXXX.XXXX&mv=m&source=youtube&ms=au&gcr=de&expire=1348269570&factor=1.25&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc&quality=medium&fallback_host=tc.v10.cache1.c.youtube.com&type=video/x-flv&itag=34,url=http://o-o---preferred---sn--cxge---v9---lscache1.c.youtube.com/videoplayback?upn=WufT7bY1nnM&sparams=cp,gcr,id,ip,ipbits,itag,ratebypass,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&key=yt1&itag=18&ipbits=8&signature=XXXX.XXXX&mv=m&sver=3&mt=1348244413&ratebypass=yes&source=youtube&ms=au&gcr=de&expire=1348269570&ip=xxx.xxx.xxx.xxx&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc&quality=medium&fallback_host=tc.v9.cache1.c.youtube.com&type=video/mp4;+codecs=%22avc1.42001E,+mp4a.40.2%22&itag=18,url=http://o-o---preferred---sn--cxge---v5---lscache8.c.youtube.com/videoplayback?ip=xxx.xxx.xxx.xxx&upn=WufT7bY1nnM&sparams=algorithm,burst,cp,factor,gcr,id,ip,ipbits,itag,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&mt=1348244413&key=yt1&algorithm=throttle-factor&burst=40&ipbits=8&itag=5&sver=3&signature=XXXX.XXXX&mv=m&source=youtube&ms=au&gcr=de&expire=1348269570&factor=1.25&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc&quality=small&fallback_host=tc.v5.cache8.c.youtube.com&type=video/x-flv&itag=5,url=http://o-o---preferred---sn--cxge---v23---lscache7.c.youtube.com/videoplayback?ip=xxx.xxx.xxx.xxx&upn=WufT7bY1nnM&sparams=algorithm,burst,cp,factor,gcr,id,ip,ipbits,itag,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&mt=1348244413&key=yt1&algorithm=throttle-factor&burst=40&ipbits=8&itag=17&sver=3&signature=XXXX.XXXX&mv=m&source=youtube&ms=au&gcr=de&expire=1348269570&factor=1.25&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc&quality=small&fallback_host=tc.v23.cache7.c.youtube.com&type=video/3gpp;+codecs=%22mp4v.20.3,+mp4a.40.2%22&itag=17&allow_embed=1&vq=auto&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&allow_ratings=1&keywords=fantasy,trance,dance,doomraven,anime,believe&track_embed=1&view_count=658933&video_verticals=[588,+35]&fmt_list=43/320x240/99/0/0,34/320x240/9/0/115,18/320x240/9/0/115,5/320x240/7/0/0,17/176x144/99/0/0&author=Doomraven90&muted=0&length_seconds=227&token=vjVQa1PpcFPdGe7M1csfeamA3P4FMfULG0h_6cnx544=&has_cc=False&tmi=1&ftoken=&status=ok&watermark=,http://s.ytimg.com/yt/img/watermark/youtube_watermark-vflHX6b6E.png,http://s.ytimg.com/yt/img/watermark/youtube_hd_watermark-vflAzLcD6.png×tamp=1348244485&storyboard_spec=http://i4.ytimg.com/sb/CHDnDkzv5dw/storyboard3_L$L/$N.jpg|48#27#100#10#10#0#default#P9MkFld8R8QhLkvDSLx6E1owR_I|60#45#115#10#10#2000#M$M#nlaluTfsXsBefv-Alv5sMed3nes|120#90#115#5#5#2000#M$M#pJilKlE6go7MBJ0tbxIZhX4ANaw&plid=AATKOKGcPBj0wJao&endscreen_module=http://s.ytimg.com/yt/swfbin/endscreen-vflY8pJtC.swf&hl=de_DE&loudness=-17.5799999237&no_get_video_log=1&avg_rating=4.90042826552&video_id=CHDnDkzv5dw&sendtmp=1&pltype=contentugc&thumbnail_url=http://i4.ytimg.com/vi/CHDnDkzv5dw/default.jpg&title=Fantasy+Trance+-+Believe

Wenn man nun diese in ihre Einzelteile aufbröselt, erhält man die einzelnen Informationen:

Download-Url:

url=http://o-o---preferred---sn--cxge---v21---lscache3.c.youtube.com/videoplayback?upn=WufT7bY1nnM&sparams=cp,gcr,id,ip,ipbits,itag,ratebypass,source,upn,expire&fexp=923604,924307,914066,922401,920704,912806,913419,913558,913556,919003,912706&key=yt1&itag=43&ipbits=8&signature=XXXX.XXXX&mv=m&sver=3&mt=1348244413&ratebypass=yes&source=youtube&ms=au&gcr=de&expire=1348269570&ip=xxx.xxx.xxx.xxx&cp=U0hTTVJRV19MSkNOM19KS0FGOlFfX3ZTTmIwcWhr&id=0870e70e4cefe5dc

Videoqualität:

&quality=medium

Videotyp:

&type=video/webm;+codecs=%22vp8.0,+vorbis%22

Autor:

&author=Doomraven90

Videolänge:

&length_seconds=227

Thumbnail-Url:

&thumbnail_url=http://i4.ytimg.com/vi/CHDnDkzv5dw/default.jpg

Titel:

&title=Fantasy+Trance+-+Believe

Diese Informationen kann man dann wie man möchte weiter verarbeiten.

Um nun, aber das Video wirklich herunterladen zu können, muss man (wie z.B. bei C#) mit einem „WebClient“ arbeiten.

Das würde dann so aussehen:

public void DownloadVideo()
{
    try
    {
        WebClient client = new WebClient();

        if (!File.Exists(videoFilePath))
        {
             client.DownloadFileAsync(new Uri(videoDownloadUrl), videoFilePath);
        }
        else 
        {
             StartConversion();
        }
     }
     catch (Exception)
     {
     }
 }

Das Video wird dann in dem angegebenen „videoFilePath“ (C:\temp\Fantasy Trance – Believe.flv) gespeichert.

Und das war es auch schon. Wie man dann das Video in eine MP3-Datei konvertiert, kann man nachfolgend lesen: Kommt demnächst!

Oder man benutzt einfach YT2MP3

avatar

Autor: Pascal

Codefieber.de wird von Pascal Betke geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

2 Kommentare

  1. avatar

    Moin Pascal,

    hast du auch eine Ahnung wie man an die Videos von Dailymotion und Vimeo kommt?

    Liebe Grüße

    • avatar

      Hey,
      habe ich mir noch nicht genau angeschaut. Ggf. hat man da auch so eine Schnittstelle wie bei Youtube oder aber man muss die HTML Response auslesen und sich den Link zusammenbauen. Müsste ich selber mal gucken.

      Gruß Pascal

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.