Correctly parse the player URL in RTMP downloads (closes #11)
Fixed several problems courtesy of jamiejones: The parsing for the SWF url was wrong (the "//" are now escaped and the initial .*match needs to be 'ungreedy'), so the -W setting to rtmpdump was not set, causing the decryption of the video to be wrong. Finally, add "&has_verified=1" to the fetch of the HMTL page to allow fetching of age-restricted videos.
This commit is contained in:
parent
5e596cac0a
commit
b620a5f811
|
@ -831,7 +831,7 @@ class YoutubeIE(InfoExtractor):
|
|||
|
||||
# Get video webpage
|
||||
self.report_video_webpage_download(video_id)
|
||||
request = urllib2.Request('http://www.youtube.com/watch?v=%s&gl=US&hl=en' % video_id, None, std_headers)
|
||||
request = urllib2.Request('http://www.youtube.com/watch?v=%s&gl=US&hl=en&has_verified=1' % video_id, None, std_headers)
|
||||
try:
|
||||
video_webpage = urllib2.urlopen(request).read()
|
||||
except (urllib2.URLError, httplib.HTTPException, socket.error), err:
|
||||
|
@ -839,9 +839,9 @@ class YoutubeIE(InfoExtractor):
|
|||
return
|
||||
|
||||
# Attempt to extract SWF player URL
|
||||
mobj = re.search(r'swfConfig.*"(http://.*?watch.*?-.*?\.swf)"', video_webpage)
|
||||
mobj = re.search(r'swfConfig.*?"(http:\\/\\/.*?watch.*?-.*?\.swf)"', video_webpage)
|
||||
if mobj is not None:
|
||||
player_url = mobj.group(1)
|
||||
player_url = re.sub(r'\\(.)', r'\1', mobj.group(1))
|
||||
else:
|
||||
player_url = None
|
||||
|
||||
|
|
Loading…
Reference in New Issue