- mobj = re.match(self._VALID_URL, url)
- vid = mobj.group('id')
- webpage = self._download_webpage(url, vid)
- formats = []
- mobj = re.search('file=((\w+):[^&]+)', webpage)
- if mobj: formats.append({
- 'ext': mobj.group(2),
- 'play_path': mobj.group(1),
- 'url': 'rtmp://flashvideo.it.helsinki.fi/vod/',
- 'player_url': 'http://video.helsinki.fi/player.swf',
- 'format_note': 'sd'
- })
-
- mobj = re.search('hd\.file=((\w+):[^&]+)', webpage)
- if mobj: formats.append({
- 'ext': mobj.group(2),
- 'play_path': mobj.group(1),
- 'url': 'rtmp://flashvideo.it.helsinki.fi/vod/',
- 'player_url': 'http://video.helsinki.fi/player.swf',
- 'format_note': 'hd'
- })
+ video_id = self._match_id(url)
+ webpage = self._download_webpage(url, video_id)
+
+ params = self._parse_json(self._html_search_regex(
+ r'(?s)jwplayer\("player"\).setup\((\{.*?\})\);',
+ webpage, 'player code'), video_id, transform_source=js_to_json)
+ formats = [{
+ 'url': s['file'],
+ 'ext': 'mp4',
+ } for s in params['sources']]
+ self._sort_formats(formats)