- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('id')
-
- webpage = self._download_webpage('http://vidzi.tv/' + video_id, video_id)
- video_url = self._html_search_regex(r'{\s*file\s*:\s*"([^"]+)"\s*}', webpage, u'vidzi url')
- title = self._html_search_regex(r'<Title>([^<]+)<\/Title>', webpage, u'vidzi title')
-
- return {
- 'id': video_id,
- 'title': title,
- 'url': video_url,
- 'ext': 'mp4',
- }
-
\ No newline at end of file
+ video_id = self._match_id(url)
+
+ webpage = self._download_webpage(
+ 'http://vidzi.tv/%s' % video_id, video_id)
+ title = self._html_search_regex(
+ r'(?s)<h2 class="video-title">(.*?)</h2>', webpage, 'title')
+
+ codes = [webpage]
+ codes.extend([
+ decode_packed_codes(mobj.group(0)).replace('\\\'', '\'')
+ for mobj in re.finditer(PACKED_CODES_RE, webpage)])
+ for num, code in enumerate(codes, 1):
+ jwplayer_data = self._parse_json(
+ self._search_regex(
+ r'setup\(([^)]+)\)', code, 'jwplayer data',
+ default=NO_DEFAULT if num == len(codes) else '{}'),
+ video_id, transform_source=lambda s: js_to_json(
+ re.sub(r'\s*\+\s*window\[.+?\]', '', s)))
+ if jwplayer_data:
+ break
+
+ info_dict = self._parse_jwplayer_data(jwplayer_data, video_id, require_title=False)
+ info_dict['title'] = title
+
+ return info_dict