Before You Start
Check Verbose Output
When troubleshooting, always use verbose mode to see detailed information:Common Error Messages
”ERROR: Unable to download webpage: HTTP Error 403: Forbidden”
Cause: The website is blocking your request, often due to:- Geographic restrictions
- Rate limiting
- Bot detection
- TLS fingerprinting
Solution 1: Use browser impersonation
Solution 1: Use browser impersonation
curl_cffi to be installed. See available targets:Solution 2: Use cookies from your browser
Solution 2: Use cookies from your browser
Solution 3: Use a proxy
Solution 3: Use a proxy
Solution 4: Bypass geo-restrictions
Solution 4: Bypass geo-restrictions
”ERROR: [youtube] Video unavailable”
Solutions:Update and use yt-dlp-ejs
Update and use yt-dlp-ejs
YouTube frequently changes its code. Ensure you have:Check the EJS wiki for setup.
- Latest nightly version
- yt-dlp-ejs installed with a JavaScript runtime
Use cookies
Use cookies
Check if video is actually available
Check if video is actually available
Try opening the URL in your browser to verify the video exists and is accessible.
”ERROR: ffmpeg not found”
Cause: ffmpeg is not installed or not in your system PATH. Solutions:Use yt-dlp’s custom ffmpeg builds which include patches for known issues.
”ERROR: Requested format is not available”
Cause: The format you requested doesn’t exist for this video. Solutions:List available formats
List available formats
Use format selection
Use format selection
Fallback to next best
Fallback to next best
”ERROR: This video requires payment to watch”
Cause: The video is behind a paywall or requires authentication. Solution: Use cookies from a logged-in browser session:”WARNING: unable to obtain file audio codec with ffprobe”
Cause: ffprobe is missing or outdated. Solution: Install/update ffmpeg (includes ffprobe):Download Issues
Slow Download Speeds
Solutions:Use external downloader
Use external downloader
- Linux:
sudo apt install aria2 - macOS:
brew install aria2 - Windows: Download from aria2 releases
Increase concurrent fragments
Increase concurrent fragments
Limit rate to avoid throttling
Limit rate to avoid throttling
Download Keeps Failing
Solutions:“ERROR: unable to download video data: HTTP Error 416”
Cause: Server doesn’t support resuming from where you left off. Solution:Authentication Issues
”ERROR: Unable to log in”
Solutions:Use cookies instead of username/password
Use cookies instead of username/password
Check credentials
Check credentials
Verify your username and password are correct:
Use .netrc file
Use .netrc file
Create Then run:
~/.netrc (Unix) or %HOME%\_netrc (Windows):Two-factor authentication
Two-factor authentication
If the site uses 2FA, use cookies from browser instead of direct login.
Post-Processing Issues
”ERROR: Postprocessing failed”
Cause: Usually related to missing or incompatible ffmpeg. Solutions:Check ffmpeg installation
Check ffmpeg installation
Use yt-dlp's ffmpeg builds
Use yt-dlp's ffmpeg builds
Download from yt-dlp/FFmpeg-Builds
Skip post-processing
Skip post-processing
To download without post-processing:
Thumbnail Embedding Failed
Solutions:Playlist Issues
”ERROR: Unable to download just video (if you want to download playlist, pass —yes-playlist)”
Solution: If the URL contains both a video and playlist:Playlist Download Incomplete
Solutions:Platform-Specific Issues
Windows
Missing MSVCR100.dll
Missing MSVCR100.dll
PowerShell encoding issues
PowerShell encoding issues
Use Command Prompt instead of PowerShell, or set UTF-8 encoding:
Path too long error
Path too long error
Use shorter output templates or enable long path support in Windows.
macOS
Permission denied
Permission denied
Make the binary executable:
Quarantine warning
Quarantine warning
Remove quarantine attribute:
Linux
SSL certificate errors
SSL certificate errors
Install ca-certificates:
Python SSL module not available
Python SSL module not available
Reinstall Python with SSL support:
Getting Help
Check the FAQ
Many common questions are answered in the FAQ.Search Existing Issues
Before reporting a bug, search GitHub Issues to see if it’s already reported.Reporting Bugs
When reporting an issue, always include:-
Full verbose output:
-
Version information:
- Complete command used
- URL (if not private/sensitive)
For privacy, you can redact sensitive URLs, but provide enough context about the site/extractor being used.