A thin wrapper around yt-dlp for parallel downloads
Project description
yt-dlpp
A thin wrapper around yt-dlp
for parallel downloads
Description
yt-dlpp
is just yt-dlp
but starts downloads in parallel.
It supports passing multiple download URLs and unwrapping playlists.
Installation
Note: In addition to yt-dlpp
, it is expected that you also have a valid yt-dlp
install available in the command line.
Only Linux has been tested and validated, but feel free to open a PR to add support for other OS-es.
From pypi
pip install yt-dlpp
From source, on Linux
git clone https://github.com/GeoffreyCoulaud/yt-dlpp.git
cd yt-dlpp
python3 -m venv .venv
source .venv/bin/activate
pip install
Usage
yt-dlpp
accepts all valid yt-dlp
arguments and passes them mostly intact.
However, arguments related to CLI output will be ignored since that is handled by yt-dlpp
.
Below, you can find a short list of the added arguments:
Argument | Description | Default value |
---|---|---|
--n-info-workers |
Number concurrent url info extraction workers | Number of CPUs in the system |
--n-dl-workers |
Number concurrent download workers | Number of CPUs in the system |
Architecture
yt-dlpp
spreads the info getting and downloads to multiple worker processes. Here is an architecture overview of the project :
graph TD
A[CLI Entry Point]-->B[Info Worker 1]
A-->C[Info Worker 2]
A-->D[...]
A-->E[Info Worker N]
B-->F[Download Deduplication Worker]
C-->F
D-->F
E-->F
F-->G[Download Worker 1]
F-->H[Download Worker 2]
F-->I[...]
F-->J[Download Worker N]
G-->K[Progress Display Worker]
H-->K
I-->K
J-->K
Reason to exist
As you may be aware, starting multiple Youtube downloads in parallel will probably not change the overall time taken, since a rate limit is in place, and before reaching it, you may simply reach your ISP's limit.
But yt-dlp
(and therefore yt-dlpp
too) is not only used for Youtube! Other websites have different restrictions, and some may simply allow downloads at a slow speed, but no per IP throttling (eg. NHK World Japan).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yt_dlpp-1.0.2.tar.gz
.
File metadata
- Download URL: yt_dlpp-1.0.2.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6ffb130cb11c9be716e45a9d3f7b0380fcb766071c82b2f45b52d53eeca00be |
|
MD5 | 3d4b1e57d2c764bae0cdaeecd2fc6b31 |
|
BLAKE2b-256 | 81b3675f823e26082c2a6a5b98da64136ca01700b9d42851c02fb63a06527414 |
File details
Details for the file yt_dlpp-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: yt_dlpp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11f5eb05ce19daf020684323c67466cc7c1f26c4243a3608720ccb056c5647b0 |
|
MD5 | 72e918569fbba5a351d9cfa6ce1c5bf3 |
|
BLAKE2b-256 | 7b9b62bec42292e14cdacf9721f12605ee5d89f23e3a14135a00342a14e640be |