mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[ooyala] Make more robust
This commit is contained in:
		| @@ -3,12 +3,14 @@ import re | |||||||
| import base64 | import base64 | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
|  | from ..compat import compat_str | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     int_or_none, |  | ||||||
|     float_or_none, |  | ||||||
|     ExtractorError, |  | ||||||
|     unsmuggle_url, |  | ||||||
|     determine_ext, |     determine_ext, | ||||||
|  |     ExtractorError, | ||||||
|  |     float_or_none, | ||||||
|  |     int_or_none, | ||||||
|  |     try_get, | ||||||
|  |     unsmuggle_url, | ||||||
| ) | ) | ||||||
| from ..compat import compat_urllib_parse_urlencode | from ..compat import compat_urllib_parse_urlencode | ||||||
|  |  | ||||||
| @@ -39,13 +41,15 @@ class OoyalaBaseIE(InfoExtractor): | |||||||
|         formats = [] |         formats = [] | ||||||
|         if cur_auth_data['authorized']: |         if cur_auth_data['authorized']: | ||||||
|             for stream in cur_auth_data['streams']: |             for stream in cur_auth_data['streams']: | ||||||
|                 s_url = base64.b64decode( |                 url_data = try_get(stream, lambda x: x['url']['data'], compat_str) | ||||||
|                     stream['url']['data'].encode('ascii')).decode('utf-8') |                 if not url_data: | ||||||
|  |                     continue | ||||||
|  |                 s_url = base64.b64decode(url_data.encode('ascii')).decode('utf-8') | ||||||
|                 if not s_url or s_url in urls: |                 if not s_url or s_url in urls: | ||||||
|                     continue |                     continue | ||||||
|                 urls.append(s_url) |                 urls.append(s_url) | ||||||
|                 ext = determine_ext(s_url, None) |                 ext = determine_ext(s_url, None) | ||||||
|                 delivery_type = stream['delivery_type'] |                 delivery_type = stream.get('delivery_type') | ||||||
|                 if delivery_type == 'hls' or ext == 'm3u8': |                 if delivery_type == 'hls' or ext == 'm3u8': | ||||||
|                     formats.extend(self._extract_m3u8_formats( |                     formats.extend(self._extract_m3u8_formats( | ||||||
|                         re.sub(r'/ip(?:ad|hone)/', '/all/', s_url), embed_code, 'mp4', 'm3u8_native', |                         re.sub(r'/ip(?:ad|hone)/', '/all/', s_url), embed_code, 'mp4', 'm3u8_native', | ||||||
| @@ -65,7 +69,7 @@ class OoyalaBaseIE(InfoExtractor): | |||||||
|                 else: |                 else: | ||||||
|                     formats.append({ |                     formats.append({ | ||||||
|                         'url': s_url, |                         'url': s_url, | ||||||
|                         'ext': ext or stream.get('delivery_type'), |                         'ext': ext or delivery_type, | ||||||
|                         'vcodec': stream.get('video_codec'), |                         'vcodec': stream.get('video_codec'), | ||||||
|                         'format_id': delivery_type, |                         'format_id': delivery_type, | ||||||
|                         'width': int_or_none(stream.get('width')), |                         'width': int_or_none(stream.get('width')), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․