mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-06-29 14:14:54 +00:00
Compare commits
No commits in common. "ee98be4ad767b77e4d8dd9bfd3c7d10f2e8397ff" and "6224a3898821965a7d6a2cb9cc2de40a0fd6e6bc" have entirely different histories.
ee98be4ad7
...
6224a38988
@ -3261,6 +3261,15 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
if live_status not in ('is_live', 'post_live'):
|
if live_status not in ('is_live', 'post_live'):
|
||||||
fmt['available_at'] = available_at
|
fmt['available_at'] = available_at
|
||||||
|
|
||||||
|
if (all_formats or 'dashy' in format_types) and fmt['filesize']:
|
||||||
|
https_fmts.append({
|
||||||
|
**fmt,
|
||||||
|
'format_id': f'{fmt["format_id"]}-dashy' if all_formats else fmt['format_id'],
|
||||||
|
'protocol': 'http_dash_segments',
|
||||||
|
'fragments': build_fragments(fmt),
|
||||||
|
})
|
||||||
|
if all_formats or 'dashy' not in format_types:
|
||||||
|
fmt['downloader_options'] = {'http_chunk_size': CHUNK_SIZE}
|
||||||
https_fmts.append(fmt)
|
https_fmts.append(fmt)
|
||||||
|
|
||||||
# Bulk process sig/n handling
|
# Bulk process sig/n handling
|
||||||
@ -3337,17 +3346,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||||||
if fmt in https_fmts:
|
if fmt in https_fmts:
|
||||||
https_fmts.remove(fmt)
|
https_fmts.remove(fmt)
|
||||||
|
|
||||||
for fmt in https_fmts:
|
yield from https_fmts
|
||||||
if (all_formats or 'dashy' in format_types) and fmt['filesize']:
|
|
||||||
yield {
|
|
||||||
**fmt,
|
|
||||||
'format_id': f'{fmt["format_id"]}-dashy' if all_formats else fmt['format_id'],
|
|
||||||
'protocol': 'http_dash_segments',
|
|
||||||
'fragments': build_fragments(fmt),
|
|
||||||
}
|
|
||||||
if all_formats or 'dashy' not in format_types:
|
|
||||||
fmt['downloader_options'] = {'http_chunk_size': CHUNK_SIZE}
|
|
||||||
yield fmt
|
|
||||||
|
|
||||||
yield from process_https_formats()
|
yield from process_https_formats()
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,6 @@ from yt_dlp.utils.networking import HTTPHeaderDict, clean_proxies
|
|||||||
# `--no-install` appears to disable the cache.
|
# `--no-install` appears to disable the cache.
|
||||||
# - npm auto-install may fail with an integrity error when using HTTP proxies
|
# - npm auto-install may fail with an integrity error when using HTTP proxies
|
||||||
# - npm auto-install HTTP proxy support may be limited on older Bun versions
|
# - npm auto-install HTTP proxy support may be limited on older Bun versions
|
||||||
# - Cannot disable the transpiler / specify lang for stdin
|
|
||||||
|
|
||||||
|
|
||||||
@register_provider
|
@register_provider
|
||||||
@ -101,9 +100,6 @@ class BunJCP(EJSBaseJCP, BuiltinIEContentProvider):
|
|||||||
if self.ie.get_param('nocheckcertificate'):
|
if self.ie.get_param('nocheckcertificate'):
|
||||||
options['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
|
options['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
|
||||||
|
|
||||||
# Disable Bun transpiler cache
|
|
||||||
options['BUN_RUNTIME_TRANSPILER_CACHE_PATH'] = '0'
|
|
||||||
|
|
||||||
# Prevent segfault: <https://github.com/oven-sh/bun/issues/22901>
|
# Prevent segfault: <https://github.com/oven-sh/bun/issues/22901>
|
||||||
options.pop('JSC_useJIT', None)
|
options.pop('JSC_useJIT', None)
|
||||||
if self.ejs_setting('jitless', ['false']) != ['false']:
|
if self.ejs_setting('jitless', ['false']) != ['false']:
|
||||||
|
|||||||
@ -25,19 +25,13 @@ from yt_dlp.extractor.youtube.pot.provider import provider_bug_report_message
|
|||||||
from yt_dlp.utils import Popen, remove_terminal_sequences
|
from yt_dlp.utils import Popen, remove_terminal_sequences
|
||||||
from yt_dlp.utils.networking import HTTPHeaderDict, clean_proxies
|
from yt_dlp.utils.networking import HTTPHeaderDict, clean_proxies
|
||||||
|
|
||||||
# KNOWN ISSUES:
|
|
||||||
# - Can't avoid analysis cache: https://github.com/yt-dlp/yt-dlp/pull/14849#issuecomment-3475840821
|
|
||||||
|
|
||||||
|
|
||||||
@register_provider
|
@register_provider
|
||||||
class DenoJCP(EJSBaseJCP, BuiltinIEContentProvider):
|
class DenoJCP(EJSBaseJCP, BuiltinIEContentProvider):
|
||||||
PROVIDER_NAME = 'deno'
|
PROVIDER_NAME = 'deno'
|
||||||
JS_RUNTIME_NAME = 'deno'
|
JS_RUNTIME_NAME = 'deno'
|
||||||
|
|
||||||
_DENO_BASE_OPTIONS = [
|
_DENO_BASE_OPTIONS = ['--no-prompt', '--no-remote', '--no-lock', '--node-modules-dir=none', '--no-config']
|
||||||
'--ext=js', '--no-code-cache', '--no-prompt', '--no-remote',
|
|
||||||
'--no-lock', '--node-modules-dir=none', '--no-config',
|
|
||||||
]
|
|
||||||
DENO_NPM_LIB_FILENAME = 'yt.solver.deno.lib.js'
|
DENO_NPM_LIB_FILENAME = 'yt.solver.deno.lib.js'
|
||||||
_NPM_PACKAGES_CACHED = False
|
_NPM_PACKAGES_CACHED = False
|
||||||
|
|
||||||
|
|||||||
@ -181,7 +181,7 @@ class JsChallengeRequestDirector:
|
|||||||
return parts[0]
|
return parts[0]
|
||||||
return f'{", ".join(parts[:-1])} {joiner} {parts[-1]}'
|
return f'{", ".join(parts[:-1])} {joiner} {parts[-1]}'
|
||||||
|
|
||||||
if len(descriptions) == 1:
|
if len(descriptions) > 1:
|
||||||
msg = (
|
msg = (
|
||||||
f'Remote component {descriptions[0]} was skipped. '
|
f'Remote component {descriptions[0]} was skipped. '
|
||||||
f'It may be required to solve JS challenges. '
|
f'It may be required to solve JS challenges. '
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user