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
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		
							
								
								
									
										6
									
								
								youtube-dl
									
										
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										6
									
								
								youtube-dl
									
										
									
									
									
										
										
										Executable file → Normal file
									
								
							| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue