You are not logged in.

  • Login

1

Sunday, December 13th 2009, 6:11pm

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: http://www.youtube.com/watch?v=t77LuuObFYA&feature=topvideos
flv-URL: http://v2.lscache4.c.youtube.com/videopl…becbbae39b1580&
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

2

Monday, December 14th 2009, 1:37pm

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 www.youtube.com/get_video ), diese findest du im Quelltext der Videoseite ja leicht.

gruß
trublu

3

Monday, December 14th 2009, 2:34pm

Schön und gut, aber wie kann man so etwas in mein Programm reinbauen? Es muss für ja automatisierbar bzw. selbstständig sein.
Aber trotzdem danke für deine Antwort.

4

Monday, December 14th 2009, 2:55pm

Hi,


ne Google Api gibts definitv (Youtube ist dabei), da kannst du dir die entsprechenden Parameter ziehen.
http://code.google.com/p/gdata-python-client/


dann wie trublu gesagt hat, bauste dir dann die url zusammen:

Quoted

http://www.youtube.com/get_video.php?video_id=#ID#&t=#TOKEN#&.flv

5

Monday, December 14th 2009, 4:57pm

Ok vielen Dank vince, ich werde es mir mal anschauen. Bei Erfolg werd ich den Quellcode posten oder nen tut ins wiki stellen.

6

Wednesday, December 23rd 2009, 11:20am

Nach langem Suchen habe ich nun endlich die Lösung gefunden:

wcf.bbcode.Python.title

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

Der Code stammt von http://geniusofevil.wordpress.com/2009/0…-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.

Similar threads

Social bookmarks