[rts] Fix f4m and m3u8 extraction (Closes #4873)
This commit is contained in:
		| @@ -6,12 +6,14 @@ import re | ||||
| from .common import InfoExtractor | ||||
| from ..compat import ( | ||||
|     compat_str, | ||||
|     compat_urllib_parse_urlparse, | ||||
| ) | ||||
| from ..utils import ( | ||||
|     int_or_none, | ||||
|     parse_duration, | ||||
|     parse_iso8601, | ||||
|     unescapeHTML, | ||||
|     xpath_text, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -159,11 +161,27 @@ class RTSIE(InfoExtractor): | ||||
|             return int_or_none(self._search_regex( | ||||
|                 r'-([0-9]+)k\.', url, 'bitrate', default=None)) | ||||
|  | ||||
|         formats = [{ | ||||
|             'format_id': fid, | ||||
|             'url': furl, | ||||
|             'tbr': extract_bitrate(furl), | ||||
|         } for fid, furl in info['streams'].items()] | ||||
|         formats = [] | ||||
|         for format_id, format_url in info['streams'].items(): | ||||
|             if format_url.endswith('.f4m'): | ||||
|                 token = self._download_xml( | ||||
|                     'http://tp.srgssr.ch/token/akahd.xml?stream=%s/*' % compat_urllib_parse_urlparse(format_url).path, | ||||
|                     video_id, 'Downloading %s token' % format_id) | ||||
|                 auth_params = xpath_text(token, './/authparams', 'auth params') | ||||
|                 if not auth_params: | ||||
|                     continue | ||||
|                 formats.extend(self._extract_f4m_formats( | ||||
|                     '%s?%s&hdcore=3.4.0&plugin=aasp-3.4.0.132.66' % (format_url, auth_params), | ||||
|                     video_id, f4m_id=format_id)) | ||||
|             elif format_url.endswith('.m3u8'): | ||||
|                 formats.extend(self._extract_m3u8_formats( | ||||
|                     format_url, video_id, 'mp4', m3u8_id=format_id)) | ||||
|             else: | ||||
|                 formats.append({ | ||||
|                     'format_id': format_id, | ||||
|                     'url': format_url, | ||||
|                     'tbr': extract_bitrate(format_url), | ||||
|                 }) | ||||
|  | ||||
|         if 'media' in info: | ||||
|             formats.extend([{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user