diff --git a/ox/youtube.py b/ox/youtube.py index b29f070..b29da9b 100644 --- a/ox/youtube.py +++ b/ox/youtube.py @@ -11,12 +11,16 @@ import feedparser from oxutils.cache import getUrl from oxutils import findString -def getVideoUrl(youtubeId): +def getVideoUrl(youtubeId, format='mp4'): url = 'http://www.youtube.com/api2_rest?method=youtube.videos.get_video_token&video_id=' + youtubeId data = getUrl(url) xml = ET.fromstring(data) youtubeKey = xml.find('t').text - url = "http://youtube.com/get_video.php?video_id=%s&t=%s"%(youtubeId, youtubeKey) + if format == 'mp4': + fmt=18 + url = "http://youtube.com/get_video.php?video_id=%s&t=%s&fmt=%s"%(youtubeId, youtubeKey, fmt) + else: + url = "http://youtube.com/get_video.php?video_id=%s&t=%s"%(youtubeId, youtubeKey) return url def getMovieInfo(youtubeId): @@ -35,7 +39,8 @@ def getInfoFromAtom(entry): info['url'] = entry['links'][0]['href'] info['id'] = findString(info['url'], "/watch?v=") info['thumbnail'] = "http://img.youtube.com/vi/%s/0.jpg" % info['id'] - info['flv'] = getVideoUrl(info['id']) + info['flv'] = getVideoUrl(info['id'], 'flv') + info['mp4'] = getVideoUrl(info['id'], 'mp4') info['embed'] = '''''' % (info['id'], info['id']) return info