#youtube #backup #download #config-toml

app yt-backup

Backup youtube channels and playlists

2 releases

0.0.2 Sep 21, 2023
0.0.1 Sep 21, 2023

#226 in Video

MIT license

20KB
398 lines

yt-backup

yt-backup

Rust

Backup your favourite YouTube channels using yt-dlp

Install from crates.io

cargo install --locked yt-backup

Run with the default config location <config_dir>/yt-backup/config.toml or ./config.toml

yt-backup

or specify a config path

yt-backup --config /path/to/config.toml

Configuration

Example configuration:

root_dir_path = "/path/to/backup/" # directory to download everything to (default "./")
link_type = "hard" # "hard" or "soft" use symlinks or hard links (default "hard")
ytdlp_config_path = "/path/to/configs/yt-dlp.config"

playlists = [ # download the below playlists but unassociated with a channel.
    "PLUeHTafWecAVblNx278wBxkIQXw7iJws3"
]

[[channels]]
name = "JapaneseToolsAustralia"
# url defaults to "https://youtube.com/c/<name>"
[[channels]]
name = "English Country Life"
url = "https://www.youtube.com/channel/UCGzRPk4-weg4odbYNCjujJA"

Example yt-dlp configuration:

-f "bestvideo[height>=720]+bestaudio/best"
-ciw
--all-subs
--embed-subs
--no-progress
--no-colors
--write-thumbnail
--write-description
-r 3M

Docker

docker run \
    -v $(pwd)/path/to/video/store:/app/data \
    -v $(pwd)/yt-dlp.config:/app/yt-dlp.config \
    -v $(pwd)/config.toml:/app/config.toml \
    --name yt-backup \
    ghcr.io/marktuddenham/yt-backup:latest

with config

root_dir_path = "/app/data/"
ytdlp_config_path = "/app/yt-dlp.config"

Dependencies

~5–16MB
~148K SLoC