Brandon Hubbard / yt-dlp-rs
GitHub โ†—
RUST ยท MEDIA EXTRACTOR ENGINE

yt-dlp-rs โ€” Modular, Memory-Safe Media Extractor & Downloader in Pure Rust

yt-dlp-rs is a native Rust port of the yt-dlp architecture designed for sub-5ms cold starts, zero Python runtime dependencies, and embeddable Rust library usage. It provides async HLS/DASH manifest parsing, format selection filters, and concurrent segment downloading in a single self-contained binary.

$ cargo install yt-dlp-rs
GitHub โ†—
< 5ms
Cold Startup Time
< 15MB
RAM Footprint
HLS & DASH
Multi-Protocol Engine
0.01s
Test Suite Speed

Interactive Command Generator ๐Ÿ› ๏ธ

Configure download parameters to generate the exact yt-dlp CLI command:

yt-dlp "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -f best -P ./downloads -N 8

Native Multi-Protocol Architecture โšก

HTTP/2 Segmented Transport

Concurrent chunked range downloading with automatic connection pooling and byte-accurate resume.

HLS (m3u8) & MPEG-DASH

Zero-overhead parsing of Master and Media playlists with asynchronous fragment pipelines.

Modular Extractor Registry

Zero-cost abstraction for platform-specific API scrapers: YouTube, Twitter/X, and Universal HTML5.

Installation & Usage ๐Ÿš€

# Install from Cargo
cargo install --git https://github.com/bhubbard/yt-dlp-rs

# 1. List available formats
yt-dlp -F "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 2. Download best quality video
yt-dlp -f best -P ~/Downloads "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 3. Download best audio track only
yt-dlp -f bestaudio -P ~/Music "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 4. Dump machine-readable JSON metadata
yt-dlp -j "https://x.com/user/status/123456789"