from .common import InfoExtractor
from ..compat import compat_chr
from ..utils import (
+ determine_ext,
encode_base_n,
ExtractorError,
+ mimetype2ext,
)
r'<video[^>]+>\s*<script[^>]+>([^<]+)</script>',
webpage, 'JS code')
+ decoded = self.openload_decode(code)
+
video_url = self._search_regex(
- r'return\s+"(https?://[^"]+)"', self.openload_decode(code), 'video URL')
+ r'return\s+"(https?://[^"]+)"', decoded, 'video URL')
title = self._og_search_title(webpage, default=None) or self._search_regex(
r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage,
'title', default=None) or self._html_search_meta(
'description', webpage, 'title', fatal=True)
+ ext = mimetype2ext(self._search_regex(
+ r'window\.vt\s*=\s*(["\'])(?P<mimetype>.+?)\1', decoded,
+ 'mimetype', default=None, group='mimetype')) or determine_ext(
+ video_url, 'mp4')
+
return {
'id': video_id,
'title': title,
+ 'ext': ext,
'thumbnail': self._og_search_thumbnail(webpage),
'url': video_url,
}