Misc changes
This commit is contained in:
@@ -109,7 +109,7 @@ Location of the main configuration file; either the path to the config
|
||||
or its containing directory (\[dq]-\[dq] for stdin).
|
||||
Can be used multiple times and inside other configuration files
|
||||
.TP
|
||||
--plugin-dirs \f[I]PATH\f[R]
|
||||
--plugin-dirs \f[I]DIR\f[R]
|
||||
Path to an additional directory to search for plugins.
|
||||
This option can be used multiple times to add multiple directories.
|
||||
Use \[dq]default\[dq] to search the default plugin directories (default)
|
||||
@@ -118,6 +118,37 @@ Use \[dq]default\[dq] to search the default plugin directories (default)
|
||||
Clear plugin directories to search, including defaults and those
|
||||
provided by previous --plugin-dirs
|
||||
.TP
|
||||
--js-runtimes \f[I]RUNTIME[:PATH]\f[R]
|
||||
Additional JavaScript runtime to enable, with an optional location for
|
||||
the runtime (either the path to the binary or its containing directory).
|
||||
This option can be used multiple times to enable multiple runtimes.
|
||||
Supported runtimes are (in order of priority, from highest to lowest):
|
||||
deno, node, quickjs, bun.
|
||||
Only \[dq]deno\[dq] is enabled by default.
|
||||
The highest priority runtime that is both enabled and available will be
|
||||
used.
|
||||
In order to use a lower priority runtime when \[dq]deno\[dq] is
|
||||
available, --no-js- runtimes needs to be passed before enabling other
|
||||
runtimes
|
||||
.TP
|
||||
--no-js-runtimes
|
||||
Clear JavaScript runtimes to enable, including defaults and those
|
||||
provided by previous --js-runtimes
|
||||
.TP
|
||||
--remote-components \f[I]COMPONENT\f[R]
|
||||
Remote components to allow yt-dlp to fetch when required.
|
||||
This option is currently not needed if you are using an official
|
||||
executable or have the requisite version of the yt-dlp-ejs package
|
||||
installed.
|
||||
You can use this option multiple times to allow multiple components.
|
||||
Supported values: ejs:npm (external JavaScript components from npm),
|
||||
ejs:github (external JavaScript components from yt-dlp-ejs GitHub).
|
||||
By default, no remote components are allowed
|
||||
.TP
|
||||
--no-remote-components
|
||||
Disallow fetching of all remote components, including any previously
|
||||
allowed by --remote-components or defaults.
|
||||
.TP
|
||||
--flat-playlist
|
||||
Do not extract a playlist\[aq]s URL result entries; some entry metadata
|
||||
may be missing and downloading may be bypassed
|
||||
@@ -1123,8 +1154,8 @@ API (https://sponsor.ajay.app)
|
||||
--sponsorblock-mark \f[I]CATS\f[R]
|
||||
SponsorBlock categories to create chapters for, separated by commas.
|
||||
Available categories are sponsor, intro, outro, selfpromo, preview,
|
||||
filler, interaction, music_offtopic, poi_highlight, chapter, all and
|
||||
default (=all).
|
||||
filler, interaction, music_offtopic, hook, poi_highlight, chapter, all
|
||||
and default (=all).
|
||||
You can prefix the category with a \[dq]-\[dq] to exclude it.
|
||||
See [1] for descriptions of the categories.
|
||||
E.g.
|
||||
@@ -1210,7 +1241,7 @@ The configuration is loaded from the following locations:
|
||||
\f[B]Main Configuration\f[R]:
|
||||
.RS 4
|
||||
.IP \[bu] 2
|
||||
The file given to \f[V]--config-location\f[R]
|
||||
The file given to \f[V]--config-locations\f[R]
|
||||
.RE
|
||||
.IP "2." 3
|
||||
\f[B]Portable Configuration\f[R]: (Recommended for portable
|
||||
@@ -1389,7 +1420,7 @@ Environment variables are normally specified as
|
||||
.IP \[bu] 2
|
||||
yt-dlp also allows using UNIX-style variables on Windows for path-like
|
||||
options; e.g.
|
||||
\f[V]--output\f[R], \f[V]--config-location\f[R]
|
||||
\f[V]--output\f[R], \f[V]--config-locations\f[R]
|
||||
.IP \[bu] 2
|
||||
If unset, \f[V]${XDG_CONFIG_HOME}\f[R] defaults to
|
||||
\f[V]\[ti]/.config\f[R] and \f[V]${XDG_CACHE_HOME}\f[R] to
|
||||
@@ -2660,10 +2691,15 @@ respectively
|
||||
\f[V]player_client\f[R]: Clients to extract video data from.
|
||||
The currently available clients are \f[V]web\f[R], \f[V]web_safari\f[R],
|
||||
\f[V]web_embedded\f[R], \f[V]web_music\f[R], \f[V]web_creator\f[R],
|
||||
\f[V]mweb\f[R], \f[V]ios\f[R], \f[V]android\f[R], \f[V]android_vr\f[R],
|
||||
\f[V]tv\f[R], \f[V]tv_simply\f[R] and \f[V]tv_embedded\f[R].
|
||||
By default, \f[V]tv,web_safari,web\f[R] is used, and
|
||||
\f[V]tv,web_creator,web\f[R] is used with premium accounts.
|
||||
\f[V]mweb\f[R], \f[V]ios\f[R], \f[V]android\f[R],
|
||||
\f[V]android_sdkless\f[R], \f[V]android_vr\f[R], \f[V]tv\f[R],
|
||||
\f[V]tv_simply\f[R], \f[V]tv_downgraded\f[R], and \f[V]tv_embedded\f[R].
|
||||
By default, \f[V]tv,android_sdkless,web\f[R] is used.
|
||||
If no JavaScript runtime is available, then
|
||||
\f[V]android_sdkless,web_safari,web\f[R] is used.
|
||||
If logged-in cookies are passed to yt-dlp, then
|
||||
\f[V]tv_downgraded,web_safari,web\f[R] is used for free accounts and
|
||||
\f[V]tv_downgraded,web_creator,web\f[R] is used for premium accounts.
|
||||
The \f[V]web_music\f[R] client is added for \f[V]music.youtube.com\f[R]
|
||||
URLs when logged-in cookies are used.
|
||||
The \f[V]web_embedded\f[R] client is added for age-restricted videos but
|
||||
@@ -2711,9 +2747,10 @@ You can use \f[V]actual\f[R] to go with what is prescribed by the site
|
||||
.IP \[bu] 2
|
||||
\f[V]player_js_version\f[R]: The player javascript version to use for
|
||||
n/sig deciphering, in the format of
|
||||
\f[V]signature_timestamp\[at]hash\f[R].
|
||||
Currently, the default is to force \f[V]20348\[at]0004de42\f[R].
|
||||
You can use \f[V]actual\f[R] to go with what is prescribed by the site
|
||||
\f[V]signature_timestamp\[at]hash\f[R] (e.g.
|
||||
\f[V]20348\[at]0004de42\f[R]).
|
||||
The default is to use what is prescribed by the site, and can be
|
||||
selected with \f[V]actual\f[R]
|
||||
.IP \[bu] 2
|
||||
\f[V]comment_sort\f[R]: \f[V]top\f[R] or \f[V]new\f[R] (default) -
|
||||
choose comment sorting mode (on YouTube\[aq]s side)
|
||||
@@ -2785,6 +2822,17 @@ client requires one for the given context)
|
||||
extraction and download stages in order to ensure the formats are
|
||||
available.
|
||||
The default is \f[V]6\f[R] seconds
|
||||
.IP \[bu] 2
|
||||
\f[V]jsc_trace\f[R]: Enable debug logging for JS Challenge fetching.
|
||||
Either \f[V]true\f[R] or \f[V]false\f[R] (default)
|
||||
.SS youtube-ejs
|
||||
.IP \[bu] 2
|
||||
\f[V]jitless\f[R]: Run suported Javascript engines in JIT-less mode.
|
||||
Supported runtimes are \f[V]deno\f[R], \f[V]node\f[R] and \f[V]bun\f[R].
|
||||
Provides better security at the cost of performance/speed.
|
||||
Do note that \f[V]node\f[R] and \f[V]bun\f[R] are still considered
|
||||
unsecure.
|
||||
Either \f[V]true\f[R] or \f[V]false\f[R] (default)
|
||||
.SS youtubepot-webpo
|
||||
.IP \[bu] 2
|
||||
\f[V]bind_to_visitor_id\f[R]: Whether to use the Visitor ID instead of
|
||||
@@ -3099,7 +3147,7 @@ repository, tag \f[V]2023.09.24\f[R]
|
||||
yt-dlp --update-to nightly
|
||||
|
||||
# To install nightly with pip:
|
||||
python3 -m pip install -U --pre \[dq]yt-dlp[default]\[dq]
|
||||
python -m pip install -U --pre \[dq]yt-dlp[default]\[dq]
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
@@ -3109,11 +3157,12 @@ You can suppress this warning by adding \f[V]--no-update\f[R] to your
|
||||
command or configuration file.
|
||||
.SS DEPENDENCIES
|
||||
.PP
|
||||
Python versions 3.9+ (CPython) and 3.11+ (PyPy) are supported.
|
||||
Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported.
|
||||
Other versions and implementations may or may not work correctly.
|
||||
.PP
|
||||
While all the other dependencies are optional, \f[V]ffmpeg\f[R] and
|
||||
\f[V]ffprobe\f[R] are highly recommended
|
||||
While all the other dependencies are optional, \f[V]ffmpeg\f[R],
|
||||
\f[V]ffprobe\f[R], \f[V]yt-dlp-ejs\f[R] and a JavaScript runtime are
|
||||
highly recommended
|
||||
.SS Strongly recommended
|
||||
.IP \[bu] 2
|
||||
\f[B]ffmpeg\f[R] and \f[B]ffprobe\f[R] (https://www.ffmpeg.org) -
|
||||
@@ -3135,6 +3184,23 @@ for details on the specific issues solved by these builds
|
||||
\f[B]NOT\f[R] the Python package of the same
|
||||
name (https://pypi.org/project/ffmpeg)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\f[B]yt-dlp-ejs\f[R] (https://github.com/yt-dlp/ejs) - Required for
|
||||
deciphering YouTube n/sig values.
|
||||
Licensed under
|
||||
Unlicense (https://github.com/yt-dlp/ejs/blob/main/LICENSE), bundles
|
||||
MIT (https://github.com/davidbonnet/astring/blob/main/LICENSE) and
|
||||
ISC (https://github.com/meriyah/meriyah/blob/main/LICENSE.md)
|
||||
components.
|
||||
.RS 2
|
||||
.PP
|
||||
A JavaScript runtime like \f[B]deno\f[R] (https://deno.land)
|
||||
(recommended), \f[B]node.js\f[R] (https://nodejs.org),
|
||||
\f[B]bun\f[R] (https://bun.sh), or
|
||||
\f[B]QuickJS\f[R] (https://bellard.org/quickjs/) is also required to run
|
||||
yt-dlp-ejs.
|
||||
See the wiki (https://github.com/yt-dlp/yt-dlp/wiki/EJS).
|
||||
.RE
|
||||
.SS Networking
|
||||
.IP \[bu] 2
|
||||
\f[B]certifi\f[R] (https://github.com/certifi/python-certifi)* -
|
||||
@@ -3208,8 +3274,10 @@ For decrypting AES-128 HLS streams and various other data.
|
||||
Licensed under
|
||||
BSD-2-Clause (https://github.com/Legrandin/pycryptodome/blob/master/LICENSE.rst)
|
||||
.IP \[bu] 2
|
||||
\f[B]phantomjs\f[R] (https://github.com/ariya/phantomjs) - Used in
|
||||
extractors where javascript needs to be run.
|
||||
\f[B]phantomjs\f[R] (https://github.com/ariya/phantomjs) - Used in some
|
||||
extractors where JavaScript needs to be run.
|
||||
No longer used for YouTube.
|
||||
To be deprecated in the near future.
|
||||
Licensed under
|
||||
BSD-3-Clause (https://github.com/ariya/phantomjs/blob/master/LICENSE.BSD)
|
||||
.IP \[bu] 2
|
||||
@@ -3258,14 +3326,14 @@ You can run the following commands:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
python3 devscripts/install_deps.py --include pyinstaller
|
||||
python3 devscripts/make_lazy_extractors.py
|
||||
python3 -m bundle.pyinstaller
|
||||
python devscripts/install_deps.py --include-group pyinstaller
|
||||
python devscripts/make_lazy_extractors.py
|
||||
python -m bundle.pyinstaller
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
On some systems, you may need to use \f[V]py\f[R] or \f[V]python\f[R]
|
||||
instead of \f[V]python3\f[R].
|
||||
On some systems, you may need to use \f[V]py\f[R] or \f[V]python3\f[R]
|
||||
instead of \f[V]python\f[R].
|
||||
.PP
|
||||
\f[V]python -m bundle.pyinstaller\f[R] accepts any arguments that can be
|
||||
passed to \f[V]pyinstaller\f[R], such as \f[V]--onefile/-F\f[R] or
|
||||
@@ -3283,7 +3351,7 @@ officially supported.
|
||||
This may or may not work correctly.
|
||||
.SS Platform-independent Binary (UNIX)
|
||||
.PP
|
||||
You will need the build tools \f[V]python\f[R] (3.9+), \f[V]zip\f[R],
|
||||
You will need the build tools \f[V]python\f[R] (3.10+), \f[V]zip\f[R],
|
||||
\f[V]make\f[R] (GNU), \f[V]pandoc\f[R]* and \f[V]pytest\f[R]*.
|
||||
.PP
|
||||
After installing these, simply run \f[V]make\f[R].
|
||||
@@ -3819,7 +3887,7 @@ Features marked with a \f[B]*\f[R] have been back-ported to youtube-dl
|
||||
Some of yt-dlp\[aq]s default options are different from that of
|
||||
youtube-dl and youtube-dlc:
|
||||
.IP \[bu] 2
|
||||
yt-dlp supports only Python 3.9+, and will remove support for more
|
||||
yt-dlp supports only Python 3.10+, and will remove support for more
|
||||
versions as they become
|
||||
EOL (https://devguide.python.org/versions/#python-release-cycle); while
|
||||
youtube-dl still supports Python 2.6+ and
|
||||
|
||||
Reference in New Issue
Block a user