|
|
@ -34,6 +34,7 @@ from ..utils import (
|
|
|
|
unified_timestamp,
|
|
|
|
unified_timestamp,
|
|
|
|
unsmuggle_url,
|
|
|
|
unsmuggle_url,
|
|
|
|
update_url_query,
|
|
|
|
update_url_query,
|
|
|
|
|
|
|
|
urlhandle_detect_ext,
|
|
|
|
url_or_none,
|
|
|
|
url_or_none,
|
|
|
|
urljoin,
|
|
|
|
urljoin,
|
|
|
|
variadic,
|
|
|
|
variadic,
|
|
|
@ -2459,7 +2460,7 @@ class GenericIE(InfoExtractor):
|
|
|
|
self.report_detected('direct video link')
|
|
|
|
self.report_detected('direct video link')
|
|
|
|
headers = smuggled_data.get('http_headers', {})
|
|
|
|
headers = smuggled_data.get('http_headers', {})
|
|
|
|
format_id = str(m.group('format_id'))
|
|
|
|
format_id = str(m.group('format_id'))
|
|
|
|
ext = determine_ext(url)
|
|
|
|
ext = determine_ext(url, default_ext=None) or urlhandle_detect_ext(full_response)
|
|
|
|
subtitles = {}
|
|
|
|
subtitles = {}
|
|
|
|
if format_id.endswith('mpegurl') or ext == 'm3u8':
|
|
|
|
if format_id.endswith('mpegurl') or ext == 'm3u8':
|
|
|
|
formats, subtitles = self._extract_m3u8_formats_and_subtitles(url, video_id, 'mp4', headers=headers)
|
|
|
|
formats, subtitles = self._extract_m3u8_formats_and_subtitles(url, video_id, 'mp4', headers=headers)
|
|
|
@ -2471,6 +2472,7 @@ class GenericIE(InfoExtractor):
|
|
|
|
formats = [{
|
|
|
|
formats = [{
|
|
|
|
'format_id': format_id,
|
|
|
|
'format_id': format_id,
|
|
|
|
'url': url,
|
|
|
|
'url': url,
|
|
|
|
|
|
|
|
'ext': ext,
|
|
|
|
'vcodec': 'none' if m.group('type') == 'audio' else None
|
|
|
|
'vcodec': 'none' if m.group('type') == 'audio' else None
|
|
|
|
}]
|
|
|
|
}]
|
|
|
|
info_dict['direct'] = True
|
|
|
|
info_dict['direct'] = True
|
|
|
|