]>
Commit | Line | Data |
---|---|---|
45b2ee6f | 1 | from .common import InfoExtractor |
2 | from ..utils import update_url | |
3 | ||
4 | ||
5 | class KommunetvIE(InfoExtractor): | |
b634ba74 | 6 | _VALID_URL = r'https://\w+\.kommunetv\.no/archive/(?P<id>\w+)' |
45b2ee6f | 7 | _TEST = { |
8 | 'url': 'https://oslo.kommunetv.no/archive/921', | |
9 | 'md5': '5f102be308ee759be1e12b63d5da4bbc', | |
10 | 'info_dict': { | |
11 | 'id': '921', | |
12 | 'title': 'Bystyremøte', | |
13 | 'ext': 'mp4' | |
14 | } | |
15 | } | |
16 | ||
17 | def _real_extract(self, url): | |
18 | video_id = self._match_id(url) | |
19 | headers = { | |
20 | 'Accept': 'application/json' | |
21 | } | |
22 | data = self._download_json('https://oslo.kommunetv.no/api/streams?streamType=1&id=%s' % video_id, video_id, headers=headers) | |
23 | title = data['stream']['title'] | |
24 | file = data['playlist'][0]['playlist'][0]['file'] | |
25 | url = update_url(file, query=None, fragment=None) | |
26 | formats = self._extract_m3u8_formats(url, video_id, ext='mp4', entry_protocol='m3u8_native', m3u8_id='hls', fatal=False) | |
27 | return { | |
28 | 'id': video_id, | |
29 | 'formats': formats, | |
30 | 'title': title | |
31 | } |