home / skills / eyadsibai / ltk / video-downloader

This skill helps you download videos and extract audio with yt-dlp, offering quality, format, and output customization for offline viewing.

npx playbooks add skill eyadsibai/ltk --skill video-downloader

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.6 KB
---
name: video-downloader
description: Use when "downloading videos", "saving YouTube videos", "converting to MP3", "video quality", or asking about "yt-dlp", "video formats", "audio extraction"
version: 1.0.0
---

<!-- Adapted from: awesome-claude-skills/video-downloader -->

# Video Downloader Guide

Download videos with customizable quality and format options using yt-dlp.

## When to Use

- Downloading videos from YouTube and other sites
- Saving videos for offline viewing
- Extracting audio as MP3
- Choosing specific quality settings
- Converting between video formats

## Quick Start

```bash
# Basic download (best quality)
yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID"

# Specify quality
yt-dlp -f "bestvideo[height<=1080]+bestaudio" "URL"

# Audio only as MP3
yt-dlp -x --audio-format mp3 "URL"
```

## Quality Options

| Quality | Command Flag |
|---------|-------------|
| Best | `-f best` (default) |
| 1080p | `-f "bestvideo[height<=1080]+bestaudio"` |
| 720p | `-f "bestvideo[height<=720]+bestaudio"` |
| 480p | `-f "bestvideo[height<=480]+bestaudio"` |
| 360p | `-f "bestvideo[height<=360]+bestaudio"` |
| Worst | `-f worst` |

## Format Options

| Format | Command |
|--------|---------|
| MP4 | `--merge-output-format mp4` |
| WebM | `--merge-output-format webm` |
| MKV | `--merge-output-format mkv` |

## Audio Extraction

```bash
# Extract as MP3
yt-dlp -x --audio-format mp3 "URL"

# Extract as M4A (better quality)
yt-dlp -x --audio-format m4a "URL"

# Best audio quality
yt-dlp -x --audio-quality 0 "URL"
```

## Custom Output

```bash
# Custom output directory
yt-dlp -o "/path/to/dir/%(title)s.%(ext)s" "URL"

# Custom filename template
yt-dlp -o "%(upload_date)s-%(title)s.%(ext)s" "URL"
```

## Playlist Handling

```bash
# Download entire playlist
yt-dlp "PLAYLIST_URL"

# Skip playlists (single video only)
yt-dlp --no-playlist "URL"

# Download specific items from playlist
yt-dlp --playlist-items 1-5 "PLAYLIST_URL"
```

## Installation

```bash
# macOS
brew install yt-dlp

# pip
pip install yt-dlp

# Update
yt-dlp -U
```

## Common Examples

```bash
# 1080p MP4 to specific folder
yt-dlp -f "bestvideo[height<=1080]+bestaudio" \
       --merge-output-format mp4 \
       -o "~/Videos/%(title)s.%(ext)s" "URL"

# Audio only as high-quality MP3
yt-dlp -x --audio-format mp3 --audio-quality 0 "URL"

# Download with subtitles
yt-dlp --write-subs --sub-lang en "URL"

# List available formats
yt-dlp -F "URL"
```

## Important Notes

- Video filename generated from video title
- Higher quality = larger file size
- Some sites may have restrictions
- Keep yt-dlp updated for best compatibility

Overview

This skill helps you download videos and extract audio using yt-dlp with flexible quality and format options. It makes saving YouTube and other hosted videos offline simple, supports playlists, and can convert or merge outputs into MP4, WebM, MKV, or MP3/M4A audio. The commands are geared toward reproducible filenames, custom directories, and reliable updates.

How this skill works

It constructs yt-dlp command lines to fetch video streams, choose specific video+audio combinations, or extract audio only. You can specify format selection filters (for resolution or quality), output templates for filenames and folders, and playlist handling options. It also supports merging formats, subtitle download, and audio transcoding via yt-dlp options.

When to use it

  • Save videos for offline viewing or archiving
  • Extract audio tracks as MP3 or M4A for podcasts or listening
  • Convert or force a specific container format (MP4, WebM, MKV)
  • Download specific resolutions (1080p, 720p, 480p) to control file size
  • Handle playlists or select individual items from a playlist

Best practices

  • Keep yt-dlp updated (yt-dlp -U) to maintain site compatibility
  • Prefer explicit format selection like bestvideo[height<=1080]+bestaudio to ensure desired resolution
  • Use custom output templates (-o) to produce consistent, sortable filenames
  • When extracting audio, set --audio-quality 0 for best audio bitrate when available
  • Be mindful of copyright and site terms; use downloads for personal or permitted use only

Example use cases

  • Download best quality single video: yt-dlp "URL"
  • Save a 1080p MP4 to a specific folder: yt-dlp -f "bestvideo[height<=1080]+bestaudio" --merge-output-format mp4 -o "~/Videos/%(title)s.%(ext)s" "URL"
  • Extract high-quality MP3: yt-dlp -x --audio-format mp3 --audio-quality 0 "URL"
  • Download first five items of a playlist: yt-dlp --playlist-items 1-5 "PLAYLIST_URL"
  • Download subtitles and video: yt-dlp --write-subs --sub-lang en "URL"

FAQ

How do I list available formats before downloading?

Run yt-dlp -F "URL" to display all available video and audio formats so you can pick the appropriate format code.

How can I prevent downloading an entire playlist?

Add --no-playlist to the command to force yt-dlp to download only the single video URL provided.