Hd video downloader
A powerful HD video downloader skill that supports YouTube, Bilibili, TikTok, and 1000+ more platforms. Optimized for compatability and speed.
npx -y skills add shiyunbo/hd-video-downloaderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Download HD videos from 1000+ platforms using yt-dlp (YouTube, TikTok,Bilibili, Twitter/X, Instagram, etc.) and you-get (80+ sites including Douyin, Weibo, iQIYI, Tencent Video, etc.). **100% automated** - downloads in high quality, merges separated video/audio streams to AAC audio, no user confirmation needed. Auto-overwrites existing files, auto-deletes temp files. **Always use this skill whenever the user provides a video link, URL from any video platform, or asks to download/save/rip/extract videos from websites** β even if they don't explicitly mention the tool name. This includes phrases like "download this video" or "get this video", or when sharing any video URL.
SKILL.md
13.2 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it
HD Video Downloader Skill
π― 100% Automated - Zero User Interaction Required
This skill helps you download high-definition videos from 1000+ popular video platforms using a two-tier approach:
- Primary:
yt-dlp- Most actively maintained, supports 1000+ websites, highest quality downloads - Fallback:
you-get- Backup option with 80+ site support when yt-dlp doesn't support a platform
Key Automation Features
- β No user confirmation required - fully automated workflow
- β Auto-overwrites existing files without prompting
- β Auto-deletes temporary files after merging
- β Auto-converts audio to AAC for maximum compatibility
- β Non-interactive - suitable for scripts, CI/CD, batch operations
- β Silent mode available - suppress progress bars if needed
How it Works
yt-dlp (Primary - Try First):
- Most actively maintained (110K+ GitHub stars)
- Supports 1000+ websites
- Automatically handles merged video/audio
- Best for YouTube, Bilibili, Douyin, and most platforms
you-get (Fallback):
- Classic tool with 80+ site support
- Useful for sites not yet supported by yt-dlp
- Automatic video/audio merging with ffmpeg
Both tools automatically detect the highest quality, download video/audio streams, and merge them into a single file.
Prerequisites
β οΈ CRITICAL: moviepy is MANDATORY
This skill requires THREE dependencies:
- yt-dlp - Primary download tool
- you-get - Fallback download tool
- moviepy - REQUIRED for merging video and audio (includes built-in ffmpeg)
Why moviepy is REQUIRED
Modern video platforms often separate video and audio streams. Without moviepy:
- β You will get separate files (video-only and audio-only)
- β Cannot play the complete video
- β Download is incomplete and unusable
With moviepy:
- β Automatic merging of video and audio
- β Single, complete, playable video file
- β Proper A/V synchronization
- β Built-in ffmpeg (no separate installation needed)
- β Pure Python (easy to install)
Installation
π― Automatic Installation (Recommended)
# Navigate to skill directory
cd <path-to-skill-directory>
# Run automatic installer
python scripts/setup.py
π Manual Installation
pip install yt-dlp you-get moviepy
β Verify Installation
python -c "from moviepy import VideoFileClip; print('β moviepy installed')"
python -c "import yt_dlp; print('β yt-dlp installed')"
python -c "import you_get; print('β you-get installed')"
β οΈ DO NOT proceed with downloads if moviepy is not installed.
Download Workflow
Complete Workflow (Fully Automated - No User Confirmation Required)
β¨ This skill is 100% automated - no user interaction needed!
- Verify dependencies - Run
python scripts/setup.pyif not done - Parse URL - Extract video URL from user message
- Try yt-dlp - Use optimized 1080p default (best speed/quality balance)
- Fallback to you-get - If yt-dlp fails or reports "Unsupported URL"
- Auto-merge - Run
python scripts/merge_video.py --autoif files are separated- Automatically detects separated video/audio files
- Automatically merges them with AAC audio codec
- Automatically deletes original files (no confirmation needed)
- Overwrites existing files without prompting
- Verify output - Check file exists and is playable
Download Commands
yt-dlp (Primary - Always try first)
# Get video info (optional)
python -m yt_dlp --print "%(title)s\n%(duration)s\n%(uploader)s" "URL"
# DEFAULT: Download 1080p (best speed/quality balance)
# IMPORTANT: --postprocessor-args ensures ffmpeg uses AAC audio codec for maximum compatibility
python -m yt_dlp -f "bestvideo[height<=?1080]+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(title)s.%(ext)s" "URL"
# Alternative: Download 720p (faster, smaller)
python -m yt_dlp -f "bestvideo[height<=?720]+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(title)s.%(ext)s" "URL"
# Optional: Download highest quality including 4K (slower)
python -m yt_dlp -f "bestvideo+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(title)s.%(ext)s" "URL"
# With cookies (for restricted content)
python -m yt_dlp --cookies-from-browser chrome -f "bestvideo[height<=?1080]+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(title)s.%(ext)s" "URL"
you-get (Fallback - Use when yt-dlp fails)
# Download with auto-merge
python -c "import sys; sys.argv = ['you-get', 'URL']; from you_get import main; main()"
Auto-Merge Separated Files
Many platforms download video and audio as separate files. If this happens:
# Automatic merge (detects and merges all separated files)
python scripts/merge_video.py --auto
# Manual merge (for specific files)
python scripts/merge_video.py <video_file> <audio_file> <output_file>
Supported formats:
- Audio:
.m4a,.webm,.aac,.ogg,.opus - Video:
.mp4,.webm
Merge script features:
- β 100% Automated - No user confirmation required
- β Automatic format detection
- β Converts ALL audio to AAC (maximum player compatibility)
- β High bitrate (8000k) for quality preservation
- β Automatic cleanup of original files (no confirmation)
- β Overwrites existing files automatically
- β Uses moviepy's built-in ffmpeg (no system ffmpeg required)
- β Non-interactive operation (suitable for scripts/automation)
Supported Platforms
yt-dlp (Primary)
Chinese: Bilibili, Douyin, Kuaishou, Weibo, Zhihu, Youku, iQIYI, Tencent Video International: YouTube, Vimeo, Twitter/X, Instagram, Facebook, TikTok, Dailymotion, TED, Reddit, Twitch
you-get (Fallback)
Best for: Haokan Video, Baidu platforms, some niche Chinese sites
Note: Platform support changes frequently. Always try yt-dlp first.
Examples
Template (works for all platforms)
# Step 1: Verify dependencies (run once)
python scripts/setup.py
# Step 2: Download with yt-dlp (1080p default, with AAC audio codec)
python -m yt_dlp -f "bestvideo[height<=?1080]+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(title)s.%(ext)s" "URL"
# Step 3: If yt-dlp fails, try you-get
python -c "import sys; sys.argv = ['you-get', 'URL']; from you_get import main; main()"
# Step 4: Auto-merge if files are separated
python scripts/merge_video.py --auto
Example URLs (replace "URL" in template above):
- Bilibili:
https://www.bilibili.com/video/BV1xx411c7mD - YouTube:
https://youtube.com/watch?v=abc123 - Douyin:
https://v.douyin.com/xyz123 - TikTok:
https://www.tiktok.com/@user/video/1234567890
Playlist Download
# Download entire playlist with AAC audio codec
python -m yt_dlp -f "bestvideo[height<=?1080]+bestaudio/best" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" -o "%(playlist_index)s-%(title)s.%(ext)s" "PLAYLIST_URL"
Error Handling
Common yt-dlp Errors
1. "Unsupported URL"
- Action: Fall back to you-get
- Reason: Platform not yet supported by yt-dlp
2. "WARNING: ffmpeg is not installed"
- SEVERITY: NOT CRITICAL
- Action: Proceed with download, then merge with moviepy
- Solution:
python scripts/merge_video.py --auto
3. "HTTP Error 403: Forbidden"
- Try with cookies:
--cookies-from-browser chrome - Check if video is public or requires authentication
4. Separated video/audio files
- Run:
python scripts/merge_video.py --auto - Result: Single merged .mp4 file
Common you-get Errors
1. "you-get not found"
- Install:
pip install you-get
2. Merging issues
- Run:
python scripts/merge_video.py --auto
3. Extraction errors
- May need cookies for authentication
- Video might be private or deleted
Graceful Fallback Workflow
1. Try yt-dlp
β
βββ Success β Report success
β
βββ Failure β Check error type
β
βββ "Unsupported URL" β Try you-get
β β
β βββ Success β Report success (note: used you-get)
β βββ Failure β Report both tools failed
β
βββ Network/Auth error β Inform user of specific issue
β
βββ Other error β Try you-get as last resort
Advanced Usage
Download Specific Quality
# List available formats
python -m yt_dlp --list-formats "URL"
# Download specific format with AAC audio codec
python -m yt_dlp -f "FORMAT_ID" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" "URL"
# Download 1080p or better with AAC audio codec
python -m yt_dlp -f "bestvideo[height<=1080]+bestaudio" --merge-output-format mp4 --postprocessor-args "ffmpeg:-acodec aac" "URL"
Proxy and Network Options
# Use proxy
python -m yt_dlp --proxy http://127.0.0.1:7890 "URL"
# Set timeout
python -m yt_dlp --socket-timeout 60 "URL"
Best Practices
Quality Preservation
-
β οΈ ALWAYS verify moviepy is installed before downloading
- Check:
python -c "from moviepy import VideoFileClip" - Install if missing:
pip install moviepy
- Check:
-
β οΈ Use optimized 1080p default for best speed/quality balance
- Default:
-f "bestvideo[height<=?1080]+bestaudio/best" - Avoids slow 4K downloads unless explicitly requested
- Default:
-
β οΈ ALWAYS auto-merge if files are separated
- Run:
python scripts/merge_video.py --auto - Ensures single, playable output file
- Run:
General Workflow
4. Always try yt-dlp first, fall back to you-get on failure
5. Download to current working directory
6. Verify downloads are complete (file exists, merged, reasonable size)
7. Report which tool was used to user
8. Update tools regularly: pip install --upgrade yt-dlp you-get moviepy
Limitations
Both tools:
- DRM-protected content: Cannot download DRM-protected videos
- Private videos: Require authentication/cookies
- Live streams: Limited support
- Platform changes: Sites update APIs frequently
- Regional restrictions: Geo-blocked content
Safety and Legal
Important:
- Only download videos you have the right to access
- Respect copyright and platform terms of service
- This tool is for personal use and fair use scenarios
- Do not redistribute copyrighted content without permission
- Some downloads may violate platform ToS
- Be aware of your local copyright laws
Always inform users about these considerations when downloading.
Summary
This skill provides a 100% automated video downloading experience with guaranteed merged video output:
π― Zero User Interaction Required
- β Fully automated - no confirmation prompts
- β Auto-overwrites existing files
- β Auto-deletes temporary files
- β Non-interactive operation (suitable for scripts/CI/CD)
- β Silent mode available (logger=None)
Core Features
-
β οΈ CRITICAL: moviepy is REQUIRED
- MUST be installed before any download
- Required for merging video and audio streams
- Includes built-in ffmpeg (no separate installation)
- Without moviepy: incomplete downloads (separate files)
-
Primary: yt-dlp (try first)
- Most actively maintained (110K+ stars)
- Supports 1000+ websites
- Optimized for 1080p (best speed/quality balance)
- AAC audio codec for maximum compatibility
-
Fallback: you-get (use when yt-dlp fails)
- Classic tool with 80+ sites
- Good backup option
-
Automatic merge (if files are separated)
- Check for
.f*.mp4and.f*.m4afiles - Use moviepy to merge automatically
- Clean up original files (no confirmation)
- Output single
.mp4file
- Check for
-
Key features
- 100% automated - no user interaction needed
- Requires moviepy (easy pip install)
- Built-in ffmpeg (no system setup needed)
- Auto-merges separated files
- Auto-converts to AAC audio
- Optimized for 1080p (3-5x faster than 4K)
- Supports 1000+ platforms
- Graceful error handling
-
Output guarantee
- β Single merged video file (.mp4)
- β Video and audio combined
- β Ready to play
- β AAC audio (maximum compatibility)
- β NO separate video/audio files (auto-merged)
- β NO user confirmation required
Remember:
- ALWAYS verify moviepy is installed before downloading
- ALWAYS use 1080p default (unless user requests 4K)
- ALWAYS auto-merge if files are separated
- NO user interaction needed - fully automated
- Start with yt-dlp, fall back to you-get if needed