- # If is_geo_restricted is true, it doesn't necessarily mean we can't download it
- if info['is_geo_restricted']:
- self.report_warning('This content might not be available in your country due to licensing restrictions.')
- if info['requires_subscription']:
- raise ExtractorError('This content requires subscription.', expected=True)
+ manifest_url = self._download_json(
+ 'https://playback-api.b17g.net/media/' + video_id,
+ video_id, query={
+ 'service': 'tv4',
+ 'device': 'browser',
+ 'protocol': 'hls',
+ })['playbackItem']['manifestUrl']
+ formats = self._extract_m3u8_formats(
+ manifest_url, video_id, 'mp4',
+ 'm3u8_native', m3u8_id='hls', fatal=False)
+ formats.extend(self._extract_mpd_formats(
+ manifest_url.replace('.m3u8', '.mpd'),
+ video_id, mpd_id='dash', fatal=False))
+ formats.extend(self._extract_f4m_formats(
+ manifest_url.replace('.m3u8', '.f4m'),
+ video_id, f4m_id='hds', fatal=False))
+ formats.extend(self._extract_ism_formats(
+ re.sub(r'\.ism/.+?\.m3u8', r'.ism/Manifest', manifest_url),
+ video_id, ism_id='mss', fatal=False))