youtube flv-url herausfinden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • youtube flv-url herausfinden

    Ich suche jetzt schon den ganzen Nachmittag nach einem, welches mir die url zu der flv-Datei zurückgibt, wenn ich ihm die URL für das Video gebe. Also z. Bsp.
    Video-URL: youtube.com/watch?v=t77LuuObFYA&feature=topvideos
    flv-URL: v2.lscache4.c.youtube.com/vide…1.25&id=b7becbbae39b1580&
    Problem dabei ist, dass ich es in mein Programm einbinden möchte. Also darf es schon mal nichts mit Grafischer Oberfläche oder Webservice mit GUI sein. Am liebsten wäre mir einfach ein kleines Konsolenprogramm, dem man wie Video-URL mitgibt und er mir dann als Ausgabe die flv-URL anzeigt. Oder Pythonbibliotheken, da das ganze mit Python realisiert wird.
    Wenn jemand weiß, ob es für die URL eine bestimmte Formel zum berechnen o. Ä. gibt, könnte ich es auch gut gebrauchen.

    Achja die Plattform ist WinXP x86
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Schau dir z.B. in Firebug (ein Firefox-Addon) an welche Seiten geladen werden, wenn du auf eine Seite gehst. Darunter befindet sich eine wie "GET get_video...".
    Diese Adresse siehst du in Firebug unter Netzwerk --> Alle, die Überwachung musst du dort für youtube.com aktivieren ("Unterstützung für Netzwerküberwachung").

    Dann fehlen dir nur noch die entsprechenden Parameter (Video-ID und Code, das sind die Parameter video_id und t für youtube.com/get_video ), diese findest du im Quelltext der Videoseite ja leicht.

    gruß
    trublu
  • Nach langem Suchen habe ich nun endlich die Lösung gefunden:

    Quellcode

    1. # #!/usr/bin/env python
    2. # # -*- coding: utf-8 -*-
    3. import httplib,urllib
    4. __author__ = 'Jarosław Przygódzki'
    5. __copyright__ = 'Copyright (c) 2009 Jarosław Przygódzki'
    6. __date__ = '30.04.2009'
    7. __license__ = 'GPL'
    8. __version__ = '0.1.1'
    9. def GetYoutubeVideoInfo(videoID,eurl=None):
    10. '''
    11. Return direct URL to video and dictionary containing additional info
    12. >> url,info = GetYoutubeVideoInfo("tmFbteHdiSw")
    13. >>
    14. '''
    15. if not eurl:
    16. params = urllib.urlencode({'video_id':videoID})
    17. else :
    18. params = urllib.urlencode({'video_id':videoID, 'eurl':eurl})
    19. conn = httplib.HTTPConnection("www.youtube.com")
    20. conn.request("GET","/get_video_info?&%s"%params)
    21. response = conn.getresponse()
    22. data = response.read()
    23. video_info = dict((k,urllib.unquote_plus(v)) for k,v in
    24. (nvp.split('=') for nvp in data.split('&')))
    25. conn.request('GET','/get_video?video_id=%s&t=%s' %
    26. ( video_info['video_id'],video_info['token']))
    27. response = conn.getresponse()
    28. direct_url = response.getheader('location')
    29. return direct_url,video_info
    Alles anzeigen

    Der Code stammt von geniusofevil.wordpress.com/200…ct-youtube-video-flv-url/ .

    Über die (Google) Youtube API, wie von vince vorgeschlagen, scheint es keine Möglichkeit zu geben, was aber auch verständlich ist, da es gegen die Youtube Bestimmungen verstoßen würde.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.