Crate rust_yt_downloader

Crate rust_yt_downloader 

Source
Expand description

§rust-yt-downloader

A professional CLI tool for downloading YouTube videos and audio.

This library provides a complete solution for downloading YouTube content with features including:

  • High-quality video downloads with quality selection
  • Audio extraction in multiple formats (MP3, FLAC, M4A, WAV, Opus)
  • Playlist downloads with parallel processing
  • FFmpeg integration for format conversion
  • Progress tracking and user feedback
  • Comprehensive configuration management

§Examples

use rust_yt_downloader::YtDlpClient;

let client = YtDlpClient::new();
let info = client.get_video_info("https://www.youtube.com/watch?v=dQw4w9WgXcQ")?;

println!("Title: {}", info.title);
println!("Duration: {} seconds", info.duration);

§Modules

  • cli - Command-line interface and argument parsing
  • config - Configuration file management
  • downloader - Core download functionality
  • error - Error types and handling
  • media - FFmpeg integration for media processing
  • progress - Progress tracking and display
  • utils - Utility functions and helpers
  • youtube - YouTube API client and metadata extraction

Re-exports§

pub use config::Config;
pub use downloader::Downloader;
pub use error::AppError;
pub use error::AppResult;
pub use youtube::YtDlpClient;

Modules§

cli
Command-line interface definitions and argument parsing.
config
Configuration management for the YouTube downloader.
downloader
Download orchestration and configuration management.
error
Error types and result aliases for the YouTube downloader.
media
Media processing module for video and audio manipulation.
progress
Progress tracking and visual feedback using the indicatif crate.
utils
Utility functions for file handling, formatting, and YouTube URL parsing.
youtube
YouTube integration module for video and playlist operations.