Usage#
ytdl-sub [GENERAL OPTIONS] {sub,dl,view} [COMMAND OPTIONS]
For Windows users, it would be ytdl-sub.exe
General Options#
CLI options common to all sub-commands. Must be specified before the sub-command, for
example $ ytdl-sub --dry-run sub ...:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-c CONFIGPATH, --config CONFIGPATH
path to the config yaml, uses config.yaml if not provided
-d, --dry-run preview what a download would output, does not perform any video downloads or writes to output directories
-l quiet|info|verbose|debug, --log-level quiet|info|verbose|debug
level of logs to print to console, defaults to verbose
-t TRANSACTIONPATH, --transaction-log TRANSACTIONPATH
path to store the transaction log output of all files added, modified, deleted
-st, --suppress-transaction-log
do not output transaction logs to console or file
-nc, --suppress-colors
do not use colors in ytdl-sub output
-m MATCH [MATCH ...], --match MATCH [MATCH ...]
match subscription names to one or more substrings, and only run those subscriptions
Subscriptions Options#
Download all subscriptions specified in each subscriptions file.
ytdl-sub [GENERAL OPTIONS] sub [SUBPATH ...]
SUBPATH is one or more paths to subscription files and defaults to
./subscriptions.yaml if none are given. It will use the config specified by
--config, or ./config.yaml, if not provided.
-u, --update-with-info-json
update all subscriptions with the current config using info.json files
-o DL_OVERRIDE, --dl-override DL_OVERRIDE
override all subscription config values using `dl` syntax, i.e. --dl-override='--ytdl_options.max_downloads 3'
Download Options#
Download a single subscription in the form of CLI arguments instead of from a subscriptions file:
ytdl-sub [GENERAL OPTIONS] dl [SUBSCRIPTION ARGUMENTS]
SUBSCRIPTION ARGUMENTS are the same as YAML arguments, but use periods (.)
instead of indents. For example, you can represent this subscription:
rick_a:
preset:
- "tv_show"
overrides:
tv_show_name: "Rick A"
url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw"
Using the command:
ytdl-sub dl \
--preset "tv_show" \
--overrides.tv_show_name "Rick A" \
--overrides.url: "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw"
See how to shorten commands using download aliases.
View Options#
Preview the source variables for a given URL. Helpful to create new subscriptions:
ytdl-sub view [-sc] [URL]
-sc, --split-chapters
View source variables after splitting by chapters
CLI to SUB Options#
Convert yt-dlp cli arguments to ytdl-sub ytdl_options arguments.
ytdl-sub cli-to-sub [YT-DLP ARGS]
Inspect#
Inspect a single subscription’s underlying preset representation. This can be utilized for numerous purposes including:
Ensuring your custom preset is getting applied correctly.
Figuring out which variables set things like file names, metadata, etc.
Understanding how subscription syntax translates to preset representation.
Usage:
ytdl-sub inspect --match "Game Chops" --mock 'title=Lets Play' examples/music_subscriptions.yaml
-l 0,1,2,3, --level 0,1,2,3
level of inspection to perform:
0 - original present the subscription as-is
1 - fill fill in defined values
2 - resolve resolve all possible variables (default)
3 - internal resolve all variables to their internal representation
-m MATCH [MATCH ...], --match MATCH [MATCH ...]
match subscription names to one or more substrings, and only run those subscriptions
-o DL_OVERRIDE, --dl-override DL_OVERRIDE
override all subscription config values using `dl` syntax, i.e. --dl-override='--ytdl_options.max_downloads 3'
-k VAR=VALUE, --mock VAR=VALUE
ability to mock one or more variable values, i.e. --mock 'title=Lets Play'