mirror of https://github.com/yt-dlp/yt-dlp.git
[generic] extract m3u8 formats when mpegurl content type detected
This commit is contained in:
parent
58be922079
commit
eadc3ccd50
|
@ -1229,19 +1229,24 @@ class GenericIE(InfoExtractor):
|
||||||
|
|
||||||
# Check for direct link to a video
|
# Check for direct link to a video
|
||||||
content_type = head_response.headers.get('Content-Type', '')
|
content_type = head_response.headers.get('Content-Type', '')
|
||||||
m = re.match(r'^(?P<type>audio|video|application(?=/ogg$))/(?P<format_id>.+)$', content_type)
|
m = re.match(r'^(?P<type>audio|video|application(?=/(?:ogg$|(?:vnd\.apple\.|x-)?mpegurl)))/(?P<format_id>.+)$', content_type)
|
||||||
if m:
|
if m:
|
||||||
upload_date = unified_strdate(
|
upload_date = unified_strdate(
|
||||||
head_response.headers.get('Last-Modified'))
|
head_response.headers.get('Last-Modified'))
|
||||||
|
formats = []
|
||||||
|
if m.group('format_id').endswith('mpegurl'):
|
||||||
|
formats = self._extract_m3u8_formats(url, video_id, 'mp4')
|
||||||
|
else:
|
||||||
|
formats = [{
|
||||||
|
'format_id': m.group('format_id'),
|
||||||
|
'url': url,
|
||||||
|
'vcodec': 'none' if m.group('type') == 'audio' else None
|
||||||
|
}]
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]),
|
'title': compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]),
|
||||||
'direct': True,
|
'direct': True,
|
||||||
'formats': [{
|
'formats': formats,
|
||||||
'format_id': m.group('format_id'),
|
|
||||||
'url': url,
|
|
||||||
'vcodec': 'none' if m.group('type') == 'audio' else None
|
|
||||||
}],
|
|
||||||
'upload_date': upload_date,
|
'upload_date': upload_date,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue