Skill v1.0.1
currentAutomated scan100/1003 files
version: "1.0.1" name: video-downloader description: Download videos from 1000+ websites (YouTube, Bilibili, Twitter/X, TikTok, etc.) using yt-dlp. Use this skill when users provide video URLs and want to download videos, extract audio, or need help with video download issues.
Video Downloader
Overview
Download videos from YouTube, Bilibili, Twitter/X, TikTok, and 1000+ other websites using yt-dlp. Supports multiple quality options, audio extraction, and automatic format selection.
When to Use This Skill
Invoke this skill when users:
- Provide a video URL and want to download it
- Ask to download videos from any website
- Want to extract audio from online videos
- Need to download videos in specific quality (1080p, 4K, etc.)
- Request help with video download issues
Quick Start
When a user provides a video URL:
# Run the bundled download scriptpython3 scripts/download.py "VIDEO_URL"
Default output: ~/Downloads/Videos/
Prerequisites
Install yt-dlp
# macOSbrew install yt-dlp# Cross-platform (pip)pip install yt-dlp# Update to latest versionbrew upgrade yt-dlp # or: pip install --upgrade yt-dlp
Verify Installation
which yt-dlp && yt-dlp --version
Common Download Commands
Basic Download (Best Quality)
yt-dlp -P ~/Downloads/Videos "VIDEO_URL"
Specific Quality
# Best quality up to 1080pyt-dlp -f "bestvideo[height<=1080]+bestaudio/best" -P ~/Downloads/Videos "VIDEO_URL"# Best quality up to 720pyt-dlp -f "bestvideo[height<=720]+bestaudio/best" -P ~/Downloads/Videos "VIDEO_URL"# Best available (including 4K)yt-dlp -f "bestvideo+bestaudio/best" -P ~/Downloads/Videos "VIDEO_URL"
Audio Only (MP3)
yt-dlp -x --audio-format mp3 -P ~/Downloads/Videos "VIDEO_URL"
List Available Formats
yt-dlp -F "VIDEO_URL"
Download with Subtitles
yt-dlp --write-subs --sub-lang zh,en -P ~/Downloads/Videos "VIDEO_URL"
Playlist Download
yt-dlp -P ~/Downloads/Videos "PLAYLIST_URL"
Bundled Script Reference
scripts/download.py
Convenience wrapper with sensible defaults:
# Basic usagepython3 scripts/download.py "VIDEO_URL"# Optionspython3 scripts/download.py "VIDEO_URL" -o ~/Desktop # Custom outputpython3 scripts/download.py "VIDEO_URL" -f 1080 # Max 1080ppython3 scripts/download.py "VIDEO_URL" -a # Audio only (MP3)python3 scripts/download.py "VIDEO_URL" -F # List formatspython3 scripts/download.py "VIDEO_URL" --subs # With subtitles
Supported Websites (Examples)
| Platform | Example URL Pattern | |
|---|---|---|
| YouTube | youtube.com/watch?v=, youtu.be/ | |
| Bilibili | bilibili.com/video/ | |
| Twitter/X | twitter.com/*/status/, x.com/*/status/ | |
| TikTok | tiktok.com/@*/video/ | |
| Vimeo | vimeo.com/ | |
| Twitch | twitch.tv/videos/ | |
instagram.com/p/, instagram.com/reel/ | ||
facebook.com/watch/ |
Full list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
Platform-Specific Notes
YouTube
For high-quality (1080p+) YouTube downloads, you may need:
- Browser cookies (recommended):
yt-dlp --cookies-from-browser chrome "VIDEO_URL"
- PO token provider (for persistent access):
See references/platform-tips.md for setup instructions.
Bilibili
# Download with best qualityyt-dlp --cookies-from-browser chrome "https://www.bilibili.com/video/BV..."
Twitter/X
# Usually works without authenticationyt-dlp "https://twitter.com/user/status/123456789"
Troubleshooting
"Video unavailable" or "Sign in required"
Use browser cookies:
yt-dlp --cookies-from-browser chrome "VIDEO_URL"
Only Low Quality Available
- Update yt-dlp:
brew upgrade yt-dlp - Use browser cookies for authentication
- Check available formats:
yt-dlp -F "VIDEO_URL"
Download Speed Issues
# Limit concurrent fragmentsyt-dlp --concurrent-fragments 3 "VIDEO_URL"# Use specific format to avoid mergingyt-dlp -f best "VIDEO_URL"
Network Errors (China/Proxy)
# Use proxyyt-dlp --proxy socks5://127.0.0.1:1080 "VIDEO_URL"# Or set environment variableexport ALL_PROXY=socks5://127.0.0.1:1080yt-dlp "VIDEO_URL"
Output Format
Default filename template: %(title)s [%(id)s].%(ext)s
Custom template:
yt-dlp -o "%(uploader)s - %(title)s.%(ext)s" "VIDEO_URL"
Further Reading
- Platform Tips: See
references/platform-tips.mdfor site-specific guidance - yt-dlp Documentation: https://github.com/yt-dlp/yt-dlp
- Supported Sites: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md