[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