1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-31 00:32:52 +08:00

[globo] Properly extract m3u8 formats (#4346 #4832)

This commit is contained in:
Sergey M․ 2015-02-01 04:36:24 +06:00
parent 1ee94db2d0
commit 8c72beb25e

View File

@ -368,9 +368,7 @@ class GloboIE(InfoExtractor):
for resource in video['resources']: for resource in video['resources']:
resource_id = resource.get('_id') resource_id = resource.get('_id')
resource_height = resource.get('height') if not resource_id:
if not (resource_id or resource_height):
continue continue
security = self._download_json( security = self._download_json(
@ -396,10 +394,15 @@ class GloboIE(InfoExtractor):
signed_md5 = self.MD5.b64_md5(received_md5 + compat_str(sign_time) + padding) signed_md5 = self.MD5.b64_md5(received_md5 + compat_str(sign_time) + padding)
signed_hash = hash_code + compat_str(received_time) + received_random + compat_str(sign_time) + padding + signed_md5 signed_hash = hash_code + compat_str(received_time) + received_random + compat_str(sign_time) + padding + signed_md5
resource_url = resource['url']
signed_url = '%s?h=%s&k=%s' % (resource_url, signed_hash, 'flash')
if resource_id.endswith('m3u8') or resource_url.endswith('.m3u8'):
formats.extend(self._extract_m3u8_formats(signed_url, resource_id, 'mp4'))
else:
formats.append({ formats.append({
'url': '%s?h=%s&k=%s' % (resource['url'], signed_hash, 'flash'), 'url': signed_url,
'format_id': resource_id, 'format_id': resource_id,
'height': resource_height 'height': resource.get('height'),
}) })
self._sort_formats(formats) self._sort_formats(formats)