guyronnen/openmontage

video-download

Download video and audio from YouTube and 1000+ sites using yt-dlp.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

bash
yt-dlp "URL" -o "%(title)s.%(ext)s" --merge-output-format mp4

Download specific resolution

bash
# 720p
yt-dlp "URL" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4

# 1080p
yt-dlp "URL" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4

Audio only

bash
yt-dlp "URL" -x --audio-format mp3 --audio-quality 0

Download subtitles

bash
# Download video with English subtitles
yt-dlp "URL" --write-subs --sub-langs en --merge-output-format mp4

# Download video with multiple subtitle languages
yt-dlp "URL" --write-subs --sub-langs "en,es,fr" --merge-output-format mp4

# Download only subtitles (no video)
yt-dlp "URL" --write-subs --sub-langs en --skip-download

Get metadata (no download)

bash
yt-dlp "URL" --dump-json --no-download

List available formats

bash
yt-dlp "URL" -F

Specify output directory

bash
yt-dlp "URL" -o "./downloads/%(title)s.%(ext)s" --merge-output-format mp4

Quality Presets

QualityFormat 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:

VariableDescription
%(title)sVideo title
%(ext)sFile extension
%(id)sVideo ID
%(uploader)sChannel/uploader name
%(upload_date)sUpload date (YYYYMMDD)
%(duration)sDuration in seconds
%(resolution)sVideo 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.
from this repository

More skills

All skills
guyronnen
Community

acestep

AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when generating music, soundtracks, jingles, or working with audio stems. Triggers include background music, soundtrack, jingle, music generation, stem extraction, cover, style transfer, or musical composition tasks.

installs
2
GitHub stars
2
Updated
Apr 12
guyronnen
Community

agents

Build voice AI agents with ElevenLabs. Use when creating voice assistants, customer service bots, interactive voice characters, or any real-time voice conversation experience.

installs
2
GitHub stars
2
Updated
Apr 12
guyronnen
Community

ai-video-gen

Generate AI videos from text prompts using multiple provider gateways. Use when: (1) Generating videos from text descriptions, (2) Creating AI-generated video clips for content production, (3) Image-to-video generation with a reference image, (4) Choosing between video generation providers (VEO, Kling, Sora, Runway, Seedance, MiniMax). Supports two gateways: HeyGen API and fal.ai API.

installs
2
GitHub stars
2
Updated
Apr 12
guyronnen
Community

avatar-video

Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API. Use when: (1) Choosing a specific avatar and voice for a video, (2) Writing exact scripts for an avatar to speak, (3) Building multi-scene videos with different backgrounds per scene, (4) Creating transparent WebM videos for compositing, (5) Using talking photos as video presenters, (6) Integrating HeyGen avatars with Remotion, (7) Batch video generation with exact specs, (8) Brand-consistent production videos with precise control.

installs
2
GitHub stars
2
Updated
Apr 12