yt-backup

Crates.ioyt-backup
lib.rsyt-backup
version0.0.2
sourcesrc
created_at2023-09-21 16:03:36.215914
updated_at2023-09-21 16:21:38.68755
descriptionBackup youtube channels and playlists
homepage
repositoryhttps://github.com/MarkTuddenham/yt-backup
max_upload_size
id979633
size46,562
Mark Tuddenham (MarkTuddenham)

documentation

README

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"

Commit count: 13

cargo fmt