diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index 216a40745..697f312c3 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -6,8 +6,10 @@ import re from .common import InfoExtractor from ..compat import compat_chr from ..utils import ( + determine_ext, encode_base_n, ExtractorError, + mimetype2ext, ) @@ -96,17 +98,25 @@ class OpenloadIE(InfoExtractor): r']+>\s*]+>([^<]+)', 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']+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.+?)\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, }