mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Merge branch 'patch-8239' of https://github.com/ping/youtube-dl into ping-patch-8239
This commit is contained in:
		| @@ -32,23 +32,32 @@ class NetEaseMusicBaseIE(InfoExtractor): | ||||
|         result = b64encode(m.digest()).decode('ascii') | ||||
|         return result.replace('/', '_').replace('+', '-') | ||||
|  | ||||
|     @classmethod | ||||
|     def extract_formats(cls, info): | ||||
|     def extract_formats(self, info): | ||||
|         formats = [] | ||||
|         for song_format in cls._FORMATS: | ||||
|         for song_format in self._FORMATS: | ||||
|             details = info.get(song_format) | ||||
|             if not details: | ||||
|                 continue | ||||
|             song_file_path = '/%s/%s.%s' % ( | ||||
|                 self._encrypt(details['dfsId']), details['dfsId'], details['extension']) | ||||
|  | ||||
|             # 203.130.59.9, 124.40.233.182, 115.231.74.139, etc is a reverse proxy-like feature | ||||
|             # from NetEase's CDN provider that can be used if m5.music.126.net does not | ||||
|             # work, especially for users outside of Mainland China | ||||
|             # via: https://github.com/JixunMoe/unblock-163/issues/3#issuecomment-163115880 | ||||
|             for host in ('http://m5.music.126.net', 'http://115.231.74.139/m1.music.126.net', | ||||
|                          'http://124.40.233.182/m1.music.126.net', 'http://203.130.59.9/m1.music.126.net'): | ||||
|                 song_url = host + song_file_path | ||||
|                 if self._is_valid_url(song_url, info['id'], 'song'): | ||||
|                     formats.append({ | ||||
|                 'url': 'http://m5.music.126.net/%s/%s.%s' % | ||||
|                        (cls._encrypt(details['dfsId']), details['dfsId'], | ||||
|                         details['extension']), | ||||
|                         'url': song_url, | ||||
|                         'ext': details.get('extension'), | ||||
|                         'abr': details.get('bitrate', 0) / 1000, | ||||
|                         'format_id': song_format, | ||||
|                         'filesize': details.get('size'), | ||||
|                         'asr': details.get('sr') | ||||
|                     }) | ||||
|                     break | ||||
|         return formats | ||||
|  | ||||
|     @classmethod | ||||
|   | ||||
		Reference in New Issue
	
	Block a user