Misc changes
This commit is contained in:
@@ -168,11 +168,14 @@ contain code from other projects with different licenses.
|
||||
Most notably, the PyInstaller-bundled executables include GPLv3+
|
||||
licensed code, and as such the combined work is licensed under GPLv3+.
|
||||
|
||||
See THIRD_PARTY_LICENSES.txt for details.
|
||||
The zipimport Unix executable (yt-dlp) contains ISC licensed code from
|
||||
meriyah and MIT licensed code from astring.
|
||||
|
||||
The zipimport binary (yt-dlp), the source tarball (yt-dlp.tar.gz), and
|
||||
the PyPI source distribution & wheel only contain code licensed under
|
||||
the Unlicense.
|
||||
See THIRD_PARTY_LICENSES.txt for more details.
|
||||
|
||||
The git repository, the source tarball (yt-dlp.tar.gz), the PyPI source
|
||||
distribution and the PyPI built distribution (wheel) only contain code
|
||||
licensed under the Unlicense.
|
||||
|
||||
Note: The manpages, shell completion (autocomplete) files etc. are
|
||||
available inside the source tarball
|
||||
@@ -231,7 +234,7 @@ install or update to the nightly release before submitting a bug report:
|
||||
yt-dlp --update-to nightly
|
||||
|
||||
# To install nightly with pip:
|
||||
python3 -m pip install -U --pre "yt-dlp[default]"
|
||||
python -m pip install -U --pre "yt-dlp[default]"
|
||||
|
||||
When running a yt-dlp version that is older than 90 days, you will see a
|
||||
warning message suggesting to update to the latest version. You can
|
||||
@@ -240,11 +243,11 @@ configuration file.
|
||||
|
||||
DEPENDENCIES
|
||||
|
||||
Python versions 3.9+ (CPython) and 3.11+ (PyPy) are supported. Other
|
||||
Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. Other
|
||||
versions and implementations may or may not work correctly.
|
||||
|
||||
While all the other dependencies are optional, ffmpeg and ffprobe are
|
||||
highly recommended
|
||||
While all the other dependencies are optional, ffmpeg, ffprobe,
|
||||
yt-dlp-ejs and a JavaScript runtime are highly recommended
|
||||
|
||||
Strongly recommended
|
||||
|
||||
@@ -261,6 +264,12 @@ Strongly recommended
|
||||
Important: What you need is ffmpeg binary, NOT the Python package of
|
||||
the same name
|
||||
|
||||
- yt-dlp-ejs - Required for deciphering YouTube n/sig values. Licensed
|
||||
under Unlicense, bundles MIT and ISC components.
|
||||
|
||||
A JavaScript runtime like deno (recommended), node.js, bun, or
|
||||
QuickJS is also required to run yt-dlp-ejs. See the wiki.
|
||||
|
||||
Networking
|
||||
|
||||
- certifi* - Provides Mozilla's root certificate bundle. Licensed
|
||||
@@ -299,8 +308,9 @@ Misc
|
||||
|
||||
- pycryptodomex* - For decrypting AES-128 HLS streams and various
|
||||
other data. Licensed under BSD-2-Clause
|
||||
- phantomjs - Used in extractors where javascript needs to be run.
|
||||
Licensed under BSD-3-Clause
|
||||
- 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
|
||||
- secretstorage* - For --cookies-from-browser to access the Gnome
|
||||
keyring while decrypting cookies of Chromium-based browsers on
|
||||
Linux. Licensed under BSD-3-Clause
|
||||
@@ -333,11 +343,11 @@ will be built for the same CPU architecture as the Python used.
|
||||
|
||||
You can run the following commands:
|
||||
|
||||
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
|
||||
|
||||
On some systems, you may need to use py or python instead of python3.
|
||||
On some systems, you may need to use py or python3 instead of python.
|
||||
|
||||
python -m bundle.pyinstaller accepts any arguments that can be passed to
|
||||
pyinstaller, such as --onefile/-F or --onedir/-D, which is further
|
||||
@@ -352,7 +362,7 @@ may not work correctly.
|
||||
|
||||
Platform-independent Binary (UNIX)
|
||||
|
||||
You will need the build tools python (3.9+), zip, make (GNU), pandoc*
|
||||
You will need the build tools python (3.10+), zip, make (GNU), pandoc*
|
||||
and pytest*.
|
||||
|
||||
After installing these, simply run make.
|
||||
@@ -444,7 +454,7 @@ General Options:
|
||||
containing directory ("-" for stdin). Can be
|
||||
used multiple times and inside other
|
||||
configuration files
|
||||
--plugin-dirs PATH Path to an additional directory to search
|
||||
--plugin-dirs DIR Path to an additional directory to search
|
||||
for plugins. This option can be used
|
||||
multiple times to add multiple directories.
|
||||
Use "default" to search the default plugin
|
||||
@@ -452,6 +462,37 @@ General Options:
|
||||
--no-plugin-dirs Clear plugin directories to search,
|
||||
including defaults and those provided by
|
||||
previous --plugin-dirs
|
||||
--js-runtimes RUNTIME[:PATH] 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 "deno" 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 "deno" is available, --no-js-
|
||||
runtimes needs to be passed before enabling
|
||||
other runtimes
|
||||
--no-js-runtimes Clear JavaScript runtimes to enable,
|
||||
including defaults and those provided by
|
||||
previous --js-runtimes
|
||||
--remote-components COMPONENT 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
|
||||
--no-remote-components Disallow fetching of all remote components,
|
||||
including any previously allowed by
|
||||
--remote-components or defaults.
|
||||
--flat-playlist Do not extract a playlist's URL result
|
||||
entries; some entry metadata may be missing
|
||||
and downloading may be bypassed
|
||||
@@ -1183,11 +1224,12 @@ SponsorBlock API
|
||||
for, separated by commas. Available
|
||||
categories are sponsor, intro, outro,
|
||||
selfpromo, preview, filler, interaction,
|
||||
music_offtopic, poi_highlight, chapter, all
|
||||
and default (=all). You can prefix the
|
||||
category with a "-" to exclude it. See [1]
|
||||
for descriptions of the categories. E.g.
|
||||
--sponsorblock-mark all,-preview
|
||||
music_offtopic, hook, poi_highlight,
|
||||
chapter, all and default (=all). You can
|
||||
prefix the category with a "-" to exclude
|
||||
it. See [1] for descriptions of the
|
||||
categories. E.g. --sponsorblock-mark
|
||||
all,-preview
|
||||
[1] https://wiki.sponsor.ajay.app/w/Segment_Categories
|
||||
--sponsorblock-remove CATS SponsorBlock categories to be removed from
|
||||
the video file, separated by commas. If a
|
||||
@@ -1256,7 +1298,7 @@ a configuration file. The configuration is loaded from the following
|
||||
locations:
|
||||
|
||||
1. Main Configuration:
|
||||
- The file given to --config-location
|
||||
- The file given to --config-locations
|
||||
2. Portable Configuration: (Recommended for portable installations)
|
||||
- If using a binary, yt-dlp.conf in the same directory as the
|
||||
binary
|
||||
@@ -1371,7 +1413,7 @@ Notes about environment variables
|
||||
${VARIABLE}/$VARIABLE on UNIX and %VARIABLE% on Windows; but is
|
||||
always shown as ${VARIABLE} in this documentation
|
||||
- yt-dlp also allows using UNIX-style variables on Windows for
|
||||
path-like options; e.g. --output, --config-location
|
||||
path-like options; e.g. --output, --config-locations
|
||||
- If unset, ${XDG_CONFIG_HOME} defaults to ~/.config and
|
||||
${XDG_CACHE_HOME} to ~/.cache
|
||||
- On Windows, ~ points to ${HOME} if present; or, ${USERPROFILE} or
|
||||
@@ -2253,13 +2295,17 @@ youtube
|
||||
respectively
|
||||
- player_client: Clients to extract video data from. The currently
|
||||
available clients are web, web_safari, web_embedded, web_music,
|
||||
web_creator, mweb, ios, android, android_vr, tv, tv_simply and
|
||||
tv_embedded. By default, tv,web_safari,web is used, and
|
||||
tv,web_creator,web is used with premium accounts. The web_music
|
||||
client is added for music.youtube.com URLs when logged-in cookies
|
||||
are used. The web_embedded client is added for age-restricted videos
|
||||
but only works if the video is embeddable. The tv_embedded and
|
||||
web_creator clients are added for age-restricted videos if account
|
||||
web_creator, mweb, ios, android, android_sdkless, android_vr, tv,
|
||||
tv_simply, tv_downgraded, and tv_embedded. By default,
|
||||
tv,android_sdkless,web is used. If no JavaScript runtime is
|
||||
available, then android_sdkless,web_safari,web is used. If logged-in
|
||||
cookies are passed to yt-dlp, then tv_downgraded,web_safari,web is
|
||||
used for free accounts and tv_downgraded,web_creator,web is used for
|
||||
premium accounts. The web_music client is added for
|
||||
music.youtube.com URLs when logged-in cookies are used. The
|
||||
web_embedded client is added for age-restricted videos but only
|
||||
works if the video is embeddable. The tv_embedded and web_creator
|
||||
clients are added for age-restricted videos if account
|
||||
age-verification is required. Some clients, such as web and
|
||||
web_music, require a po_token for their formats to be downloadable.
|
||||
Some clients, such as web_creator, will only work with
|
||||
@@ -2285,9 +2331,9 @@ youtube
|
||||
debugging purposes. You can use actual to go with what is prescribed
|
||||
by the site
|
||||
- player_js_version: The player javascript version to use for n/sig
|
||||
deciphering, in the format of signature_timestamp@hash. Currently,
|
||||
the default is to force 20348@0004de42. You can use actual to go
|
||||
with what is prescribed by the site
|
||||
deciphering, in the format of signature_timestamp@hash (e.g.
|
||||
20348@0004de42). The default is to use what is prescribed by the
|
||||
site, and can be selected with actual
|
||||
- comment_sort: top or new (default) - choose comment sorting mode (on
|
||||
YouTube's side)
|
||||
- max_comments: Limit the amount of comments to gather.
|
||||
@@ -2332,6 +2378,15 @@ youtube
|
||||
- playback_wait: Duration (in seconds) to wait inbetween the
|
||||
extraction and download stages in order to ensure the formats are
|
||||
available. The default is 6 seconds
|
||||
- jsc_trace: Enable debug logging for JS Challenge fetching. Either
|
||||
true or false (default)
|
||||
|
||||
youtube-ejs
|
||||
|
||||
- jitless: Run suported Javascript engines in JIT-less mode. Supported
|
||||
runtimes are deno, node and bun. Provides better security at the
|
||||
cost of performance/speed. Do note that node and bun are still
|
||||
considered unsecure. Either true or false (default)
|
||||
|
||||
youtubepot-webpo
|
||||
|
||||
@@ -2919,7 +2974,7 @@ Differences in default behavior
|
||||
Some of yt-dlp's default options are different from that of youtube-dl
|
||||
and youtube-dlc:
|
||||
|
||||
- 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; while youtube-dl still supports Python
|
||||
2.6+ and 3.2+
|
||||
- The options --auto-number (-A), --title (-t) and --literal (-l), no
|
||||
|
||||
Reference in New Issue
Block a user