-# coding: utf-8
-from __future__ import unicode_literals
-
import json
-import re
from .common import InfoExtractor
from ..utils import (
]
def _real_extract(self, url):
- base_url, display_id = re.search(self._VALID_URL, url).groups()
+ base_url, display_id = self._match_valid_url(url).groups()
page = self._download_webpage(url, display_id)
xml_url = self._search_regex(
r"return BRavFramework\.register\(BRavFramework\('avPlayer_(?:[a-f0-9-]{36})'\)\.setup\({dataURL:'(/(?:[a-z0-9\-]+/)+[a-z0-9/~_.-]+)'}\)\);", page, 'XMLURL')
'format_id': 'rtmp-%s' % asset_type,
})
formats.append(rtmp_format_info)
- self._sort_formats(formats)
return formats
def _extract_thumbnails(self, variants, base_url):
class BRMediathekIE(InfoExtractor):
IE_DESC = 'Bayerischer Rundfunk Mediathek'
- _VALID_URL = r'https?://(?:www\.)?br\.de/mediathek/video/[^/?&#]*?-(?P<id>av:[0-9a-f]{24})'
+ _VALID_URL = r'https?://(?:www\.)?br\.de/mediathek//?video/(?:[^/?&#]+?-)?(?P<id>av:[0-9a-f]{24})'
_TESTS = [{
'url': 'https://www.br.de/mediathek/video/gesundheit-die-sendung-vom-28112017-av:5a1e6a6e8fce6d001871cc8e',
'timestamp': 1511942766,
'upload_date': '20171129',
}
+ }, {
+ 'url': 'https://www.br.de/mediathek//video/av:61b0db581aed360007558c12',
+ 'only_matching': True,
}]
def _real_extract(self, url):
'tbr': tbr,
'filesize': int_or_none(node.get('fileSize')),
})
- self._sort_formats(formats)
subtitles = {}
for edge in clip.get('captionFiles', {}).get('edges', []):