YouTube Video Downloader
Download YouTube videos with full control over quality and format settings.
Quick Start
The simplest way to download a video:
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
This downloads the video in best available quality as MP4 to /mnt/user-data/outputs/ .
Options
Quality Settings
Use -q or --quality to specify video quality:
-
best (default): Highest quality available
-
1080p : Full HD
-
720p : HD
-
480p : Standard definition
-
360p : Lower quality
-
worst : Lowest quality available
Example:
python scripts/download_video.py "URL" -q 720p
Format Options
Use -f or --format to specify output format (video downloads only):
-
mp4 (default): Most compatible
-
webm : Modern format
-
mkv : Matroska container
Example:
python scripts/download_video.py "URL" -f webm
Audio Only
Use -a or --audio-only to download only audio as MP3:
python scripts/download_video.py "URL" -a
Custom Output Directory
Use -o or --output to specify a different output directory:
python scripts/download_video.py "URL" -o /path/to/directory
Complete Examples
- Download video in 1080p as MP4:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
- Download audio only as MP3:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
- Download in 720p as WebM to custom directory:
python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
How It Works
The skill uses yt-dlp , a robust YouTube downloader that:
-
Automatically installs itself if not present
-
Fetches video information before downloading
-
Selects the best available streams matching your criteria
-
Merges video and audio streams when needed
-
Supports a wide range of YouTube video formats
Important Notes
-
Downloads are saved to /mnt/user-data/outputs/ by default
-
Video filename is automatically generated from the video title
-
The script handles installation of yt-dlp automatically
-
Only single videos are downloaded (playlists are skipped by default)
-
Higher quality videos may take longer to download and use more disk space
Reusability
This skill is designed to be reusable by other skills:
Used by:
- youtube-to-xiaoyuzhou
- Uses the audio-only download feature to get YouTube audio for podcast publishing