Crates.io | yt-parallel |
lib.rs | yt-parallel |
version | 0.5.22 |
source | src |
created_at | 2023-12-11 21:29:21.606326 |
updated_at | 2024-02-06 00:00:59.221151 |
description | This application runs download tools (default is yt-dlp) in parallel to download batches of videos. |
homepage | |
repository | https://github.com/phiroict/yt-parallel |
max_upload_size | |
id | 1065580 |
size | 70,739 |
yt-dlp is a video file downloader, it has been designed to download one file at the time. It is quick enough but if you have a set of downloads it is faster
when running in parallel. Now this is use-case that works for me, so your milage may vary, it is also a nice Rust exercise. You list a list of video urls in a textfile and then download it as a batch. It will place it in a folder that is the current date for instance 20240101 and at the end it moves it to a location that could be on a SAN/NAS so then it is shared.
In short:
An utility to run yt-dlp processes in parallel. There is little tool specific code here, just run
these downloads in parallel.
It is possible to use another download tool by passing it in the commandline for instance: yt-parallel --video-download-tool your-tool-here
Note that there are a lot of local settings here that you need to adapt to your needs, check the
code comments for this. There are a number of arguments you can pass.
winget
or choco
just for convenience.
Needs this file to be present in the folder the command is runvideolist.txt
with a line separated list of youtube video urls (right click on the clip you want to add and select copy link
and then paste the link in the file on a new line)First time run the make init
task to install the cargo dependencies that the make check
task is using. You need not do that again.
Check the makefile how to build and deploy the application. Change the paths to fit your system.
If you are on the Mac and want to create the container stack, run make init_arm
first to install the rust
compilers and linkers for linux amd first.
make build
to build and test the stack
make deploy
to push it to a global place you can run it from the command-line, this is for linux and macos. It will deploy to a location the path would find it. By tradition this is /usr/local/bin/
make deploy_win
to build the windows executable and copies it to a place in the path, in this case i:\Apps
but you would need to set one location up and add that to the %PATH%
Usage
Usage: yt-parallel [OPTIONS]
Options:
-l, --location-video-list <LOCATION_VIDEO_LIST>
Location of the videolist.txt file [default: ./videolist.txt]
-v, --video-download-tool <VIDEO_DOWNLOAD_TOOL>
[default: yt-dlp]
-d, --debug-level <DEBUG_LEVEL>
[default: info] [possible values: trace, debug, info, warn, error]
-m, --move-target <MOVE_TARGET>
[default: ]
-h, --help
Print help
-V, --version
Print version