mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[extractor] Always prefer native hls downloader by default
When the manifest is not downloadable by native downloader, it already is able to detect it and switch to `ffmpeg`. So there doesn't seem to be a reason anymore to use ffmpeg as the preferred downloader
This commit is contained in:
parent
b25522ba52
commit
177877c544
5 changed files with 434 additions and 438 deletions
File diff suppressed because it is too large
Load diff
|
@ -1902,7 +1902,7 @@ def _extract_m3u8_formats(self, *args, **kwargs):
|
|||
return fmts
|
||||
|
||||
def _extract_m3u8_formats_and_subtitles(
|
||||
self, m3u8_url, video_id, ext=None, entry_protocol='m3u8',
|
||||
self, m3u8_url, video_id, ext=None, entry_protocol='m3u8_native',
|
||||
preference=None, quality=None, m3u8_id=None, note=None,
|
||||
errnote=None, fatal=True, live=False, data=None, headers={},
|
||||
query={}):
|
||||
|
@ -1926,7 +1926,7 @@ def _extract_m3u8_formats_and_subtitles(
|
|||
headers=headers, query=query, video_id=video_id)
|
||||
|
||||
def _parse_m3u8_formats_and_subtitles(
|
||||
self, m3u8_doc, m3u8_url, ext=None, entry_protocol='m3u8',
|
||||
self, m3u8_doc, m3u8_url, ext=None, entry_protocol='m3u8_native',
|
||||
preference=None, quality=None, m3u8_id=None, live=False, note=None,
|
||||
errnote=None, fatal=True, data=None, headers={}, query={},
|
||||
video_id=None):
|
||||
|
|
|
@ -107,8 +107,7 @@ def _real_extract(self, url):
|
|||
ext = determine_ext(format_url)
|
||||
if ext == 'm3u8':
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
format_url, lesson_id, 'mp4', entry_protocol='m3u8',
|
||||
m3u8_id='hls', fatal=False))
|
||||
format_url, lesson_id, 'mp4', m3u8_id='hls', fatal=False))
|
||||
elif ext == 'mpd':
|
||||
formats.extend(self._extract_mpd_formats(
|
||||
format_url, lesson_id, mpd_id='dash', fatal=False))
|
||||
|
|
|
@ -247,8 +247,7 @@ def _real_extract(self, url):
|
|||
m3u8_url = metadata.get('hlsMasterPlaylistUrl')
|
||||
if m3u8_url:
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
m3u8_url, video_id, 'mp4', entry_protocol='m3u8',
|
||||
m3u8_id='hls', fatal=False))
|
||||
m3u8_url, video_id, 'mp4', m3u8_id='hls', fatal=False))
|
||||
rtmp_url = metadata.get('rtmpUrl')
|
||||
if rtmp_url:
|
||||
formats.append({
|
||||
|
|
|
@ -47,8 +47,7 @@ def _real_extract(self, url):
|
|||
|
||||
if hls_url:
|
||||
hls_fmts = self._extract_m3u8_formats(
|
||||
hls_url, video_id, ext='mp4', entry_protocol='m3u8',
|
||||
m3u8_id='hls-%s' % name, quality=quality)
|
||||
hls_url, video_id, ext='mp4', m3u8_id='hls-%s' % name, quality=quality)
|
||||
formats.extend(hls_fmts)
|
||||
else:
|
||||
hls_fmts = []
|
||||
|
@ -71,8 +70,7 @@ def _real_extract(self, url):
|
|||
|
||||
# This contains the same formats as the above manifests and is used only as a fallback
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
hls_url, video_id, ext='mp4', entry_protocol='m3u8',
|
||||
m3u8_id='hls'))
|
||||
hls_url, video_id, ext='mp4', m3u8_id='hls'))
|
||||
self._remove_duplicate_formats(formats)
|
||||
self._sort_formats(formats)
|
||||
|
||||
|
|
Loading…
Reference in a new issue