| Crates.io | rust-yt-downloader |
| lib.rs | rust-yt-downloader |
| version | 0.1.0 |
| created_at | 2025-12-05 14:42:14.217734+00 |
| updated_at | 2025-12-05 14:42:14.217734+00 |
| description | A professional CLI tool for downloading YouTube videos and audio with quality selection, format conversion, and playlist support |
| homepage | https://github.com/guycanella/rust-yt-downloader |
| repository | https://github.com/guycanella/rust-yt-downloader |
| max_upload_size | |
| id | 1968321 |
| size | 725,919 |
A professional, feature-rich CLI tool for downloading YouTube videos and audio, built in Rust.
cargo install ytdl
git clone https://github.com/guycanella/rust-yt-downloader.git
cd rust-yt-downloader
cargo install --path .
This tool requires two external dependencies:
1. yt-dlp (required) - Used for downloading YouTube content:
sudo apt install yt-dlp or download from yt-dlp releasesbrew install yt-dlpchoco install yt-dlp or winget install yt-dlp2. FFmpeg (required) - Used for audio extraction and format conversion:
sudo apt-get install ffmpegbrew install ffmpegchoco install ffmpeg or download from ffmpeg.orgytdl download https://youtube.com/watch?v=dQw4w9WgXcQ
ytdl audio https://youtube.com/watch?v=dQw4w9WgXcQ -f mp3
ytdl download https://youtube.com/watch?v=dQw4w9WgXcQ -q 1080p -f mkv
ytdl playlist https://youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf
ytdl info https://youtube.com/watch?v=dQw4w9WgXcQ
| Command | Description |
|---|---|
download |
Download a YouTube video |
audio |
Extract and download only audio |
playlist |
Download multiple videos from playlists |
info |
Display video information without downloading |
config |
Manage application configuration |
144p, 240p, 360p, 480p - Standard definition720p - HD1080p - Full HD1440p - 2K4k - Ultra HDbest - Highest available (default)worst - Lowest availablemp3 - MP3 (lossy, widely compatible) - defaultflac - FLAC (lossless, best quality)m4a - M4A/AAC (lossy, good quality)wav - WAV (uncompressed, largest size)opus - Opus (modern codec, efficient)mp4 - MP4 (widely compatible) - defaultmkv - Matroska (supports more codecs)webm - WebM (open format)Configuration file location: ~/.config/rust-yt-downloader/config.toml
ytdl config show
ytdl config set general.default_quality 1080p
ytdl config set audio.format flac
ytdl config get general.output_dir
ytdl config reset
[general]
output_dir = "~/Downloads"
default_quality = "best"
max_parallel_downloads = 3
[audio]
format = "mp3"
bitrate = "320k"
[video]
format = "mp4"
include_thumbnail = true
include_subtitles = true
[network]
retry_attempts = 3
timeout = 300
mdbook serve in the docs/ directorycargo doc --open# Run all tests
cargo test
# Run only unit tests
cargo test --lib
# Run only integration tests
cargo test --test '*'
# Run with coverage
cargo tarpaulin --verbose --all-features --workspace
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Found a bug? Please open an issue with:
Made with โค๏ธ and ๐ฆ by Guilherme Canella