video-download
Download video and audio from YouTube and 1000+ sites using yt-dlp. No API keys needed. Use when: (1) Downloading a video from YouTube or other sites, (2) Extracting audio from a video URL, (3) Downloading subtitles/captions from a video, (4) Getting video metadata without downloading.
By calesthio · 790 installs
npx skills add calesthio/openmontage --skill video-download
Source repository · Upstream listing
video download
Download video and audio from URLs using yt dlp directly. No wrapper scripts needed.
Prerequisites
yt dlp : brew install yt dlp or pip install yt dlp
ffmpeg : brew install ffmpeg or apt install ffmpeg (required for merging video+audio streams)
Update yt dlp periodically to keep up with site changes: yt dlp U or pip install U yt dlp .
Commands
Download best quality
Download specific resolution
Audio only
Download subtitles
Get metadata (no download)
List available formats
Specify output directory
Quality Presets
Quality Format flag
Best f "bestvideo+bestaudio/best" (default)
1080p f "bestvideo[height<=1080]+bestaudio/best[height<=1080]"
720p f "bestvideo[height<=720]+bestaudio/best[height<=720]"
480p f "bestvideo[height<=480]+bestaudio/best[height<=480]"
Worst f "worstvideo+worstaudio/worst"
Output Template Variables
Common variables for o templates:
Variable Description
%(title)s Video title
%(ext)s File extension
%(id)s Video ID
%(uploader)s Channel/uploader name
%(upload date)s Upload date (YYYYMMDD)
%(duration)s Duration in seconds
%(resolution)s Video resolution
Tips
Always use merge output format mp4 to avoid ending up with .webm or .mkv files.
Use no download with dump json for metadata only queries no files written to disk.
If a download fails with HTTP errors, update yt dlp first ( yt dlp U ).
Use f "bestvideo[height<=720]+bestaudio" to save bandwidth when full resolution is not needed.
yt dlp automatically handles rate limiting and retries.
The dump json output includes title , duration , uploader , view count , description , formats , subtitles , and much more.
Troubleshooting
"yt dlp: command not found" : Install it ( pip install yt dlp ) and ensure your PATH includes pip's bin directory.
"ffmpeg: command not found" : Install ffmpeg. Without it, downloads fail when video and audio are separate streams (common on YouTube for HD).
Downloads fail or return errors : Run yt dlp U to update. Sites change frequently and yt dlp ships fixes regularly.